MIT关于区块链投票系统不可靠的报告,哪里不可靠?

彩云区块链 阅读 14577 2020-11-19 18:06
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

近期美国大选吸引了全世界的目光,而直到发文的时候,大选结果还未出来,主要原因是今年特朗普团队认为今年的大选出现舞弊现象,原因是有报道称一个叫Dominion投票系统出现过一个小失误,将特朗普的小部分选票划给拜登,当然目前事件还在调查之中,是否真伪这时候也难以判断。

据媒体报道今年美国大选中采用的投票机来自三个不同的公司,分别是选举系统和软件(ES&S),Hart InterCivic和Dominion投票系统。当然网上也有爆料说Dominion系统出现过软件故障,还专门有视频展示,我们暂且不说这件事情,对于了解区块链行业的人来说,区块链投票是一个最简单而且透明的方法,并且还安全,一直以来这也是大家对区块链投票的第一印象,很多人初学智能合约solidity语言编程的时候,第一个demo合约就是一个简单的链上投票系统,可见目前区块链投票还是比较有前景的。

在全世界都在讨论投票造假问题的时候,很多人目光就锁定了区块链投票,本来笔者以为这是一个很好的宣传区块链机会,但是MIT的一份报告却说基于区块链的投票系统其实并不可靠,这就引起了很多人的关注。

MIT关于区块链投票系统不可靠的报告,哪里不可靠?

图片摘自腾讯新闻

那么基于区块链的投票系统是不是真的不可靠呢?我们也来探讨一下。

投票系统的复杂性

很多人用以太坊智能合约写投票系统的时候,肯定没有想到投票的复杂性,首先是登记选民,这一步目前普通的区块链开发者基本上是比较难实现的,因为选民的登记是一个比较复杂的过程,涉及到个人身份信息等。

当然传统的方式比较简单,投票软件公司直接连接上美国国内负责身份信息的政府单位服务器,然后直接用来核实选民身份,这一步骤大家都是大同小异,但是区块链生成的投票账号如果在投票前遭到盗取,那么可能难以解决,就是类似账号被盗的情况,这个时候就要有专门的解决方案。

而传统的线上投票方式则只需要进行修改密码或者忘记密码等功能实现就行,这部分如果放到链上就显得复杂很多了。

登记选民之后,就是投票时身份的核实,传统方式还是比较简单,一个API端口就行,而区块链投票系统如果走传统方式,那么还比较简单,如果要链上存储个人信息来进行数据核实的话,就相对复杂多了,技术实现难度比较大,也就是说区块链去做投票系统可能会更加复杂,传统方式可能会原理简单一些。

不同条件下投票速度和可扩展性

传统的线上投票速度自然快,用户端直接将投票数据上传到服务器,服务器记录,就完成了投票过程,当然中间也有复杂的步骤,比如客户端的安全、数据传输过程的安全和在服务器内部保存的安全性这三大安全必须要保障好。

而区块链形式的投票,我们认为就是一个转币的过程,假如候选人是A和B两个账号,然后选民有1个币,他们只能将这个币发给A或者发给B,而且数量只能是整数,不能带小数点,这样专用做投票的链其他功能完全可以禁止掉,只留下投票的功能。

区块链我们都知道投票的速度比较慢,而传统线上的S/C形式的投票就相对快多了,当然如果出现大选最后一分钟投票的话,那么可能链上会出现阻塞的情况,而且没法解决。而服务器模式投票一般阻塞的话,多开几个好的服务器就行,这样就可以分流。

投票系统部署的成本和攻击成本

投票成本基本上来说,自然是区块链形式的投票成本高,因为这是基于节点的形式,也就是说需要大量节点来保证数据无法被篡改,传统线上投票自然成本就低很多了。

当然对应的,传统线上投票的攻击成本一般来说比较高,主要是集中在用户设备方面、数据传输和服务器存储数据方面,但是考虑到现在的数据都是加密的形式,因此重点还是在用户设备方面,比如手机感染病毒出现乱投票的现象,服务器端一般数据被锁定或者破坏比较多,修改的话也得破解系统管理员密码才行,专业的系统一般都是硬件锁,简单来说,就是将类似U盘这样的硬件连上之后才能登陆,否则就没法登陆,这样很大程度上避免了黑客攻击的现象,除非采用社会工程学的方式盗取硬件加密锁,这样才可能破解管理员密码。

