如何在不使用工作量证明的情况下实现公平且高效-ODAILY_POW:TARA

作者:StevenPu,Taraxa创始人

前言

在之前的技术解读文章中我们讲到了区块排序的问题。本文我们将继续探索如何在不使用工作量证明的情况下实现公平且高效的提议。

POW之美

Pow是一种简单而又优雅的共识算法。每个节点解决一个简单的加密难题,解答方案通过快速猜测得出,谁第一个猜对就选谁生成下一区块。

就这么简单。

这个简单的算法同时提供了真正的随机性——来进行公平且去中心化的区块提议;一定的延迟——确保有足够的时间来广播,最大程度降低分叉概率;经济上的抵押——通过硬件和电力投资来实现,这样矿工就有既得利益来诚实工作。

那么PoW哪里不好?我们为什么非要搭个不一样的?

并行处理是罪魁祸首

早期并排工作的装配线

简单又优雅的PoW机制有一个关键问题,那就是它的难题是可以高度并行处理的。这些难题通常是一个哈希函数,节点只是不停生成随机字符串,用哈希法进行处理,然后看得出的哈希值是否符合特定条件。如果你只是一名玩家,假设你平均能在N秒后猜对答案。但如果你是一百名玩家,那么平均你猜对答案的时间就是N/100秒,因为你可以轻松分配工作。举个例子,假如一共有M种可能的答案,你可以安排玩家1号测试答案1到答案M/100,再安排玩家2号测试答案M/100到答案M/200,以此类推。

Genesis Mining运营主管:无论交易费用如何,比特币都是很好的价值存储手段:针对比特币及其区块链网络是否能在不需要第二层解决方案的情况下作为一种价值储存手段被主流采用,比特币采矿公司Genesis Mining运营主管Philip Salter表示,无论交易费用如何,比特币都是一种很好的价值存储手段。费用越高,能够有效转移的最小价值也就越大。然而,如今比特币被更多地视为一种价值储存手段,而非数字现金。Philip Salter认为,这种观念的转变仍可能引发一些问题。他说:“几年前,由于交易费用实际上为零,所以1美元的存储和传输是可行的。目前,发送一笔交易很容易花费15美元,所以再发送1美元是不明智的。如果这一趋势继续下去,由于更多的比特币使用和更高的比特币价格,它将禁止普通金额的价值转移,它将只会成为非常大金额的有效价值存储。”Salter补充道:“这就是为什么我认为第二层解决方案不仅对于比特币作为货币的使用是必要的,而且对于比特币作为价值储存手段的长期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]

在PoW区块链系统中工作的矿工们通常会购买大量的专用电脑,或者专用集成电路,并调用程序协调这些ASIC的分工来猜答案,所以平均算下来他们猜中正确答案的速度会快些。随时时间的推移,不同的矿工决定抱团来分担他们ASIC集团的工作,因此就有了矿池。

币情观察室 | 如何从小白蜕变成合格的交易者:4月2日11:00,金色盘面邀请行情大V李明成做客金色财经《币情观察室》直播间,将分享《如何从小白蜕变成合格的交易者》,敬请关注,扫描下图二维码即可观看。[2020/4/2]

对于比特币这样的网络,如果矿工猜答案猜得太快,它有一套内部算法可以提高猜答案的难度,最终将出块时间维持在平均10分钟左右一块的速度。因此,矿工猜得越快,谜题难度越大,这样也就激励了矿工通过ASIC提速或者搭建更多的ASIC。

矿机速度越来越快,数量越来越多,消耗的能量也越来越多,直到维护网络的能耗高得离谱。

因此,PoW共识的哈希函数能够并行处理这一事实,是造成其负面经济动机的罪魁祸首。它推动了一场矿工间硬件设备的竞争,消耗了大量的能源。

设计目标:随机延迟

所以,如果我们想要设计一套不像PoW那么浪费资源的系统,但同时又能做到随机延迟的话,我们需要达成以下设计目标:

真正的随机性以确保公平与去中心化

延迟不可以通过并行而降低,以最大程度减少能耗

下面我们来看看如何优化:

■通过可验证随机函数实现随机性

