编者按:本文来自哈希未来,作者:陈致佳、蒙绎泽、江泽武,星球日报经授权发布。自2009年第一枚比特币被挖出以来,区块链行业逐渐拓展为一个巨大的全球市场。除BTC以外,LTC、ETH、EOS等各式各样的区块链项目层出不穷。目前,仅以太坊上的ERC20代币项目,就超过11万个;而发布项目白皮书的公司更是不可胜数。POW共识算法
比特币实现了一种点对点的电子支付系统,而这一分布式系统的诞生,有赖于其采取的POW共识算法。目前,绝大多数具备主链的区块链项目,仍采用POW或改良后的POW共识算法,仅有一部分项目采用POS或DPOS等算法。POW为分布式账本带来简明、有效的共识产生机制,然而也产生一些问题:在计算哈希函数的过程中,大量能源被浪费——有报道称,2017年因比特币挖矿而浪费的电量,超过了丹麦一个国家全年的耗电量。此外,由于ASIC等芯片的产生,比特币也面临这越来越中心化的挑战。比特币的现状与中本聪最早的设计已经相去甚远。而POS、DPOS机制同样具有中心化的问题,而且投票过程往往较为繁琐,两者显然并非最佳的解决方案。值得一提的是,市面上曾出现一些采用如“交易即挖矿”、“锁仓即挖矿”、“投保即挖矿”、“挖矿即挖矿”等方案的区块链项目。但本质上,这些项目所发行的还仅仅是以太坊上的ERC20代币。由于不具备主链,这些项目均不需要共识机制;所谓的挖矿方案,本质上属于空投方案,是一种激励手段,与区块链的核心技术无必然关联。真正要解决POW所衍生的浪费能源、中心化的问题,开发多样化的挖矿方案,至少需要解决以下一系列技术问题:如果不耗费工作量,以什么作为用户付出代价的证明?该种证明如何被校验?如何确定挖矿竞赛的优胜者?如果避免主链分叉等?ProofofSpace,空间证明
在技术进展的过程中,PoSpace方案作出了重要的探索。PoSpace即ProofofSpace,空间证明。PoSpace意在取代比特币中的PoW机制,成为一种新型的共识机制解决方案。这一方案目前已在一些区块链项目实施落地。它以用户支付的硬盘空间作为付出代价的证明,通过下载文件占据硬盘空间,所占的空间越大,说明用户付出越大。PoSpace可带来以下好处:极大减少资源浪费;用户一次性付出硬盘空间后,后续挖矿不需额外增加付出等等。根据一些团队的测算,PoSpace里的用户行为可视作一种拓展性的博弈模型,随着时间增长,会有越来越多的用户加入进来。为应对硬盘空间造假的问题,PoSpace把节点分为两种角色:证明人和校验人。证明人即普通节点,需要存储较大的信息数据,而校验人存储数据库以及证明人的一小部分存储信息,以便验证。当用户/证明人初次加入网络,他需要根据选择的存储空间大小,存储一部分具有特定序列的数据。这些数据以有向无环图的结构存储,而每个数据块之间的关联关系,以Merkle树的形式发送给校验人。由此一来,校验人可由公钥知道证明人存储的是哪些数据、由发送的Merkle树知道这些数据以怎样的结构存储。在验证环节,校验人向证明人发送一份“挑战”。这份挑战是证明人存储数据块的某种随机组合。证明人需要根据挑战信息,生成对应组合数据的hash值,返还给校验人,由校验人验证该hash值是否正确。由于挑战是数据的一种随机组合,而略微不同的数据都将使得hash值完全不同。因此证明人必须的确存储了“挑战”所指明的数据块,才能生成正确的hash值。而校验人由于存储了完整的数据库,他也可对证明人发回的hash值进行校验。证明人有可能仅存储小部分数据,而仍然通过校验人的挑战。然而随着“挑战”的过程多次进行,证明人通过存储少量数据而生成出正确反馈的概率大幅下降。因此可通过多次验证来避免证明人的作弊行为。这就是PoSpace里的空间确认过程。“质量函数”的解决方案
而有了校验用户存储空间的方法,仍需通过一些方式来确定挖矿竞赛的获胜者。比较合理的方式应是,存储空间越大的矿工,越有可能在挖矿竞赛中胜出。PoSpace则通过设计一个“质量函数”来实现这个目标。“质量函数”需要保持一定的随机性,而同时按照贡献空间的大小来区分各个矿工获胜的概率。因此一个简化的做法是,应对校验人的挑战,矿工反馈的hash值直接作为随机量,并根据矿工所占的空间对这串数字进行增减。譬如假若矿工存储的空间总大小为N,则对hash值开N次平方,得到质量函数。这样一来,矿工存储的空间越大,质量函数的数值越小。我们可以规定单次挖矿竞赛中,质量函数最小的矿工获胜。但此时仍存问题:由于矿工在一次性付出硬盘空间后,在挖矿过程中不需有后续付出,因此参加挖矿竞赛不需要付出代价,进行主链分叉几乎没有成本。为避免矿工随意分叉造成双花等混乱情形,我们仍需要一种规则来确定某链是唯一链,而所有用户均只记录这个唯一链,这才是真正达成共识。由于每个区块由具有最小“质量函数”的矿工挖出,一个自然的想法便是:由质量函数来确定唯一主链。我们设定一个数量i,规定从最新的区块往前i个区块的质量函数相加,得到链的总质量函数。总质量函数最小的那条链,可判定为主链,在此基础上,为强调越早的区块所占的比重越高,可增加一个折扣函数,对早期的区块进行缩减。因此当主链出现分叉时,对两条分叉链的总质量函数进行计算,即可确定唯一链,由此保证仅有一条主链,从而使各用户之间建立起一个分布式、同时又统一的账本系统。总结
PoSpace使用物理硬盘空间作为付出代价的证明,解决了比特币里POW持续浪费大量资源的问题,同时可建立一个与比特币作用相同的电子支付系统。PoSpace可认为是共识机制在POW基础上的一大进步。但与此同时,PoSpace仍存在一些问题:如引入了校验人角色,增加了系统的风险;如何设计和安排校验人,仍是一个问题;以硬盘空间为证明,存在着中心化的风险,因为少部分人可以通过巨大财力购置大量硬盘空间,持续垄断挖矿,造成类“51%攻击”等。中本聪“一枚CPU芯片代表一个个体,每个个体拥有平等挖矿机会”的构想,仍然难以实现。但不得不说,PoSpace的思路为我们提供了许多启发,如通过随机的方式对用户付出的代价进行校验;通过设计区块质量函数确定挖矿竞赛的获胜方式;通过设计链质量函数来避免主链分叉等。沿着这一思路,我们完全有可能开发出适应不同使用场景的共识机制,如“注意力证明”、“时间证明”等。此外,PoSpace中硬盘所存储的空间,若从无意义的字节,改为有意义的内容,PoSpace或许天然地适用于建立网络资源共享社区。相信在不远的将来,空间证明共识机制将迎来更多发展和应用。参考文献:ParkS,PietrzakK,AlwenJ,etal.Spacecoin:Acryptocurrencybasedonproofsofspace.IACRCryptologyePrintArchive2015,2015.DziembowskiS,FaustS,KolmogorovV,etal.Proofsofspace//AnnualCryptologyConference.Springer,Berlin,Heidelberg,2015:585-605.
API3增值服务Chain API集成Airnode,将提供无代码Web3部署服务:6月22日消息,预言机解决方案API3增值服务Chain API集成Airnode,使API提供商能够在更广泛的区块链空间中自我集成和部署预言机。据悉,Airnode作为一个开源网关,允许API直接连接到web3,而无需持续管理或使用第三方。因此,利用Chain API的企业将拥有对部署的预言机和链上数据的第一手控制权,从而获得其Web3业务的完全权限。(CryptoNinjas)[2022/6/22 4:44:19]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。