似乎最流行的版本控制系统(例如Git等)允许修改存储库历史记录-这反过来意味着可以很容易地伪造提交/修订的日期。如果有人想回顾一下托管在GitHub上的项目的开发过程,则不会保证所有信息都是真实的。
日期的准确性(以及作者的身份)对于第三方的版权保护和追溯性验证至关重要,因此我一直在想:为使您的代码的在线可用性正确打上时间戳,通常的做法是什么?为了进行类比,Youtube不允许用户更改上传视频的日期,因此很显然可以看到哪个视频是原始,因为潜在的伪造必须直接来自Youtube的开发团队,这种可能性极小,而且很阴谋。
分布式版本系统中是否有任何变通办法来实现这一目标?如果不是,是否有任何在线代码存储区,其中提交日期不可修改,或者存储了内容的上传日期并可供显示?
谢谢您的时间,
VA
这与历史记录重写无关,任何人都可以在他们管理的任何系统上伪造时间戳记。如果您确实需要不可伪造的时间戳,则应将数字时间戳服务的输出放入您的提交消息中,设置起来非常容易,将git write-tree
的输出馈送到时间戳api,等待结果,将其放入消息中。