区块链:区块链中的自私挖矿

编者按:本文来自:以太坊爱好者,作者:IttayEyal,翻译:阿剑,Odaily星球日报经授权转载。工作量证明区块链实现了一种形式的状态机复制系统。不像传统的SMR协议,PoW区块链是开放的,即,任何人都可以加入这个协议,而且系统也会用经济利益来激励参与者遵守协议。因此,同样迥异于传统SMR协议的地方是,在推理区块链的安全性时,仅仅假设恶意参与者的数量往往并不能得到答案。关键是要问一问,矿工是否真的有足够的动机来遵守所在的协议。这就是本文要讨论的东西。为使讨论更具体一些,我们把讨论的语境限定为中本聪的比特币协议。Ling已经提供了一些相关的背景知识,以及一个对恶意敌手的安全性分析。在我们的分析中,我们准备把这个系统描述为矿工之间的一个游戏。游戏

游戏玩家就是出块的矿工。这个游戏是按回合来进行的,每一回合都有一个矿工可以出一个区块,其他矿工可以发布这个区块。同时,游戏中的消息是同步传播的,因此,所有矿工都会收到上一轮发布的区块。这样当然是简化了现实,例如,这个模型忽略了系统中挖矿总算力的缓慢变化,也忽略了偶尔会发生的出块冲突。虽然如此,这个模型作为一阶近似,也足够了。协议的规定是让每一个矿工都在最长链上出块,或者,如果分叉中的两条链长度相同,他们就跟随自己先接收到的那条链。游戏中的每一个玩家都致力于最大化自己的收益——这个就是TA的效用函数了。具体来说,我们还假设这是一个infinite-horizon游戏,即,随着游戏时间不断趋近于无限,一个矿工的收益就是其平均出块比例。这就代表,密码学货币形式的奖励是按矿工所出的区块发给出块矿工的。注意,主链之外的区块不会进入矿工的收益。重要观察

去中心化借贷协议Algofi将在Algorand区块链上推出:金色财经报道,Algofi今天宣布即将在Algorand区块链上推出其快速、低成本、去中心化的借贷市场。该协议目前在Algorand的测试网上运行,并计划在今年第四季度在主网上启动。[2021/8/27 22:39:55]

主链上的出块比例就是对矿工收益的实时模拟。假设系统中的挖矿总算力是静态不变的,系统每10分钟出一个区块,攻击在一次难度调整完成后立即发动。假设一种出块策略会导致网络中一定比例的区块被抛弃,比如所有矿工出的块中有20%的块会产生在主链之外,而且这个比例是稳定的。那么,虽然这个系统仍然是每10分钟出一个块,但只有80%会出在主链上,也就是主链的生长速度会变成每12.5分钟延长一个块,而不是每10分钟延长一次。比特币协议每出2016个块会调整一次难度,如此一来,调整难度所需的时间也会比一般情形要长。一旦难度调整发生,难度又会下降,使得主链的出块间隔重新变回10分钟。这就意味着系统的整体出块速度更高了,每8分钟就能出一个块。所以,一个矿工如果有算力占全网比例为α,且在主链上出块的占比为α′>α,则其每小时收益会与α′成比例。自私挖矿算法

动态 | 济南市委市政府:将打造区块链政务+公共服务济南模式:济南市委市政府昨天发布并解读了《中国(山东)自由贸易试验区济南片区实施方案》。根据方案,济南市确定了7个方面162项具体创新举措。在加快转变政府职能上突出“快”,自贸试验区济南片区将打造国际一流营商环境,设立济南片区综合服务中心,实行区块链人工智能审批,实现“秒批秒办”和“不见面审批”,探索推广“数字保险箱”,打造区块链政务+公共服务济南模式。(央广网)[2020/1/17]

自私挖矿是一种投机挖矿算法,用于证明前述协议对小矿工并不公平。我们先来看看自私挖矿的机制,然后讨论看看自私挖矿为什么以及何时会产生这样的效果。一开始,自私的矿工会在最长链上挖矿,就像协议希望的那样。不过,一旦TA挖出了一个区块,TA会先把这个区块藏起来,而不是立即发布出去,然后尝试在这个秘密块后继续出块,形成一个“秘密分支”。

慧聪再度签署区块链协议 做深做透区块链应用场景:3月9日,慧聪集团(02280 HK)在北京市分别与丝绸之路国际合作工作委员会、中国电子商务协会举行区块链签约仪式,签署区块链《合作框架协议》。慧聪集团将基于区块链技术搭建完整的技术解决方案,通过对我国电子商务企业、事业单位产品进行全产业链品质溯源、大数据分析、供应链管理等的信用体系建设,解决电子商务企业对国家监管的溯源需求,解决消费者对目前电子商务的信任危机等信用问题,帮助企事业单位能够在消费日益升级、品质要求不断提升的市场环境下健康稳定有序的发展。[2018/3/9]

与此同时,其它矿工会延长公开的那条链,这条链最终会变得更长,因为他们的挖矿算力占大头。而自私挖矿的矿工会继续延长其秘密分支,直到公开分支落后一个区块。然后自私矿工就会把自己的秘密分支发布出来。

游族网络:公司现还未涉足区块链技术:游族网络:公司现还未涉足区块链技术,公司持续关注,积极探索在游戏内应用的可能性。[2018/2/23]

因为秘密分支更长,那么另一方就会认为这条才是主链,从这时开始,所有人都会跟随自私矿工的分支,而其他矿工挖出的区块会被抛弃——被忽略,并使得出块矿工一无所获。但这种策略也不是万无一失——从开始秘密挖矿时起,自私矿工就一直承担着风险。如果TA出了一个秘密区块同时别的矿工也出了一个区块,TA就不能靠发布这个秘密区块来变成最长链;相反,此时会变成两个同样长的分支在竞争最长链。

自私矿工会尝试延长自己的分支;为简化分析,我们假设其他矿工也会尝试延长自己所在的分支。如果TA能抢先出下一个块,则TA的分支会变成最长链,然后下一次攻击会在这条最长链的末端重新开始。如果其他矿工生出,那么自私矿工就属于不利地位。在这种情况下,TA会放弃这次攻击,寻找下一次机会。在这次攻击中,TA的秘密分支会变成一条较短的分叉,使TA一无所获。自私挖矿分析

乍一看,这种攻击应该不会奏效——自私矿工的算力只占少数,必定是赢少输多。不过,一个细致的分析表明,并不总是如此。这个游戏可以自然而然地描述成一个MarkovChain。通过计算自私矿工的出块和其他矿工的出块情况,我们可以计算出自私矿工的区块在主链上的比例,其实就是其算力规模的函数。

我们可以看出,算力占比超过1/3的自私矿工可以通过违反协议及执行自私挖矿算法来提高自己的收益。结论

上述分析表面,当自私矿工的算力超过1/3时,自私挖矿的策略比诚实挖矿的策略收益高,但这是在乐观的假设下的结果。想要更深度的分析,请看FinancialCrypto2013上的论文以及ACM2018会议上的论文。后续的研究,包括最近的一个,都使用马尔可夫方法来确定诚实挖矿策略占优的算力阀值。感谢IttaiAbraham富有教益的反馈。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:31ms0-0:955ms