声音 | 微软李国平:应用区块链技术应多思考如何赋能、少谈颠覆:据经济观察网12月6日消息,微软中国金融行业总监李国平表示,第一,今天应用区块链技术,应该多思考如何赋能,少谈颠覆。他认为其实在从传统业态向数字生活,数字经济迈进的过程中,有很多行业场景存在痛点和短板,在整个信息化进程中如何补足现有实体经济中的这些问题,赋能现有业务,提高效率,降低成本,是区块链应用最应该思考的问题;第二,科技向善。今天的区块链技术、人工智能技术等,公众是存在认知差的。出现了认知差,就存在炒作的空间,就可能有泡沫,还包括新技术滥用数据等问题。因此在应用新的技术时,要在态度上端正,敬畏监管,敬畏客户,敬畏可持续发展,这样才能走的更远,更稳;第三,从网络效应原理来看,网络是越大价值越大。从最早的局域网到以太网到现在整个互联的世界,网络的效应是需要扩大的。因此今天谈公有链,链与链之间有没有标准?全球有没有标准?中国有没有标准?很多企业资产能不能链互链?思考和解决这些问题,有助于区块链的应用范围和价值的扩大。[2019/12/7]

白噪音就是自然出现的一种随机源

现场 | 以太坊行业峰会第一场圆桌 如何应对智能合约安全问题:金色财经9月8日现场报道,Loi Luu (KyberNetwork 创始人)、Shawn Douglass

(Amberdata 联合创始人兼CEO)、Jay Zhou (Loopring Protocol 联合创始人)、Alan Li (FBG X 研发部负责人)、Antoine Cote (Enuma Technologies 联合创始人兼CEO) 参与了讨论,嘉宾们一致认为,由于智能合约涉及资产交易且不可篡改,一旦发生安全问题将引起资产严重受损,关注智能合约安全是必要的。Loi Luu指出,区块链行业项目方,需要为开发者设立预警机制。开源代码要引入第三方检测,避免犯一些显而易见的错误。

Jay zhou认为,需要更有经验的开发者去开发用户易用、以人为本的合约,同时也有必要引入交叉审计。

Shawn Douglass说:“因为智能合约的不可篡改性,在程序员开发前,就必须告知开发者未来可能造成的后果,特别是在涉及资产的领域必须确保事前万无一失甚至考虑保险。”

Antoine Cote表示,可以在早期时候引入悬赏机制让黑客或者社区成员共同发现漏洞。大家讨论后得出共识,每一个开发者都必须在开发速度和安全性之间做一个平衡。在区块链领域,注重安全和责任心是必须的。[2018/9/8]

真正的随机性更多的是一个哲学问题。我们在说“随机”的时候,我们真正想要的是“不可预测”。如果我们的机制输出的结果是网络任何参与方都无法预测的,那么我们就认为这个结果是随机的,且是公正的。

英国央行希望了解实时总结算服务如何与分布式账本技术进行交互:据英国央行的声明显示:英国央行正在进行一项概念验证,并希望了解实时总结算服务(RTGS)如何与分布式账本技术进行交互。2017年5月时,英国央行曾发布了RTGS蓝图,表示新服务将提供“多样化和灵活的结算模式”,随后,央行宣布要开发一种与区块链技术兼容的支付服务,但在最近的声明中,英国央行拒绝了要将业务迁移至分布式账本的提议。[2018/3/29]

许多加密函数似乎都能生成随机输出,例如哈希函数和签名机制。但是,他们并不是专门为了生成不可预测的输出而设计的,且观察者能够在给定足够大量样本的情况下得出模式。

在1999年,一篇由Micali,Rabin和Vadhan撰写的论文发表了,他们描述了一种可验证的随机函数,这个函数是专门为了生成高度不可预测的输出而设计的。后来,Micali教授成立了Algorand项目,之后该项目核心成员SergeyGorbunov写了一篇更详细且更容易理解的文章。如果你对VRF的更多技术处理感兴趣,可以参阅上述文章和论文。

在Taraxa的区块DAG架构里,VRF为随机延迟提供了随机性。VRF的输出是:

区块DAG的级别:在提议者打包区块时,这里的“级别”就是锚定链的长度+1。所以,如果你是提议者,你计算了当前的锚定链L,发现了你将要搭建幽灵指针的边界上的终结块,那么你提议的区块级别就是L+1。需要注意的是,这里的定义与常说的“深度”是不同概念。

