LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 一文概述链上治理隐私问题与技术方案

一文概述链上治理隐私问题与技术方案

2020-01-26 链闻ChainNews 来源:区块链网络

原文标题:《区块链治理一瞥》(A glimpse of the blockchain governance system)
撰文:刘玉林与林煌,前者为 DFINITY 高级经济学家,后者系 Suterusu 首席技术官

本文重点关注隐私安全问题。免责声明:本文所述仅代表两位作者本人观点,不代表 DFINITY 基金的官方立场

区块链项目代码随时间进化。为了更新区块链项目代码,不同利益团体如用户,核心开发者和全节点提供者(在比特币系统中为矿工),需要对改变哪部分代码达成共识。由于这些利益相关方之间往往存在利益冲突,这个共识并不容易达成。为了解决这个问题,每个区块链项目都会有一个管理系统来协调参与方冲突,并激励他们为区块链系统的良性发展而一起努力。一般来说,主要有两种区块链治理系统:链下治理系统如比特币和以太坊及链上治理系统如 Cosmos 和 DFINITY。两者主要区别在于投票是否在区块链账本上进行并记录。

在链下治理系统中,核心开发者通过向官方代码中心(如 Github)提交协议更新提案(如比特币更新提案,以太坊改进提案等)。用户和全节点提供商可在社区论坛和社交媒体,如 Slack 频道、Telegram 和 Twitter 上表达他们的意见。如果利益相关方大部分同意协议更新,那么区块链协议将做对应修改。如果他们无法达成一致,核心开发者可以撤销协议或仍然继续按计划更新。这种情况下往往导致硬分叉(如,2016 年以太坊 / 以太坊经典的硬分叉和 2017 年的比特币 / 比特币现金的硬分叉),导致硬分叉的原因在于总是有些全节点提供商不愿意接受协议更新。人们往往批评链下治理机制违背了去中心化精神,因为核心开发者和全节点提供商与普通用户相比有过多的决定权。

链上治理,作为一种更去中心化的治理机制,随着权益证明(proof of stake)区块链项目的发展近几年开始崭露头角。权益证明项目通常使用代币作为筹码来代表投票权和投票力。因此,用户可以在系统中下注代币从而对协议更新决定拥有投票权。与链下治理系统中无限期的辩论相比,链上治理系统通常在做决定时快很多。另外,由于投票规定都是预先制定且提前公之于众的,因此链上管理系统更为透明。决定过程不是被中心化实体所控制或解释的。另外,由于投票规则嵌在系统代码中,协议更新在被批准后自动执行,所以能在很大程度上防止硬分叉。

下面我们大致描述下链上治理系统的几个突出设计问题。

链上管理的设计

提议什么?

提议的可以是被黑代币的冻结,参数改变或惩罚恶意全节点提供商等相关议题。

如何提议?

提交一个提案前,首先必须用一定数量的代币下注。为了激励提交高质量提案,提案被接受后,筹码被退还而且还有可能有奖励(奖金可以来自新挖的代币或由基金会提供)。如果提案被拒,筹码退还但无奖金。如果提案被认为是垃圾信息,则筹码被没收。

先投票哪个提案?

用户可以通过对某个提案下注来背书该提案。吸引最多下注背书代币的提案将被认为是最重要的,且被最先投票。提案被接收后,奖励的代币将部分分给提议者(比如 50%)和背书者(如 50%,和所下筹码数量成比例)。注意相对而言不重要的提案所吸引的背书者往往更少,因此会被推迟投票。由于只有在投票后所下注代币才会被解锁并返还下注者,提议者和背书者在代币下注上都有机会成本。这样设计能防止垃圾提案。另外,系统也可以设置一个能让提案进入投票期所需的最少下注筹码数目(类似于「we the people」白宫请愿协议)。

如何获得投票权及保证投票隐私?

为了在管理系统中获得投票权,用户需要在系统中下注一段时间。这样,用户就成了利益相关方,因此有充分激励理性投票。同态加密技术(具体细节见下个章节)是用于保证投票隐私的一种主流方法。投票加密后保证只有拥有私钥的投票者可以解密。在投完票后进入计票环节。公众仅知道最终解密的投票结果。

如何衡量投票权 / 奖励?

