首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Politeia:Decred去中心化的提案投票系统

我们考虑创建一个被认为是加密货币自治的理想管理系统,而不是仅仅为了完成工作而制作一个普通的管理工具。我们把我们的系统称为存储管理数据系统--Politeia,这是基于古希腊的术语,意思是“一个自治的系统”。 Politeia是一个脱离区块链存储版本和时间戳数据的系统,本质上是“git,一个流行的版本控制系统,外加时间戳”。我们并不是试图把所有与Decred管理有关的数据在区块链上存储起来,而是选择创建一个脱离区块链存储的数据,并将其锚定在Decred的区块链中,从而最大限度地减少链上的占用空间。虽然我们首先将其用作我们投票系统的基础,但它已经发展成一种通用工具,允许其用户在版本控制和时间戳环境中创建和维护任意数据。Politeia可以脱离Decred而被使用,尽管它依赖Decredtime服务器来创建时间戳。除了Politeia被初次发布之外,我们很高兴地宣布2017年12月1日将于德克萨斯州奥斯汀举办一场以Politeia为基础的项目设计比赛,比赛第一名,第二名和第三名将获得相当于10,000美元,5,000美元和2,000美元的DCR。

动机

作为Decred创建的可持续发展、公平的管理体系的一部分,我们提出了“我们应该如何存储与Decred管理系统有关的数据?”这一问题。由于Decred是一个加密货币,因此一个自然的选择就是将这些数据直接存储在Decred的区块链中。然而,正如许多加密货币用户所知道的,这是存储这些数据的一种非常低效的方式。而且,一个管理系统随着时间推移必定会产生一些有争议的内容,所以“我们希望把这些数据直接存储在我们的区块链中”这个问题有一个非常明显的答案:“否”。作为存储在区块链中的替代方案,我们可以做的下一个最好的事情就是将这些数据存储在一个版本控制的存储库中,并用时间戳锚定在区块链中。

Politeia的更大目标是创建一个有弹性的公共记录,模仿典型的国家网站对其治下的分支机构的功能,例如 senate.gov或house.gov。具有可加密验证的公共记录将对Politeia用户保证,对他们的管理将以一种非常透明的方式运行,所有记录均可独立验证,并以难以伪造的格式进行存储。通过使Decred的管理数据以可验证的方式进行时间排序,我们确保从外部或内部操纵Decred管理系统的尝试将比使用传统网站管理方式或类似方法困难得多。

技术摘要

简单的想法是“git+时间戳”,而不是重复发明轮子,Politeia直接使用git进行版本控制。 Git是一个杰出的版本控制工具,但是对于什么时候进行了特定的修改,它仅仅给出了有限的保证。你不需要太费劲就可以使用假的时间戳伪造一个git数据库。正如你可以想象的,这个任意重新创建一个git数据库的能力使得它对于创建一个无可争议的格式来记录数据这项工作来说,是一个不太理想的选择。但是,通过给git添加加密时间戳,我们获得了一种记录不能任意改写的数据的方法。通过使用Decredtime将数据库散列定位到Decred区块链中,然后将锚定数据提交到同一个数据库,会创建一个时间顺序,在计算上不可重现。

存储在git存储库中的锚定数据包括一个事务散列和一个merkle路径,其中merkle路径散列对应到与事务散列对应的事务中包含的merkle根路径。这个事务散列,merkle路径和Decred的区块链是独立验证一个锚点所需的最小数据集合,这表明特定的git提交数据散列存储在其存储库中下一个锚点的时间戳之前。这个时间顺序,结合git的散列提交数据来生成提交散列的标准过程,是展示数据来源(即起源或来源)的一种手段。

在Decred的提案中,我们将限制使用markdown和PNG图片的文字提案。这是为了限制其他更复杂的数据格式带来的潜在安全问题,例如,ZIP或PDF。虽然markdown和PNG格式并不是富有魅力的格式,但它们简单而充分,可以表达任何合理的建议。

由于Politeia需要人工审查提交的提案,我们为新的提案创建了两个状态:未审查和审查。此分类非常有用,因为提交收录的数据可能存在格式错误,包含不恰当的内容,或者在纳入Politeia之前需要满足其他限制条件。每个提案提交都有相应的审查令牌,允许提案提交者公开证明他们的提案被审查通过,如果未审查通过,一个管理者将删除它。这个审查标记能够让Politeia避免现代社交媒体网站中一个更隐秘和常见的做法--即在这些网站上数据被内部审查。通过使用审查令牌,Politeia创建了一个透明的审查程序,所以当被发现不合适的行为时,管理员将被公开对其审查行为问责。

用例

对于Decred,Politeia将为各种提议的评论和利益相关者投票提供一个不可改变的公开记录。尽管Decred将以公共的身份使用Politeia,但它可以提供相似的功能,使其成为一个不可改变的私有数据存储区。版本和时间戳数据的这种通用概念可以应用于许多公共和私人用例,文件和记录存储,信誉和身份识别系统以及供应链。

使用Politeia

Politeia后端目前可用于存储平面文本,markdown和PNG图像。虽然这个可接受的文件类型列表非常短,但可以根据需要轻松扩展以包含其他类型的文件。目前,Politeia支持创建新的用户帐户,新的用户提交的提议,管理员能审查这些提议以确定是批准还是删除它们。

Decred用户期待使用Politeia网页界面来提出意见和提交建议。有兴趣探索Politeia的替代应用程序的开发人员可以使用命令行界面直接与后端进行交互,例如GitHub上的示例。

Politeia的前端

Politeia的后端部分大部分已经完成,但是前端稍微简单一点,并且还在开发中。Politeia的前端是一个使用React和Redux编写的Web界面,以及一个用户管理系统。目前,这个界面还处于非常原始的状态,在接下来的几周内将会有一个稳定的更新。 Politeia前端的设计目的在于将其直接嵌入到我们的GUI钱包Decrediton中。

比赛公告

由于Politeia有许多潜在的用途,由于时间的限制,我们只能合理地探索其中的一小部分,所以我们正在宣布Politeia的其他用途竞赛。比赛将从现在到2017年12月1日,我们将邀请最有前途的竞争对手在德克萨斯州奥斯汀的为期一天的会议上发表演讲。在要求方面,提交文件必须以Politeia源代码为基础,并准备进行简短的公开演示。鼓励参赛者以小组形式工作,无论本地还是偏远地区,每个人都可以注册。获胜者将在奥斯汀会议上公布,奖品将以10,000美元(第一名),5,000美元(第二名)和2,000美元(第三名)直接用Decred支付。因为从现在到奥斯汀会议之间还有大约5周的准备时间,申请者需要在概念证明层面演示软件。这意味着我们期望提交的内容对于表现Politeia特性层面来说必然比较少,但是他们必须证明这个想法在我们的提议系统之外起作用并且具有实用性。为了防止太多同类型的提交,我们建议参赛者联系slack上的用户ingsoc来检查某个特定的应用程序是否已经被另一个竞争对手所使用。

结论

Politeia是Decred致力于提供新颖且高效的管理基本工具的延续。为Decred管理历史创造一个永久的公共记录是朝着更透明和有效的管理方法迈出的重要一步。向Politeia提交的任何被审查的提案都可以被公开证明是被审查通过的,从而为提案系统的管理者提供了问责制。 Politeia有许多潜在的用途,我们很高兴看到参赛者在12月1日提出的其他用途。

如果您有兴趣讨论Politeia,请通过GitHub,Slack,Reddit或我们的论坛与我们联系。

德信币(Decred)中国社区

作者:Jake Yocom-Piatt

翻译:宇宇

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180124G0M2EI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券