区块链投票系统则是另一种情况,因为是点对点形式的,因此各类的节点谁去运营是一个问题,如果都是某一个机构运营的话,那么就相当于一台机器,因此作废谁的选票都可以,这自然就有问题了,除了运营者外,节点的配置也是比较关键的,一般分为记账节点和确认节点,那么记账节点就是否能够正确投票的关键,确认节点是能否作废投票的关键。

记账节点如果维护不当,可能导致很多人投票失败,确认节点如果维护不当,可能会导致已经投好的票被作废的情况,如果被攻击,那么这些票会被进入内存池,然后迟迟不上链,这就很尴尬了。

但是区块链投票的话有一点是比较不错的,那就是选票投给谁是无法修改的,而且可以断网签名,然后联网广播,这样避免了黑客攻击投票者设备。比如你投特朗普,可能即使是黑客,也没法修改系统改成拜登,除非他拿到你的私钥,或者黑客可能会做一些破坏,使得你的票没法上链,简单说就是你将票填好了,结果发现投票点关门了,这就是目前区块链投票系统存在的问题。

区块链投票还有一个问题,就是粉尘攻击问题,这一点尤为明显,比如一大帮恶意选民,他们在最后一段时间里开始投票,占用tps,这样使得其他选民没法上链,因为确认区块也是有时间的,因此这样的话,就会造成很多票没投上的问题,即使没有黑客去攻击系统,也会出现这种现象。

系统运营者问题

当然区块链投票中存在的问题,笔者认为最关键的还是节点是谁运营的问题,假如AB两党各运营一半,那么他们作为利益相关者,可能会在出块的时候动点手脚,比如不是他们的票,他们不上链,这就问题大了,另外如果给第三方的话,也有可能出现被金钱收买的情况,因此还是无法保证安全。

当然有人可能认为说,用公链,毕竟有激励,可以让矿工有利可图,他们自然会公平些,其实这也是有矛盾的,一般来说,不相关者可能会公平点,但是大选这件事情不是金钱能够衡量的,因此可能有的矿工即使亏本也要作恶这样就不好了,比如可能矿工生命受到威胁了之类的。

当然我们假设使用比特币链或者以太坊链,这样还会出现另一个问题,那就是攻击成本问题。

目前美国大选,两党光为此消耗了140亿美元,我们按照一党70亿美元来算,当然也就是说,比特币的链一笔投票交易产生的价值要大于50美元才行,这里按照美国大选1.4亿人口投票,比特币一个区块3000笔交易算的,那么一个区块的价值要15万美元,按照现在的区块奖励肯定是不够的,也就是说黑客动用51攻击是比较划算的,这样就不能保证数据的安全性。

比特币链都不能保证安全性,自然以太坊链也是不行的,其他链自然就更不用说了。

MIT关于区块链投票系统不可靠的报告,哪里不可靠?

最后,其实新闻上说的MIT教授们担心的选票的可追溯性、审计、保密性这些其实基本上都不是什么大事情,因为区块链现在的发展,其实类似门罗币这样的隐私技术已经得到应用,可追溯性是区块链最拿手的,我们常说的区块链溯源其实就是落地之一,至于审计,现在的做链上数据审计的公司确实相对来说是比较少,但是未来肯定还会继续发展的。总体上来说区块链技术应用于投票之中还是有不少问题的,但是我们注意到,其实重点是选举的重要程度和相关成本问题的博弈,简单来说,如果搞一场小规模的选举,那么自然一个公链或联盟链就可以解决,如果是总统大选这样的选举,那么这不仅仅是联盟链,而且现在的公链也无法支撑起来,当然传统的线上投票自然也是不太可能撑起来的,但是目前对比起来,其实区块链进行大选投票,可能问题更多,当然这也没事,因为区块链技术也是不断进步的,现在不行不代表以后不可以,区块链投票是基于博弈原理的,如果后期能有技术将这种模式改掉,那么效果也不一定会差。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:跨链项目Nerve正式打通ETH、BSC与NULS三大公链 下一篇:定义「RUN·WAY」,不做赶路人

相关资讯