主页 > 以太坊imtoken > 从数据分析和密码学角度看区块链的未来

从数据分析和密码学角度看区块链的未来

以太坊imtoken 2023-01-18 20:12:19

区块链是一个复杂的点对点系统,它不仅包括技术部分(如网络、密码学、虚拟机等),还包括生态中各种角色的决策(如攻击者、共识维护者(矿工、交换)等等)。 例如,区块链中的节点需要按照技术部分进行操作,同时,它们也可以根据自己的利益,做出相应的决定,对区块链系统产生积极或消极的影响。

微软亚洲研究院可信系统研究组多年来一直探索区块链技术的前沿发展,在技术部分和生态部分都有长期的研究。 因此,可信系统课题组的研究人员从两个角度阐述了区块链技术的现状和未来趋势: 1. 生态部分,从数据分析的角度,研究共识维护者的行为和发展趋势; 2. 技术部分,通过研究最流行的密码学技术之一——零知识证明,探索它如何更高效地服务于区块链系统。

数据分析——以太坊前三大矿池拥有53%的算力

区块链系统以“不可伪造”、“全程留痕”、“可追溯”、“公开透明”、“集体维护”等特点在业界享有盛誉。 它还应用于金融、供应链管理、医疗健康等领域。 特点,积极布局区块链系统。 然而,在基于工作量证明(PoW)共识的区块链系统中,仍然存在威胁系统安全的“51%算力攻击”。 51%的算力,那么就有可能“颠覆”这个系统。

现实中,顶级矿池掌握着大量的算力,有可能威胁到系统安全。 如图1所示,以太坊前三大矿池(Spark Pool、Ethermine、F2Pool)掌握了全网53%以上的算力,已经能够发起“51%算力攻击” ”。 此外,其他PoW区块链也存在头部矿池掌握多数算力的情况。

360截图16440809323970.png

图1:以太坊算力分布图(来自Etherscan,2021.03.22)

算力变成比特币流程_比特币算力监控_比特币显卡算力排行

为了深入了解和分析区块链系统,微软亚洲研究院和清华大学的研究人员提出了对以太坊矿池参与者的首次大规模研究。 研究人员通过数据分析了解矿池参与者的算力分布和挖矿行为,进一步刻画以太坊算力的去中心化程度,发表研究论文《Characterizing Ethereum’s Mining Power Decentralization at a Deeper等级” 。 该工作已被全球计算机网络领域重要会议INFOCOM 2021录用。

360截图16440809323970.png

本文作者中,曾立毅来自清华大学,目前在微软亚洲研究院实习。 曾与微软亚洲研究院创新工程组郭忠信,可信系统研究组陈阳、陈硕、张显等合作进行区块链研究。 长期合作伙伴关系。

以太坊的挖矿生态结构如图2所示,区块记录矿工账户。 这些账户来自矿池管理者或独立矿工。 他们可以直接获得系统发放的挖矿奖励。 链上交易分发给矿池参与者。 以往对算力去中心化分析的研究工作主要停留在对头部矿池算力分布的分析,忽略了其他参与挖矿的算力。 因此算力变成比特币流程,微软亚洲研究院的研究人员认为,研究以太坊的算力去中心化不应仅仅局限于分析挖矿节点(矿池和独立矿工)的算力分布,还应该考虑挖矿行为矿池参与者和算力分布,为衡量算力去中心化程度和防止算力集中提供更深入的解决方案。

360截图16440809323970.png

图二:以太坊挖矿生态结构图

比特币显卡算力排行_比特币算力监控_算力变成比特币流程

但以太坊账户都是去实现的,仅从链上交易无法准确识别矿池参与者的账户。 目前,学术界还没有关于矿池参与者的真实数据集。 因此,需要结合链上和链下的多个数据源来识别矿池参与者账户和矿池分配奖励交易。 数据集识别流程如图3所示。

360截图16440809323970.png

图 3:以太坊挖矿数据集识别流程图