投票权是随着下注筹码数目增加和下注时间拉长而增强的。只有当投票者参与投票时投票者才会获得代币奖励。如果代币持有者不投票,光下注筹码是不会获得任何奖励的。投票奖励激励投票者积极参与区块链治理。

如何代理投票权?

由于投票需要消耗时间精力而且往往需要投票者在某些领域具有专业知识,投票者可以将其投票权代理给其他人(如,密码学家,经济学家,公知,开发者,基金会等)并且可以随时取消代理权(这就是所谓的液态民主)。

谁能投票?

普遍投票机制:任何一个在系统中下注的人都可投票或代理投票权。

随机投票机制:随机选择投票者中一部分人(如 10%)向某个提案投票。这种设计能保证多个投票同时进行,是个可扩展性的解决方案。由于参与投票的人比普遍投票机制少,每个投票对结果的影响更大。因此,被选中的选民有更多的动力参与并慎重投票。缺点是由于选民较少因此更容易发生勾结。所以,充分随机地选择选民对于保证该投票机制成功至关重要。

一方面,参与选民数应尽可能少以降低参与选民的总投票成本(如,研究提案所需花费的时间和资源)。另一方面,参与选民数应尽可能多,以确保投票结果具有代表性并符合多数代币持有者的利益。有一种防止投票结果出意外的方法是评估投票。如果投票结果接近(例如,在 45%-55%范围内),则系统会随机选择另一群比如 5 倍数量的选民来参与第二轮投票。最终投票结果将综合考虑两轮投票的结果。

如何避免投票权集中化?

在现实生活的投票中,资本家可通过资助其偏爱的候选人竞选活动来操纵选举。一人一票的机制很容易受制于这种金钱效应。Cambridge Analytica 丑闻就是一个通过针对性影响社交媒体用户来影响投票结果的例子。区块链治理如果使用代币一币一票,富裕的用户 / 投资者就可以通过购买大量代币来影响投票结果。

使投票权更加去中心化的一种方法是引入灵活的锁定期。用户可以通过更长时间地锁定其代币以获得更大的投票权。例如,锁定 10 个代币 10 个月的用户可以获得与锁定 100 个代币 1 个月的用户相同的投票权。锁定期越长意味着该选民对议案下注越大,因此比锁定期较短的选民更关心系统的长远发展。

使投票权更加去中心化的另一种方法是用一个帐户一票来取代一个代币一票。选民通过填写政府签发的身份信息来注册投票帐户。该系统使用零知识证明技术(在下节中具体说明)以防止滥用用户私人数据。选民仍可选择不注册帐户匿名投票。但是,与那些实名注册的帐户相比,投票权将大打折扣。

投票权将随帐户中锁定的代币数量非线性增加。例如,要获得一个投票权单位,投票者需要在帐户中锁定一个代币。要获得十个单位的投票权,选民需要锁定十个以上的代币(例如,十个单位的投票权需要 100 个代币,即平方投票)。这种设计将降低了代币持有大户的投票权。

下一章中我们重点讨论链上治理的隐私问题。

隐私保护电子投票

链上投票可以看作电子投票的一种。安全电子投票是个被深度研究的密码课题。一个先进复杂的投票系统需要考虑多种属性,如可验证性,隐私,针对虚假指控的鲁棒性(即,如果选举执行准确无误,那么将无法生成证据诬陷选举被操纵)和可用性等 [SR17]。在某些情况下,这些属性可能会相互冲突。

隐私是本章节重点关注的课题,同时也是电子投票系统最重要的属性之一,因为如果攻击者可以准确定位某个投票者如何投票,那么投票者会很容易被贿赂或者胁迫。因此,电子投票方案的最基本要求就是应保证投票保密性和选民匿名性。

目前用于解决投票隐私问题的密码学工具很多,如环签名,盲签名,门限同态加密和混淆网络等。这一章将简单介绍下这些技术。

环签名

匿名电子投票密码方案中文献最多的可能是可链接环签名。环签名首先在 2001 年由 Rivest, Shamir 和 Tauman [RST01] 首次提出,随后 [ES07] 提出可链接性作为一种改进。