最新Period区块的区块哈希:这是在区块DAG中最新完成的区块,能够通过一个并行PBFT流程实现真正的最终确认。考虑到在边界上提议者尚未接收到最新确认的Period区块,所以协议会有一定的容忍,即最新Period区块的上一个区块哈希也是可接受的。

区块提议者的秘密VRF密钥:这个是搭建VRF函数所需要的。这与交易签名机制不同,是专门为每个节点生成用于搭建VRF的。

VRF函数的输出分两块:

v是一个伪随机值,用于确定延迟长度。

p是一个证明,其他节点可以用其来验证VRF已诚实且正确地执行。可以把它当作一个签名,有了提议者的VRF公钥,任意其他节点都可以轻松确定计算的正确性。

最终,我们可以写成一个简单的方程式:

VRF(L,P,SK)→(v,p)

■延迟难度成型函数

在VRF的输出转换为延迟之前,我们会需要让其形成一定的分布。分布的特征大致如下:

需要有一个最小延迟,因为我们不能让区块立即生成,不然会没有时间进行适当的网络广播

需要有一个最大延迟,因为我们不希望整个网络堵塞,也不希望长时间不生产块

部分提议者速度要快,而剩下一部分要慢,这与合格提议者数量以及整个网络的直径有关

因此,最终的成型函数可能是这样的:

成型函数

设成型函数为S,我们可以得出以下公式:

S(v)=d

这里d就是下一阶段的难度系数。

■可验证延迟函数的延迟

Token像个公交卡,能自身产生价值转移,联盟链没有原生的价值转移。国家打击的是盘,但其实还有很多的具有价值的代币,当行业发展和公众认知到一定程度的时候,优质的公链能避免一刀切的状况。等到这个时候,联盟链和公链的合作可能更多。

独自辛苦独自忙,无人并肩共作战=(

正如本文开头讨论的那样,PoW好是好,但并行处理是其“风评被害”的罪魁祸首。于是,可验证延迟函数出现了,这个函数是专门为了模拟无法通过并行处理加速的延迟而设计的。

如果一个函数符合以下两点简单的标准,那么就可以严格将其归为VDF:

必须是顺序的,这种情况下无人能够通过多个并行处理来加快VDF函数的计算,这一点与PoW不同。

必须是可简单验证的,观察者能够简单地进行验证,确认VDF计算正确且出现的是适当的延迟,这一点与PoW相似。

Bonehetal.,Pietrzak和Wesolowski等人都提出了满足这些标准的VDF。特别是,Pietrzak和Wesolowski都基于在未知顺序的组别里重复平方的原理,各自独立地提出了高度相似的方法,这些方法能够有效抵抗并行处理。

让我们在更高层次测试一下这些函数吧,因为数学是非常复杂的。

这些VDF的构建是执行重复平方的计算,这些计算是无法并行处理的,因为每次迭代都需要上一次迭代的输入,且任何给定迭代中不会提供关于未来迭代的信息。换句话说,除非你一步步完成所有迭代,否则你无法知晓答案。这一点确保了这个函数是顺序的。

而让VDF能够简单验证的是,你可以用包含VDF中间输入与最终输出的随机线性组合来搭建一个证明。这些限线性组合的计算很简单,因为比起计算整个VDF来说,它涉及的步骤要少很多。简单地类比一下就是,计算整个曲线中的所有数值与选个箭头往前推几步的差距。箭头前进几步所花费的时间显然比计算少得多。这一点确保了这个函数是可简单验证的。

在Taraxa,我们在VDF中设置了以下几个输入项:

父哈希,或者你新创建的区块通过一个幽灵指针所指向的父区块

所有交易的哈希,你计划打包到区块中的所有交易的哈希,所以你无法事先计算VDF

d,上一步的难度系数

所以,在节点提议区块之前,VDF函数计算长这样:

VDF(gP,Tx,d)=z

在实践中,为了确保对输出项z的验证是非交互的,节点提议者需要将中间证明以及最终输出项插入提议区块中。

所以,对计算VDF函数的节点来说,他们可能会遇到类似这样的延迟:

出于解说需要,这是从均匀分布中生成的

截至撰稿时,VDF仍旧是极具实验性的技术,且正在经历积极的研究与测试。Taraxa会与开源领域最优秀的人以及学术社区合作学习,确保我们的账本采用的是最稳定、最高效、最安全的方案。

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

金宝趣谈

[0:46ms0-3:734ms