智能合约两阶段并发执行协议
发布时间:2022-01-23 16:20
区块链技术因其去中心化、防篡改以及可追溯的特点受到各方青睐。可编程的智能合约的出现则将区块链技术的应用领域拓展到传统行业的方方面面。然而单线程串行的智能合约执行模型愈发成为系统的性能瓶颈,如何高效地并发执行智能合约交易进而提升系统性能成为现如今区块链技术落地的一大挑战。由于区块链环境中拜占庭节点的存在,智能合约交易的执行与传统数据库有着很大的区别,故传统的数据库并发控制协议不能直接应用到智能合约交易的执行中。已有的遵循“主节点执行-验证节点回放”这种两阶段执行框架的并发执行工作仅仅考虑了主节点的执行效率,而忽视了针对验证节点回放效率的优化。本文在沿用上述两阶段并发框架的前提下,创新性地提出了一种兼顾主节点执行和验证节点回放的并发执行协议——2PX(Two-Phase Execution)协议。在结合PBFT这种三轮网络交互的共识算法时,本文在执行方面进一步优化了2PX,并在开源的拜占庭容错(BFT)系统中实现该优化协议。具体来说本文的主要贡献包含如下三点:1.本文提出了一种兼顾主节点执行和验证节点回放的并发控制协议2PX。主节点采用一种批处理的乐观并发控制协议(Batching OCC...
【文章来源】:华东师范大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:87 页
【学位级别】:硕士
【部分图文】:
以太坊智能合约交易串行执行
第一章绪论华东师范大学硕士学位论文我们常说的挖矿;一轮共识中,成功解决密码学问题的节点(主节点)将区块广播给所有节点(验证节点)进行区块的验证工作;验证节点完成所有智能合约交易的执行,验证区块的正确性。联盟链同样可遵循OX范式实现智能合约,与公有链不同的是,联盟链的共识通常是由部分身份确认的节点(排序节点)完成。排序节点运行传统的共识协议,如PBFT算法,对交易进行共识排序。共识完成后,执行节点进行智能合约交易的执行。为简单起见,智能合约交易在后面的行文中简称为交易。图1.2:HyperLedgerFabric的XOV范式HyperLedgerFabric则实现了另一种完全不同的智能合约处理范式——XOV范式,该范式调换了共识排序与交易执行的顺序,采用先执行交易,后对交易进行排序,最后验证执行结果的方式。这种范式最初在Kapritsos等人提出的拜占庭容错状态机复制系统Eve中实现[15]。这种先执行后验证的方式借鉴了乐观并发控制(OCC)的思想。如图1.2所示,Fabric中有三种角色,分别是客户端、背书节点和共识节点,其沿用了Eve这种先执行后排序的范式来处理智能合约:客户端首先发送交易到各自通道的背书节点;背书节点模拟执行交易,然后返回客户端执行过程中收集的读写集;当客户端收集到足够多匹配的模拟执行结果,随即把交易发送到共识节点进行共识排序;共识节点对交易的全局顺序达成一致后,打包区块发送给各节点;各节点验证交易的读写冲突并更新本地账本。多通道之间并发执行智5
华东师范大学硕士学位论文第一章绪论图1.3:智能合约两阶段并发执行流程最大化验证节点的回放并发度。Zhang等人提出的MVTO协议要求记录所有交易在主执行阶段产生的写集,并传输给验证节点[21]。验证节点根据写集构造数据项的版本链,所有的交易在并发回放的过程中从版本链中读取一致性的数据。但是传输冲突项所有版本的数据带来的开销也是不容忽视的。而另一类工作则偏向于使用简明扼要的有向图的方式来捕捉交易间的冲突关系。例如,Dickeson等人在[20]使用happen-before图来描述主节点发现的冲突关系和可串行化顺序。验证节点则以happen-before图作为输入生成fork-join多线程任务[23],并发回放所有的交易。这种方式虽然大大降低了通信开销,然而回放交易时监控冲突交易状态的开销很大,回放效率低。因此,如何在提升执行效率的同时优化传输开销是本文解决的一个具有挑战性的问题。通过对智能合约并发问题以及现有工作的分析研究,本文沿用两阶段执行流框架,设计了一种兼顾主节点执行效率和验证节点回放效率的并发控制协议——8
【参考文献】:
期刊论文
[1]智能合约:架构及进展[J]. 欧阳丽炜,王帅,袁勇,倪晓春,王飞跃. 自动化学报. 2019(03)
[2]区块链技术:架构及进展[J]. 邵奇峰,金澈清,张召,钱卫宁,周傲英. 计算机学报. 2018(05)
本文编号:3604722
【文章来源】:华东师范大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:87 页
【学位级别】:硕士
【部分图文】:
以太坊智能合约交易串行执行
第一章绪论华东师范大学硕士学位论文我们常说的挖矿;一轮共识中,成功解决密码学问题的节点(主节点)将区块广播给所有节点(验证节点)进行区块的验证工作;验证节点完成所有智能合约交易的执行,验证区块的正确性。联盟链同样可遵循OX范式实现智能合约,与公有链不同的是,联盟链的共识通常是由部分身份确认的节点(排序节点)完成。排序节点运行传统的共识协议,如PBFT算法,对交易进行共识排序。共识完成后,执行节点进行智能合约交易的执行。为简单起见,智能合约交易在后面的行文中简称为交易。图1.2:HyperLedgerFabric的XOV范式HyperLedgerFabric则实现了另一种完全不同的智能合约处理范式——XOV范式,该范式调换了共识排序与交易执行的顺序,采用先执行交易,后对交易进行排序,最后验证执行结果的方式。这种范式最初在Kapritsos等人提出的拜占庭容错状态机复制系统Eve中实现[15]。这种先执行后验证的方式借鉴了乐观并发控制(OCC)的思想。如图1.2所示,Fabric中有三种角色,分别是客户端、背书节点和共识节点,其沿用了Eve这种先执行后排序的范式来处理智能合约:客户端首先发送交易到各自通道的背书节点;背书节点模拟执行交易,然后返回客户端执行过程中收集的读写集;当客户端收集到足够多匹配的模拟执行结果,随即把交易发送到共识节点进行共识排序;共识节点对交易的全局顺序达成一致后,打包区块发送给各节点;各节点验证交易的读写冲突并更新本地账本。多通道之间并发执行智5
华东师范大学硕士学位论文第一章绪论图1.3:智能合约两阶段并发执行流程最大化验证节点的回放并发度。Zhang等人提出的MVTO协议要求记录所有交易在主执行阶段产生的写集,并传输给验证节点[21]。验证节点根据写集构造数据项的版本链,所有的交易在并发回放的过程中从版本链中读取一致性的数据。但是传输冲突项所有版本的数据带来的开销也是不容忽视的。而另一类工作则偏向于使用简明扼要的有向图的方式来捕捉交易间的冲突关系。例如,Dickeson等人在[20]使用happen-before图来描述主节点发现的冲突关系和可串行化顺序。验证节点则以happen-before图作为输入生成fork-join多线程任务[23],并发回放所有的交易。这种方式虽然大大降低了通信开销,然而回放交易时监控冲突交易状态的开销很大,回放效率低。因此,如何在提升执行效率的同时优化传输开销是本文解决的一个具有挑战性的问题。通过对智能合约并发问题以及现有工作的分析研究,本文沿用两阶段执行流框架,设计了一种兼顾主节点执行效率和验证节点回放效率的并发控制协议——8
【参考文献】:
期刊论文
[1]智能合约:架构及进展[J]. 欧阳丽炜,王帅,袁勇,倪晓春,王飞跃. 自动化学报. 2019(03)
[2]区块链技术:架构及进展[J]. 邵奇峰,金澈清,张召,钱卫宁,周傲英. 计算机学报. 2018(05)
本文编号:3604722
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3604722.html
最近更新
教材专著