文摘
在构建大规模分布式决策基于移动终端设备的控制系统(mtd)、电子投票(投票)是一个必要的各方之间的技术来解决争端。由于互联网固有的不安全感,投票,很难达到完全公平和鲁棒性。在这项研究中,我们认为比特币区块链提供了一个更实际的电子投票的更好的选择。我们首先提出一个硬币mixing-based电子投票系统模型,它可以切断选民的真实身份之间的关系和它的比特币地址来实现强大的匿名性。此外,我们设计一个秘密共享的电子投票协议,它可以防止投票数量提前泄露,进一步实现强鲁棒性。我们建立的安全理论证明其安全性。此外,我们使用实验评价来演示它的效率。
1。介绍
1.1。背景和动机
在过去的两年里,移动边缘计算(MEC)的快速发展给移动终端设备(mtd)更多的计算和通信资源(1,2),生产的前景基于MTD大规模分布式决策控制系统。例如,MTD的移动服务,医疗智能诊断系统允许多个医疗团队在任何时间和任何地点进行咨询,可有效缓解区域医疗系统的负担造成的紧急灾难(例如,COVID-19);随着MTD越来越广泛,智能物业管理系统鼓励更多业主直接参与社区事务,有利于降低管理成本,以及管理质量的提高。众所周知,在分布式控制系统决定,解决各方之间的纠纷是一个重要的任务。例如,在多学科团队模型(联合化疗)的诊断治疗,医生在对患者治疗方案通常有一个分歧;在物业管理中,不同所有者通常有不同的偏好,而其中,很难达成协议。在这种情况下,电子投票(投票),作为一种常见的解决这类争端的手段(即。,collecting the wish of each individual to evaluate group overall preference), is a necessary technique when building the large-scale distributed decision control system.
提高决策质量,除了选票计数的正确性,网上投票仍然需要确保投票的保密和保护选民的身份隐私。然而,由于互联网的固有的不安全感,对攻击者很容易破坏电子投票的公平和泄漏选民的身份隐私。例如,在防御25,黑客可以轻易进入投票系统篡改数据(3]。这将构成严重的安全风险对整个分布式控制系统决定。区块链的出现,然而,提供了一个新的有吸引力的选项支持投票服务在互联网上向4]。它提供了一个机会来设计一个电子投票系统,满足上述要求。例如,每笔交易可跟踪性的区块链增加投票结果的可验证性的可行性;与交易的透明度,blockchain-based网上投票将配备open-audit能力;区块链的防伪特性可以有效地改善投票的选民的信心;区块链服务的使用率自然提供激励鼓励组织者部署投票服务(5,6]。众所周知,比特币,使用最广泛的电子cryptocurrency,它的成功归功于它的在线交易平台是建立在区块链。在这方面,帮助降低成本,传统投票解决方案迁移到的比特币平台变得更加自然和实用的选择。
然而,在实施电子投票Bitcoin-enabled两个挑战,特别是如果我们还考虑决策控制系统的开放性和景观的不断发展的威胁。(我)匿名。窃听选民的身份隐私,进一步改变自己的决策影响公平的选票,攻击者可能想在区块链交易方的真实身份。比特币允许输入或输出地址不与用户的真实身份进行交易,但复杂的黑客仍然可以推断出他们的身份通过交易数据的聚类分析。在这方面,比特币是伪匿名。保证匿名的选民在投票过程中,尽管一些相关的基于零知识证明计划提出了加密(或双信封7,8),身份泄露隐私仍然可以通过分析voter-ballot关系,一旦宣布投票结果。因此,如何提高匿名性,以确保公平成为我们的第一个技术挑战。(2)鲁棒性。追求自己的利益,甚至不惜牺牲别人,肆无忌惮的候选人会绕过电子投票系统来影响选举的结果。例如,非法获得更多投票权,股东可以建立许多虚拟选民;诱导选民做出抽象的判断,攻击者可能窃听和公开投票,投票过程中任何候选人已收到。最近,网上投票有更多的研究,但研究其鲁棒性一直是被忽视的。例如,杰森等人利用预付比特币卡作为投票权,但是不要给人一种安全的方法分配他们(9];Bistarelli等人介绍标记选票,可直投预计候选人投票过程信息的泄漏的成本(10]。因此,网上投票决定控制系统包括一种机制来抵制这种行为不正当的候选人,这成为我们的第二个技术挑战。
1.2。提出了方案
提供一个更好的电子投票服务和解决上述问题,我们提出一个更安全的Bitcoin-enabled称为BEvote电子投票方案。与现有的类似的工作相比,BEvote试图实现的功能如表所示1。特别是在我们的方案中,我们引入一个硬币mixing-based系统模型中,比特币被视为投票和买方和卖方在一个事务中,分别代表候选人和选民。为了实现强大的匿名,我们使用硬币混合技术切断选民的真实身份之间的关系及其比特币地址在投票之前,同时,这个匿名地址将用于整个投票过程。减少成本,提高信誉,我们使用比特币区块链投票数据存储和执行预设条件。继续投票数私人在整个投票过程,从而达到强鲁棒性,我们采用联合沙米尔随机秘密共享技术,可以使安全分发到每一个选民的投票权。本研究的贡献被认为是以下三个方面:(我)拟议中的BEvote抽象比特币交易的投票过程。同时,硬币混合用于单独的比特币地址从选民的真实身份,实现强大的匿名性。(2)我们设计一个秘密共享的电子投票协议实现的安全分配投票权,可以防止泄露的投票数。(3)我们使用安全分析证明BEvote的匿名性和鲁棒性。此外,我们进行全面的模拟来展示它的效率。
本研究的其余部分组织如下。部分2介绍了相关的背景材料和相关文献。部分3描述了我们的整体设计方案,然后指出它将面临什么特定的威胁。部分4提出了一个安全的电子投票协议来解决这些问题。部分5和6分别进行安全分析和仿真评估。部分7总结了研究。
2。背景和相关文献
2.1。电子投票问题定义
使各方达成共识的重要问题和采取行动来保持一致性,电子投票(投票)遵循少数服从多数的原则,根据选民的选择结果。假设有候选人 和选民 。网上投票需要实现的功能选民选择匿名赢家之一候选人,至少这个赢家获得标准选票。投票过程 可以形式化如下: 在哪里在候选人和用于投票吗用于收集选票和生成统计数据。鉴于 ,当 ,我们有冠军 。(我)匿名。保护选民的安全,他们的身份不应该显示在投票阶段。(2)有效性。如果对手往往会掩盖他们的身份系统角色(例如,选民或候选人)试图参与投票,必须有一种机制来识别这些伪造的角色。(3)鲁棒性。在任何情况下,选民不能持有表决权超过自己的计算也被认为是必要的。因此,我们需要阻止女巫攻击和伪造选票。(iv)公平。防止偏差,是否选民和候选人,他们无法知道投票结束前。(v)Receipt-free。为了防止投票贩卖,贿赂选民无法证明他们的候选人提前投票的权利。(vi)可验证性。考虑到复杂的攻击者可能篡改候选人的身份信息,整个投票过程可以由任何验证实体。(七)可伸缩性。与决策控制系统的规模扩大,选民和候选人号码都不应限制性能问题。
2.2。相关工作
近年来,随着分布式决策控制系统有更受欢迎,电子投票的问题已成为一个研究热点。到目前为止,已经有几个电子投票方案被提出来。例如,Chaum等人提出了一个电子投票协议,提供一个安全的传输方案投票使用Web应用程序(如电子邮件13];Adida等人提出了一个open-audit投票系统,任何愿意观察者可以审计的整个过程14];和Chondros等人利用分布式子系统来解决单点故障问题,网上投票(15]。此外,薇罗尼卡等人解释了可验证性概念的电子投票协议(16]。尽管如此,可能贿赂选民,共谋攻击,这是一个在技术上无法解决的社会难题。Benaloh等人提出的概念receipt-free遵守,这从一定程度上可以防止勾结(17]。由于缺乏一个受信任的第三方,上述方案难以实现效率与公平的投票。
区块链技术的诞生以来,其匿名性和公开可验证性已经被证明满足安全多方计算场景的需要(18]。电子投票期间,需要多方共同做出决定没有透露隐私的选民和选票,这是一个典型的安全多方计算场景中(19]。到目前为止,已经有尝试设计电子投票方案基于区块链平台,包括Ethereum和Zcash [20.- - - - - -23]。众所周知,比特币区块链的最高地位难以动摇,尽管其他现有的区块链平台在某些方面有更好的技术特点。这也是上层协议的主要原因如比特币闪电网络优化和增强了比特币的性能和功能仍然蓬勃发展(24]。因此,本研究主要关注投资Bitcoin-enabled电子投票方案。
取决于硬币混合使用,现有Bitcoin-enabled电子投票协议被归类为“硬币混合”或“没有硬币混合。”
2.2.1。没有硬币混合Bitcoin-Enabled电子投票方案
赵等人早些时候利用比特币区块链设计一个电子投票协议(7),这就需要额外的阶段分发秘密随机数zk-SNARKs通过零知识证明算法。然而,这对两位候选人只能分布随机数,从而导致协议只支持1时(2投票。此外,所有选民需要构造一个揭示事务投票之前,这是对公众公开。因为同事与选民的选票,候选人可以知道任何选民投他的票,导致匿名的损失。杰森等人提出了一种包含预付比特币卡的地址和对应的私钥,监管机构可以将中国人民银行的一个信封时发布,以确保它不能追溯到选民(9]。然而,这种分配方式物理对象的初衷背道而驰投票,节省人力和材料成本。此外,可以使用的电子虚拟卡,但未能想出一个计划,保证卡片的匿名分布。此外,它不能阻止不诚实的员工披露相关信息卡片和选民,并满足的要求匿名投票。Adiputra等人提出了结合比特币区块链电子投票和双信封加密技术(8]。但是,生成的公钥加密所有选票选举委员会只能保证匿名的选民在投票过程。一旦选举委员会发布的私钥,选民和选举有关。因此,这个计划有严重的匿名性问题。此外,比特币无法挽回,即使投票失败,因此,鲁棒性很差。此外,我们协议的电子委员会相当于主管负责太多的任务,导致该计划过于集中。张等人提出了chaintegrity协议。它利用盲签名以确保匿名性,只能用于许可链没有交易费用(25]。预付的原因是交易费用可以关联到用户的身份。此外,所谓的独立于平台的特性是不成立的,因为它不支持无许可blockchains,尤其是比特币。总之,硬币混合是必要Bitcoin-enabled电子投票方案。
2.2.2。用硬币混合Bitcoin-Enabled电子投票方案
Bartolucci等人设计了一个基于股份的区块链投票方案称为SHARVOT [11),利用圆洗牌混淆选票和选民的身份之间的关系。然而,考虑到比特币交易数据协议的大小是有限的,P2SH脚本对应于每个投票的解锁条件承诺事务需要包含所有的候选人获得的选票,这使得P2SH脚本中使用的签名的只有15公钥的位置。这意味着,排除两个必需的公共关键职位,最多13选票可以放置,导致 最大数量的选民之间的限制和候选人的数量 。这也限制了最大数量的股票来重建私钥13。这些限制使SHARVOT无法满足多个候选人和多个选民的要求。Takabatake等人采用Zerocoin协助比特币提供匿名投票,其中Zerocoin可以用来获得0知识承诺之前,它可以用来交换一个新的比特币地址(12]。然而,Zerocoin区块链与比特币不兼容。使用两种blockchains会大大增加实际操作的复杂性。此外,投票是比特币的直接放置在OP_RETURN领域输出脚本。所有的选票需要检查计算的赢家。效率较低时,投票规模更大。Bistarelli等人提出了一个端到端的比特币投票平台,它利用匿名Kerberos隐瞒之间的关系的身份和比特币地址,以及使用令牌代表选票(10]。然而,选民直接发送令牌候选人通过一个公共比特币交易将导致严重后果。因为所有事务不能被包装成新块矿工同时,选民可以知道当前数量的任何候选人的选票数量的标记。投票的泄漏情况极大地损害公平的投票。总之,上述方案并不适用于大规模分布式决策控制系统由于其匿名性和可扩展性不足。
3所示。Bitcoin-Enabled电子投票方案
在本节中,我们介绍了系统模型和系统组件的功能。之后,我们现在所面临的潜在威胁BEvote和推迟他们的解决方案3。表2列出了符号在我们的纸上。
3.1。动机和假设
我们利用比特币区块链平台实现投票。可验证性和可伸缩性需求都视为电子投票的主要限制因素在大规模分布式控制系统决定。然而,随着时间的推移,技术的进步增加了大规模的电子投票方案的可行性。随着传播区块链的安全多方计算,研究人员开始提出blockchain-enabled电子投票,数字交易过程抽象为一个投票。在传统的投票中,很难同时实现高可用性和公开可验证性。然而,由于区块链的可追溯性,它们是现成的。更进一步,让更多的人参与投票并验证结果,比特币区块链,作为公共交易平台日常业务事务高达5亿美元,是一个很好的选择。在这方面,电子投票也可以保证的可伸缩性。此外,事务服务的使用率本质鼓励比特币投票服务平台支持。因此,不仅是技术上的声音也在经济上比迁移投票,比特币区块链平台。
我们协助BEvote作一些假设的设计,其中一部分已经目前区块链技术支持的,而另一些能满足通过现有的研究:(1)我们假设该区块链生成新块以固定的间隔没有叉子。(2)我们假设区块链中的数据总是公共可审计的,而整个事务历史总是可以读。然而,只有在有效的事务提交和获得的共识是区块链可以写。(3)我们假设没有一个对手可以摧毁区块链的工作证明共识机制。这意味着数据不能被篡改。
3.2。系统模型
尽管比特币区块链采用假名机制,试图实现交换匿名安全,复杂的攻击者仍然仅利用简单分析技术分析中透明地记录所有交易链条中的任何一个节点,可以推断出交易各方的真实身份。在这种情况下,直接利用比特币区块链不能保证强大的匿名电子投票。解决这样一个问题,硬币混合成为自然选择,提供一个服务就是把比特币的所有权中断交易方的互连。然而,传统的硬币混合通常涉及一组链节点作为中间人,然后让他们将多个事务结合到一个事务,显著影响其可伸缩性、考虑比特币的最大事务大小。很明显,它并不适用于大规模的电子投票系统,因为一方面尺寸小一点的匿名集不能支持强大的匿名电子投票和另一方面大型计算开销降低效率的投票。为此,我们提出了一个可伸缩的硬币混合方案(26,27),将交易过程分解成转移阶段和支付阶段。前存款交易中间人指定比特币并进一步削减这些比特币和卖方之间的联系;后者指定另一个中间人推动比特币的买家,然后偿还这个中间人的比特币混合后结束。在这一过程中,我们不仅可以提高匿名集的大小,而且可以提高执行效率,从而满足大规模混合比特币的要求。在此基础上,我们将这些硬币混合嵌入电子投票方案。
在Bitcoin-enabled电子投票,每个投票可以抽象为一个事务,选民和候选人可以被视为买方和卖方,分别。此外,选民需要两个中断其互连的候选人投票之前,这可能促进隐瞒选民的身份在整个投票阶段。此外,出于优越回报,丰富的混合链节点是愿意提供服务和作为 。同时,为了实现灵活性,任何系统的作用是允许输入或在任何时候退出。在这种情况下,与分权相比,一个完全集中式结构更为高效,可以降低管理费用。遵循这些原则,如图1,我们设计一个三层基于硬币混合系统模型。在数据持久化层,所有与选举相关的状态信息(包括过程和结果)将记录在比特币区块链;在业务层, , ,和 ,作为合作伙伴,将会安排在一个固定的顺序,实现投票任务;在管理层次,所有系统的角色应该集中控制。(我)主管提供了功能验证每个请求者的资格,包括 , ,和 。它将保持成员列表为每个系统的作用。一旦监控任何不良行为,它排除了这个从相应的成员列表。此外,它还提供了推荐服务 。一般来说,它是由政府授权。(2)选民是可以获得投票权。这意味着它可以生成选票和投票所需的候选人。(3)候选人是做的人投票。投票结束后,大多数选票的候选人获胜。(iv)搅拌机提供功能隐藏选民的身份,用于主机选民的比特币,和交易用于转移他们指定的 。(v)比特币区块链利用作为数据存储基础设施。它将记录所有相关信息的状态以匿名且不可篡改的方式投票。
理想的网络环境下,工作流BEvote可以表示如下:(我)步骤1。注册:每个参与者需要提交注册请求 。只有成功注册可以提供相关的功能。(2)步骤2。迷惑选民的身份:每个有两个比特币地址:一个原始地址包含比特币和全新的地址没有比特币。将其身份与他人,这度假村硬币的组合策略,进一步从原始地址到新地址传输比特币又不留一丝痕迹。因此,新一是匿名的。(3)步骤3。生成选票:每个使用的公钥加密的信息生成选票。(iv)步骤4。构建投票事务:每个利用脚本的比特币协议来构建一个投票事务。有两种开启事务的输出条件:执行与选票的 ;另一个是执行的超时后本身。(v)步骤5。收集投票:搜索投票事务的比特币根据匿名区块链列表,然后解密私钥的选票,计数。只要有一个获得足够的选票在超时之前,投票成功。后来,构造赢得事务收集的所有选票的赢家。与此同时,那些没有投票给获胜者需要构造退款交易开启对应的比特币交易和救赎。相反,如果没有候选人获胜,投票失败。每一个打开其交易和兑换硬币。
3.3。选民的身份困惑的策略
在投票来迷惑其身份,需要申请和硬币混合服务,以转移其比特币从原始地址匿名地址没有任何痕迹。图中所示2的主要原理,硬币混合可以表示如下:当收到请求,混合随机选择两个较低的负载和推荐 ,哪一个是托管和另一个是支付 。首先,构造一个传输的比特币的事务托管第三方地址。一旦确认这笔交易,托管用券需要回复。第二,直接转发这个支付凭证,需要它来构造一个新的事务,转移相同数量的比特币的私有地址 。最后,给比特币支付收回成本,后任务完成。看着整个过程,我们可以很容易的找到一个漏洞的身份仍然会暴露在任何隐私勾结敌人。在这方面,我们引入了群盲签名和利用其不可链接性特点切断这些之间的互连 。
为每个注册 , 指定一组证书吗 和一个第三方地址,是一个双线性对和表示所有权的证明的私有地址。与此同时,它释放列表 在区块链平台上。下面,我们详细说明混合群盲签名的硬币。
步骤1:在已经注册成功,它立即记录当前时间 。当接收到推荐的 ,它发送一个混乱参数信息 到付一个匿名的频道,是最后期限提供凭证这是最后期限提交 。第二步:一旦支付接受消息 ,它发送消息 来在匿名的频道,随机数,表示支付的私钥 。步骤3:在此期间,发送一个混乱参数信息 的主机 ,在哪里是最后期限提交比特币交易和是最后期限执行群盲签名。第四步:一旦托管接受消息 ,它发送 , 来 ,在哪里表示托管主机的地址和表示的私钥托管 。第五步:当收到 , 结构的事务 之前的时间点和传输的比特币原来的地址托管主机的地址 。然后,它发送一个签字的消息 的私钥的主机暴露在区块链平台,的所有权的证明吗来和表示支付的公钥 。第六步:当主机接收消息通过区块链平台,它需要完成以下验证:(1)的交易数量是否是 ,在哪里是固定面额的事务,(2)是否没有被使用。一次是验证,托管盲人SKLOGLOG执行协议和盲目SKROOTLOG协议之前的时间点 ,整个执行过程,同时,将暴露在区块链平台上。的细节,请参考参考。28]。然后,它发送消息 来暴露在区块链平台,是一个任意大的价值。第七步:在收到消息 , 计算 和 并进一步获得群盲签名 的凭证 ,在哪里是引用二次剩余的协议,循环群的发电机,循环群的单位元素,是小组成员的关键。然后,它发送一条消息 , 到付并将其发布时间点之前在区块链平台上 。第八步:支付接收消息通过区块链平台,它需要完成以下验证:(1)是否 的群盲签名是吗 ,(2)是否还没有使用,(3)是否等于在步骤2中协议签名,和(4)是否没有被使用。当验证完成后,支付构建外汇交易 之前的时间点和传输的比特币支付的私有地址到的匿名地址 。
可以定期审计混淆数据记录在比特币区块链平台来检测恶意和惩罚他们。例如,通过审计托管的承诺, ,懒惰的行为检测;通过审核支付的凭证 ,检测到拒绝服务的行为。
3.4。投票事务建设策略
比特币区块链平台,脚本是常用技术构建投票事务(29日]。一般来说,每个事务可以包含多个输入和多个输出脚本,脚本的每个输入脚本与源的输出脚本相关联交易coinbase事务。在BEvote,我们采用P2PKH脚本和结合P2SH脚本。前者可以提供检查锁定时间验证(CLTV)算子。其输出脚本只存储公钥的散列值,并输入脚本存储公钥验证它是否匹配的散列值。后者使用赎回脚本存储单个或多个签名的公钥。假设有公钥,至少签名的公钥必须提供对应没有用完的事务的输出。其输入脚本必须给所有的私有密匙和序列化赎回脚本。
我们用一个例子来说明投票事务建设。作为显示在图3,有一个投票事务投票。它的输出是比特币,输入地址是匿名的比特币的地址 。输出脚本是基于一个操作符。这意味着事务输出可以解锁只有满足下列条件中的任何一个。
条件1。将执行的吗 ,的投票记录P2SH脚本。当创建一个结合P2SH UTXO,用户首先需要生成一个赎回脚本存储所有的公共密钥。比特币的协议,PUSHDATA操作基于堆栈的语言限制了最大可达520个字节的数据;因此,赎回脚本只能15公钥在这个限制。脚本形式如下: 然后,HASH160算法来生成一个20字节长这个脚本的散列和一个输出创建脚本如下: 数据也可以存储在P2SH脚本,脚本和闲置公共密钥比特赎回只是替换数据。例如,如果有数据 , ,救赎脚本形式如下: 在BEvote,赎回脚本对应于第一个解锁的条件输出脚本包含公钥的并存储选票 。它可以解锁的私钥 。的形式结合脚本如下: 脚本的输出存储20字节的散列值HASH160算法计算的形式:
条件2。添加的时间锁P2PKH脚本。CLTV可以定期输出锁的事务,而不是锁定整个事务。在事务中使用CLTV操作符输出,它可以限制输出指定的时间后才解锁。例如,爱丽丝转移到鲍勃,通常使用一个输出脚本P2PKH的形式: CLTV用于锁一段时间;假设2个月,时间可以设置为当前块高度+ 8640(块)或当前Unix纪元000 + 5184(秒)。超时后,P2PKH事务可以解锁Bob使用自己的私钥签名: 在BEvote P2PKH脚本的第二个解锁条件输出脚本包含选民的公钥 ,它被锁定在一段时间内使用CLTV操作符。超时后,选民可以使用他的私钥签名来解锁。锁定了一天时,形式如下:
3.5。潜在的威胁
上面的稻草人设计将面临以下在现实环境的潜在威胁:(我)女巫攻击:攻击者非法获得更多投票权,可能产生多个比特币地址伪造的身份。(2)过早泄漏的选票:生成选票的机会,不规矩的内幕5月公开投票选举尚未关闭。
解决这些威胁和增强其健壮,我们设计出一个安全的投票协议部分4。
4所示。安全的电子投票协议BEvote
在本节中,我们描述一个安全的电子投票协议在BEvote抵御上述威胁。
4.1。概述
建立一个有效的对策,我们需要分析这些威胁的原因。首先,比特币区块链平台的开放性及其多地址分配使得黑客有可能打造众多虚拟 。在这种情况下,越来越多的进入壁垒将有效抵御女巫攻击。因此,添加身份验证功能的电子投票协议是必要的。第二,为了避免过早泄漏的选票 ,投票事务只可以解锁那些获胜的候选人;即。,they at least gain选票。因此,有必要设计一个可行的加密政策投票事务。
由这些原则指导,首先设计一个认证基于公钥加密,防止虚拟 。其次,我们引入联合沙米尔随机秘密共享(joint-RSS) [30.),实现共享一个秘密来参与者,任何或多个参与者可以恢复秘密 。它主要包含以下步骤:(1)每个参与者选择一个秘密和构造一个阶多项式 。(2)每个参与者需要数字 和替代成多项式 。参与者仍然是其中一个,然后发送到休息参与者。(3)后 接收发送的剩余参与者 ,它是总结分享 。
任何或多个参与者可以利用股票的集合恢复的秘密通过拉格朗日插值公式 。通过将这些技术集成到基本BEvote,我们提出一个安全的电子投票协议,和图4显示了其总体描述。首先, , ,和使用公钥加密算法注册实现比特币的正确的验证地址。其次,获得一个匿名地址通过身份混乱的策略。第三,与匿名地址,秘密共享在AVL执行联合沙米尔随机获得秘密股份并生成选票。第四,构造投票事务和广播的比特币区块链平台。第五,每个在区块链搜索投票事务收集秘密共享存储在投票如果成功解密。如果收集足够的秘密分享,赢得事务构造;否则,构造一个退款交易。
4.2。详细描述提出的协议
有五个步骤在我们提出的协议。实现细节可以说明如下:在步骤1中, , ,和 ,分别注册 。(我)每一个提交的比特币地址 ,公钥和身份信息(包括身份签名) 。后回顾了身份信息和验证签名对应 ,它分配一个的数量,并将其添加到私人选民名单。(2)每一个提交的公钥 和身份信息 ,在哪里其私钥和吗是椭圆曲线的基本观点。在被审核 ,候选人列表构造和出版。(3)每一个向监管机构提交身份信息,然后,问题一组证书后它已通过审核。在步骤2中,每个利用身份混淆策略获取匿名地址。然后,匿名的选民名单。在步骤3中,利用匿名比特币地址执行联合沙米尔随机秘密分享为了获得秘密的股票。(我) 选择一个秘密值构建一个阶多项式 。(2) 需要数字 和替代品的多项式。然后,结果被发送到剩下的吗 。每一个需要总结数据获取私钥 。为了构建正确的P2SH脚本广播投票信息,对应的公钥私钥需要计算。然后,公共密钥份额 计算和寄给其他合法吗 。(3)当收到剩下的公钥股票 ,一个完整的公钥 构造。后来,每个利用公钥他支持的候选人加密的秘密份额和生成选票。例如,如果一个票的 ,投票的形式 。在步骤4中,我们需要把秘密分享分享选票和改变第一解锁条件秘密共享的私有密钥。赎回脚本第一个解锁条件包含的秘密共享的公共密钥并存储选票 。它可以解锁利用相应的秘密共享的私钥签名。这样的形式结合脚本如下: 在步骤5中,收集自己的选票获得秘密共享的股票。的查询根据交易记录区块链的所有地址 ,检查公众投票在P2SH脚本中,然后试图解密与他的私钥反过来。成功解密获得私钥可以分享和候选人的身份号码 。这取决于收集足够的选票中包含的秘密共享在超时之前,有两种情况:(我)投票成功。如果一个成功地收集或更多的私钥的股票 ,秘密共享的私有密钥 由拉格朗日插值公式可以重建。的可以构建一个成功的事务为每一个投票事务或使用多个投票事务的输出作为输入的一个成功的交易。用于签署每个输入解锁投票事务输出脚本的第一个条件。所有UTXOs得到投票事务。其他实体可以验证取得足够的秘密分享,成功地重建的私钥,并赢得投票通过查询赢得交易记录在区块链。输入脚本的一个成功的交易的形式打开UTXO P2SH投票事务。一个签名的和一个序列化赎回脚本是必需的: 。(2)投票失败。如果没有得到足够的有效选票重建的秘密共享的私有密钥 ,投票失败。这个投票协议使用比特币的时候锁脚本设计一个安全的回滚机制。甚至在投票失败的事件,提交的比特币仍然可以赎回。所有获得比特币再次投票。只有当时间超过TCLTV运营商的第二个解锁条件将会失效。T超时时间投票表示同意投票。它可以阻止选民将比特币之前失败。在那之后,每个构造一个退款交易并返回 比特币原匿名地址 。这个事务输入投票事务输出脚本的第二个条件,利用私钥签署的选民。
5。安全分析
本节主要分析BEvote的有效性和鲁棒性。特别是,我们关注的是证明其有效性的特点,健壮性、匿名性、公平、可验证性和receipt-free。
定理1。(有效性)。只有有效的实体审查可以参与投票,这保证了结果的可信度。
证明。在投票之前,需要证明他们有足够的比特币投票,和将检查身份信息的有效性 , ,和 。虽然有效的获得了通过混合反叛乱战略而切断之间的物理连接和真实身份,将包含在 。而在pre-voting阶段,只有有效在可以执行joint-RSS获得私钥股票构建选票。在投票阶段,只有事务由地址被认为是有效的。
定理2。(鲁棒性)。该系统具有一定的容错抵抗攻击和避免错误。
证明。 未通过审查不会出现在医生失踪,无法参与秘密分享获得的股票。所以,是不可能构建一个有效的选票或启动一个女巫攻击通过生成多个比特币地址。选票不按照协议规定的格式,以及选票构造使用假冒股票,不能重建的关键 。因此,选票将被认为是无效的。可能使用相同的共享密钥构造多个投票的目的更多的投票权,但开放的比特币交易脚本确定可以找到这样的行为负责。这种行为也意味着事务中脚本的字节数会增加,这将导致交易费用增加需要支付,将在一定程度上抑制。因此,伪造选票是徒劳无功。此外,外部的敌人可能发动拒绝服务攻击对系统节点试图影响投票过程和结果,但它将防止比特币的分布式对等网络。同时,外部的敌人将会发现如果他们试图参与投票通过将自己伪装成系统人物因为他们的比特币地址还没有看过的并不是在公共列表。
定理3。(匿名)。匿名应该满足为目的的保护隐私的选民。
证明。这电子投票协议实现发送和披露的目的选票投票通过附加数据事务脚本。在硬币混合阶段,实体匿名比特币地址之间的关系和选民被切了下来。因此,在混合硬币之后,执行期间是匿名的秘密分享和参与比特币交易。与此同时,券交易所之间的多个方法在混合硬币避免单一的可能性泄露用户信息。
定理4。(公平)。不能影响决定的选民投票的公平协议。
证明。每一个的私钥只是属于自己投票前,与彼此不同。秘密分享和考号投票是由公共密钥加密的选中的候选人 ,和只支持有私钥对选票进行解密 。由于使用匿名比特币的地址,不能把选票和的真实身份。这些设计使它不可能和了解当前选举形势或影响的决定 ,确保公平的投票。
定理5。(可验证性)。任何实体都可以验证投票过程和结果即使协议的执行已经结束。
证明。在我们的协议,可以查询候选列表和其他实体匿名选民名单公布的监管机构来验证的合法性和 。在投票阶段,投票记录在事务和比特币区块链上的所有交易记录是公开的。只有在收集足够的秘密份额重建秘钥,他可以产生一个成功的事务和btc撤军。其他实体查阅交易记录存储在区块链,首先确认序列化赎回脚本UTXO的散列值匹配,然后检查签名的签名是否符合解锁条件来验证确实足够的选票来重建的关键并赢得选票。
定理6。(receipt-free)。这意味着投票设计需要确保选票不能证明提前发送特定的选民。
证明。这个协议切断了匿名比特币之间的联系地址和真实身份在硬币混合阶段;因此,不能提前给第三方证明他们有投票的权利。与此同时,在投票阶段,需要执行joint-RSS获得股份。分享共同投票产生的随机发送的所有参数 。没有办法向第三方证明特定的选票将生成。这些措施使它不可能提供的证据提前投票给第三方,保证协议receipt-free。
6。绩效评估
在本节中,我们主要是评估BEvote的效率。我们第一次使用理论分析看它的计算和通信开销。然后,我们构建仿真平台执行广泛的实验。
6.1。理论分析
在BEvote,有三个关键阶段影响其效率,包括令人困惑的身份,生成选票,构建投票事务。考虑到BEvote利用比特币区块链存储基础设施平台,第三阶段的效率取决于这些区块链的吞吐量。众所周知,比特币闪电的快速发展网络大大提高交易速度(24),因此,绩效评估对于投票事务建设是没有必要的。在这种情况下,我们关注的是调查前两个的效率。当选民需要混淆他们的身份或生成选票,主要执行战略和joint-RSS身份混乱。因此,我们分别评估他们的效率31日]。
的的身份困惑策略包含三个部分:审计注册、身份的困惑和混乱。考虑到模块化的乘法操作模幂运算操作两个耗时的操作,我们主要集中在分析此类操作的数量在每一个部分。表3显示了理论分析的结果。显然,大多数的计算开销集中在混乱的阶段。原因是这两个和需要计算群盲签名和RSA签名。
我们利用传输的数据量在选票代阶段估计通信复杂性。关于joint-RSS,需要传输位的选民。后来,每个参与者计算位 和广播。因此,有 传输和 一些广播开销。表中列出的通信开销估计4。的 有些开销是每一个负担得起的,而总 一些琐碎的当前网络开销。
6.2。实验分析
仿真利用Java语言,借助JPBC图书馆实现椭圆曲线组的操作和使用多个线程来模拟多个选民(32]。仿真环境是Windows 64位操作系统与i7 - 8750 h (@2.2 GHz) CPU和16 GB的内存。程序执行的过程,用户随机构造一个多项式通过随机数,然后替代品数字计算多项式,并将其发送给其他用户。每个用户和所有收到的值作为其秘密份额。以下实验值都是在Eclipse IDE运行100次后平均(33]。
进一步进行调查的执行时间选民的身份混淆,我们分别模拟模乘法和模幂运算操作的每个部分。图5给出了仿真结果。因为模幂运算的计算复杂性远远大于模块化乘法,认同混淆部分的总执行时间超过十倍注册和混乱的审计。
此外,我们考虑投票的运行时间收集的数量从0到1000。结果如图所示6。显然,时间开销大约线性增加的数量 。成千上万的规模的计算时间不到一分钟,所以大规模系统的时间开销在可接受的范围内。
7所示。结论
在这项研究中,我们提出一个Bitcoin-based电子投票方案与匿名性和健壮性,抽象一个比特币交易的投票过程。其特点可以概括如下:首先,我们设计一个硬币mixing-based系统模型实现强大的匿名;其次,我们设计一个秘密共享的电子投票协议继续投票数字私人;最后,我们进行安全分析和实验评估证明其效率和鲁棒性。
有许多可以扩展方向这项工作。首先要考虑低吞吐量和高比特币区块链的网络延迟,这将导致区域协同医疗系统的可伸缩性问题。一个有希望的解决方案是直接利用MEC节点建立一个私人区块链向网上投票,而不是公共区块链。在这种情况下,我们可以把这个区块链更voting-compatible,可扩展性和鲁棒性。另一个方向是研究电子投票的新应用程序,如决策支持或推荐系统(34- - - - - -36]。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者。
信息披露
鑫徐co-first作者的工作。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作得到了国家自然科学基金(62072092号,62072093,和U1708262);中国博士后科学基金会(2019号m653568);河北省的主要研究和开发项目(20310702 d号);河北省自然科学基金(没有。F2020501013);中央大学和基础研究基金(没有。N2023020)。