数字签名通常假定参与方可通过一个公私钥对识别。环签名方案则允许一个隐藏在随机选取的一群人(或换一种说法,一个公钥环)的签名者生成一个环签名,且环签名不泄漏具体是这个公钥环中哪个公钥对应真正的签名者。因此,它为真正的签名者提供匿名保护。但由于签名消息是公开的,因此该方案不保证投票保密性。

由于环签名隐藏投票者身份,因此,投票者可能会给某个候选人多次投票,从而提高他 / 她被选中的概率。一次性可链接属性确保环中某个私钥一旦被使用两次,就可指认该重复签名并认定该签名非法。

一次性可链接环签名可以通过一种特殊的零知识证明,即成员资格证明(如 [GK15] 中所示)来构造。零知识证明这种协议能让证明者证明某个命题的正确性,且无需透露该命题本身之外的任何其他信息。例如,零知识区间证明方案(如 Suterusu 项目提出的方案 [Lin19])允许证明者证明一个加密的整数属于某个区间,例如 [0,1],但不会泄漏它是哪个整数。换句话说,在不泄漏其为 0 或 1 的情况下,验证者在读完证明后将确信该整数是二进制的。

盲签名

另一个密切相关的密码技术是盲签名 [C82,FOO92],但它需要一个初始化的注册阶段,这个阶段往往由某个群管理员负责。这意味着投票过程需要选民与管理员互动,以便选民从管理员那里获得无法追踪的空白选票,并以加密 / 盲签名的形式投票。盲签名能保证选民匿名性,投票保密性和一次可追溯性。但是,在区块链中使用盲签名时需要使用门限盲签名技术来防止群管理员权力集中。注意,这里的「门限」是指使用门限密码学以多个管理员来取代单个管理员。如果大多数管理员忠实执行协议,就可以保证投票者的匿名性和投票保密性。

门限同态加密

加密方案将明文转换为随机字符串来保证其保密性。消息加密后,必须首先解密密文,然后才能对消息做操作(例如求和)。但是,在某些应用场景中,执行操作的人员不一定适合知道所加密的明文信息。例如,计票人员只需知道候选人所获投票总数,而无需知道具体单个用户的投票。同态加密是一种特殊的加密机制,它允许获得密文的任何人同态地执行所需的操作,这意味着可以在无需解密同时对底层消息执行操作。

如果每个投票者对某个候选人或声明的投票使用同态加密方案加密后,计票员则能无需解密单个投票密文并同态地生成最终投票计数的密文。

注意,一个恶意投票者可以通过加密一个较大的正数(或负数)而不是二进制的投票来增加(或减少)其所偏爱的候选人(或其对手)获胜(或落选)的机率。因此,基于同态加密的电子投票方案通常需要同时执行零知识区间证明,该证明可以证明加密的投票数是二进制的,而无需透露具体的投票值。另一个问题是,拥有同态加密方案私钥的任何实体都将能够解密所有单个投票。因此,通常需要使用门限同态解密机制以将解密能力去中心化。

混淆网络

混淆网络使用多个独立的服务器来洗牌输入的选票密文并输出明文选票。不过必须假定这些混淆服务器中至少有一台诚实地执行秘密置换操作,以保证投票者匿名性。

更具体地说,混淆网络通常采用多层加密对原始投票加密,每层加密对应一个公钥,每个公钥对应于中间一个混淆节点。每个中间的混淆节点将接收多个密文,并使用其私钥解密,然后随机洗牌后将消息发给下个节点执行相同的操作。因此,只要其中一个混淆节点忠实执行协议,就能在一定程度上保证投票者匿名。但是,由于最终计票员收到的是明文投票,因此混淆网络不能保证投票本身的保密性。

下表比较了这些技术的利弊。

电子投票方案比较

讨论

区块链项目是随时间进化的复杂系统。他们的治理往往取决于所制定的治理规则以及定义如何更改这些治理规则的规则。在设计治理规则时,需要牢记以下几个问题:如何定义有效选民及其投票权?谁可以发起提案?什么样的提案才有资格引发投票?如何定义投票结果?法定选民人数是多少?如何更改投票规则?

归根结底,问题核心在于:如何设计一个能保证区块链项目长治久安的治理系统。成功的秘诀是让大部分参与者的利益与项目的利益保持一致。

—-

编译者/作者:链闻ChainNews

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...