分布式版本控制系统中的投票机制
1. 引言
传统的版本控制系统中,访问权限是二元的,开发者能修改中央仓库的所有分支,非开发者则无修改权限。分布式版本控制系统(dRCS)能实现更精细的控制,每个用户都可以有自己的仓库和分支。当用户想获取 dRCS 中的最新状态时,需要选择自己偏好的分支。
在许多软件项目中,存在一个事实上的主分支,只有少数开发者可以写入。有时会有代码审查系统,一些审查系统甚至以分布式方式工作。不过,这些设计在处理有争议的内容时效果不佳。
我们希望将 dRCS 的特性,如抗审查、去中心化、变更可追溯性和协作性,应用到政治起草等领域。在这些领域,讨论激烈,部分用户可能会阻碍进程。
现有的 dRCS 可以通过限制各方或个人用户使用自己的分支来实现政治协作,但这样无法达成共识。我们定义共识为文档的一个当前版本,这个版本及其变更历史构成动态主分支。
因此,我们提出对 dRCS 进行扩展,允许大量活跃用户对系统中的最新版本进行民主投票。我们的主要贡献是提出一种算法,该算法能根据提交和投票图计算动态主分支,并在 git dRCS 中实现了该算法。
2. 相关工作
安全电子投票领域有大量研究,但与我们将投票应用于 dRCS 的工作大多无关。代码审查系统的功能与我们的目标有相似之处,但它们更关注提高质量,而非决定仓库的发展方向。我们提出的投票系统与代理/委托投票有相似之处,但我们的用户对版本的投票直接决定结果。
3. 攻击者模型
与常规的 dRCS 不同,我们假设部分用户可能会恶意行事,或强烈捍卫自己的政治观点。现状维护者可能会通过拒绝服务攻击或向 dRCS
分布式版本控制投票机制
超级会员免费看
订阅专栏 解锁全文
2522

被折叠的 条评论
为什么被折叠?