由于部分矿池会在Etherscan(以太坊搜索引擎)上公开账户信息,因此部分大型矿池也会向挖矿参与者提供API查询挖矿收益信息,以识别以太坊账户是否属于自己的矿场。 泳池参与者。 因此,研究人员可以在Etherscan上爬取公开识别的矿池账户,从以太坊区块链数据库中提取识别矿池发出的交易,并收集这些交易的接收账户,用于矿池API识别。 矿池API可以识别的账户可以确认为矿池参与者的账户,然后相应提取识别的矿池发送给矿池参与者的奖励交易。

微软亚洲研究院和清华大学的研究人员通过对以太坊矿池参与者识别和分析的首次大规模研究,创建了第一个大规模以太坊挖矿数据集E-PAR。 该数据集涵盖了从以太坊上线(2015年7月30日)到2020年4月10日近5年的数据,包括所有矿工账户的奖励交易、已识别的矿池账户、已识别的矿池参与者账户和发送的奖励交易矿池向矿池参与者涵盖近两年平均占全网算力77%的挖矿行为。

E-PAR数据集揭示了矿池下矿池参与者的算力分布,矿池参与者同时参与多个矿池或在多个矿池之间跳转的挖矿行为,以及参与挖矿的矿工数量。选择加入矿池。 多重原因,从而进一步丰富了对以太坊算力去中心化程度的评价,探​​讨了矿池挖矿算力的可控性,对现有研究工作提出的防止矿池算力集中的解决方案进行了推理和思考,带来了可行性对区块链社区进行数据驱动的深度算力分布研究。 有关详细信息,请查看数据集。

比特币显卡算力排行_算力变成比特币流程_比特币算力监控

密码学——零知识证明提高区块链性能和隐私

除了从数据分析的角度分析区块链生态的发展趋势,微软亚洲研究院的研究人员还探索了一项利用现代密码学提升区块链性能和隐私保护的重要技术——零知识证明。

零知识证明(Zero-Knowledge Proof)是在 80 年代初提出的。 它是现代密码学的重要基础之一,也是现代密码学研究的热点。 它在隐私和可验证性之间架起了一座桥梁。 原理如下:证明者 P 可以在不公开 w 的情况下向验证者 V 发送证明,证明 P 自己知道 aw,因此给定一个公共输入 x,一个公共输出 y,以及一个程序 f 使得 f(x ,w)=y。 例如,假设P是金融机构,V是监管部门,w是涉及用户交易的隐私数据,f是交易合规验证程序,x是公开数据,y是合规结果,那么零- knowledge Proof 将确保金融机构能够在不泄露用户隐私的情况下向相关监管机构证明其涉及用户的交易是合规的。

正是由于零知识证明的独特性,它被广泛应用于区块链系统,以增强区块链的隐私保护,提高区块链的交易吞吐量:

增强隐私性:由于区块链上的交易数据是公开可见的,各种交易数据很容易被提取和分析,从而导致隐私泄露。 这也是为什么业界认为区块链缺乏隐私保护机制的原因。 经过零知识证明的加持,区块链中的用户可以隐藏相关链接关系、交易金额等信息,让区块链矿工验证交易的正确性,从而达到保护隐私的目的。 目前,零知识证明已广泛应用于各种隐私保护区块链,如门罗币、Zcash等(详见文章《一文读懂区块链上的隐私和监管问题》)。

提高吞吐量:除了隐私问题,区块链的低吞吐量也被业界诟病。 例如,随着以太坊上 DeFi 应用的兴起,以太坊交易量猛增并造成拥堵,导致交易手续费极高。 使用零知识证明技术,用户可以先将相关交易发送给交易聚合节点,然后聚合节点生成大量交易有效的零知识证明,并将相应的证明发送给合约进行验证矿工,从而节省了矿工重新计算大量交易的开销,大大降低了聚合交易的交易成本。 这项技术叫做 zk-rollup,目前很多项目都在开发它,比如 zkSync 和 zkSwap。

比特币算力监控_算力变成比特币流程_比特币显卡算力排行

回到零知识证明本身,证明者生成证明的过程往往涉及大量复杂的密码学计算,导致生成证明的时间极长,大大超出了应用程序可接受的延迟范围,极大地限制了零知识证明。 经过验证的使用场景。 例如,由于Zcash之前生成证明的成本高昂,普通用户大量使用没有隐私保护的交易方式,造成隐私泄露; 另一个例子是现在的 zk-rollup 技术。 低,一旦后期复杂度增加,聚合节点生成证明的时间会过长,影响交易的实时性。

针对这一问题,来自微软亚洲研究院、北京大学、清华大学、上海树图区块链研究院的研究人员联合提出了一种名为“PipeZK”的高效硬件加速系统,可以将零知识证明过程加速超过10倍算力变成比特币流程,证明进程的延迟降低了一个数量级。 PipeZK系统可广泛应用于隐私保护和区块链Layer-2技术场景,可显着增强区块链的交易隐私保护,提高交易吞吐量。 相关论文《PipeZK: Accelerating Zero-Knowledge Proof with a Pipelined Architecture》已被计算机体系结构领域世界顶级学术会议ISCA'21录用。

zk-SNARK协议是近年来最流行、最高效的零知识证明协议之一。 其证明过程主要包括两部分计算(如图4所示):一是高次多项式的乘法(以下简称POLY),二是大规模椭圆曲线向量乘积(以下简称POLY)作为 MSM)。 通过深入研究,研究人员发现这两部分都可以通过高效的流水线(Pipeline)并行加速,从而使ASIC(专用集成电路,application-specific integrated circuit)的计算资源得到高效处理并且可以配合CPU来处理这个。 两部分计算。

360截图16440809323970.png

图4:zksnark的主要计算部分:多项式乘法(POLY)和椭圆曲线向量乘法(MSM)

对于POLY部分,研究人员主要采用数论变换(NTT)算法进行处理(如图5所示)。 为了解决zk-SNARK中POLY的计算规模过大,导致ASIC片上计算资源和片外内存访问速度过慢的问题,研究人员设计了一个高效的流程来迭代分解large-scale NTT into small-scale NTT ,并使用FIFO等数据结构来提高内存访问效率。 此外,研究人员还采用了数据平铺、片上矩阵转置等方法来提高片外存储器的效率。 通过PipeZK系统,POLY部分可以加速20倍以上。

比特币显卡算力排行_算力变成比特币流程_比特币算力监控

360截图16440809323970.png

图 5:POLY 部分的优化设计

针对MSM部分,研究人员采用高效的Pippenger算法处理椭圆曲线的向量乘法,分析相应标量部分的数据分布,并采用与之适配的调度机制,从而优化片上资源的利用提高并行度(图6)。 研究人员进一步采用粗粒度的处理方式,将ASIC上的计算单元解耦,使其可以独立处理计算任务,避免了计算单元的闲置。 实验结果表明,PipeZK系统可以将MSM部分的延时降低77倍以上。

360截图16440809323970.png

图 6:MSM 部分的优化设计

研究人员在零知识证明的各种测试集和应用上对 PipeZK 进行了测试,均取得了可观的性能加速。 例如,在一系列密码电路(如AES、SHA256等)的零知识证明中,PipeZK甚至比最流行的GPU算法快(接近)20倍。 在 Zcash 的交易证明生成方面,PipeZK 系统还可以将证明过程的延迟加速 5 倍以上。 经过分析,目前端到端的性能瓶颈主要集中在见证生成和G2曲线计算上。 相信通过后续的优化,加速比会进一步提升。

区块链研究方兴未艾,数据分析和密码学相关研究仅提供两个视角。 其他方向,如区块链系统/共识性能优化、合约安全、Layer-2技术、应用创新等,近年来也产生了大量工作。 微软亚洲研究院也在区块链的其他方向进行创新探索,未来将为大家带来更多前沿工作介绍。