共识机制是若干节点完成信息认证和同步并以此达成共识的重要手段.现有的共识机制通常都不能抗并行计算且具有中心化趋势,如工作量证明(proof of work,PoW)、权益证明(proof of stake,PoS).这就导致以获取出块奖励为目的的恶意挖矿造成...共识机制是若干节点完成信息认证和同步并以此达成共识的重要手段.现有的共识机制通常都不能抗并行计算且具有中心化趋势,如工作量证明(proof of work,PoW)、权益证明(proof of stake,PoS).这就导致以获取出块奖励为目的的恶意挖矿造成大量资源浪费,尤其是电力资源,还影响区块链系统的安全.本文将可验证延迟函数引入共识机制,提出一种抗并行计算的公开可验证出块权的区块链共识机制.该机制利用安全哈希函数和可验证延迟函数的串行性,结合随机数使出块权的获得随机化,不依赖于算力.在这种情况下,增加算力和设备并不能更大概率获得出块权,因此,可以抵抗恶意挖矿和恶意挖矿攻击,避免资源浪费.找到一种实用的可验证延迟函数来编程实现该机制,确保其高效、稳定和安全的运行.最后,对该共识机制进行实验评估和安全性分析,将其与PoW、PoS等进行了共识过程比较和安全性比较.展开更多
外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用...外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用于描述函数接口信息的多语言融合的统一表示。基于此统一表示,不同平台的代码生成器可利用多语言转换规则矩阵,全自动化地生成不同平台的FFI相关代码。为解决FFI代码生成中的效率低下问题,设计了一种基于依赖分析的任务聚合策略,通过把存在依赖的任务聚合为新的任务,有效消除了FFI代码任务在并行下的阻塞与死锁,从而实现任务在多核系统下的可扩展与负载均衡。实验结果表明:与人工编码相比,AFIG方法减少了FFI开发中98.14%的开发编码量以及41.95%的测试编码量;与现有的SWIG(Simplified Wrapper and Interface Generator)方法相比,在同等任务下可减少61.27%的开发成本;且生成效率随着计算资源的增加呈线性增长。展开更多
文摘共识机制是若干节点完成信息认证和同步并以此达成共识的重要手段.现有的共识机制通常都不能抗并行计算且具有中心化趋势,如工作量证明(proof of work,PoW)、权益证明(proof of stake,PoS).这就导致以获取出块奖励为目的的恶意挖矿造成大量资源浪费,尤其是电力资源,还影响区块链系统的安全.本文将可验证延迟函数引入共识机制,提出一种抗并行计算的公开可验证出块权的区块链共识机制.该机制利用安全哈希函数和可验证延迟函数的串行性,结合随机数使出块权的获得随机化,不依赖于算力.在这种情况下,增加算力和设备并不能更大概率获得出块权,因此,可以抵抗恶意挖矿和恶意挖矿攻击,避免资源浪费.找到一种实用的可验证延迟函数来编程实现该机制,确保其高效、稳定和安全的运行.最后,对该共识机制进行实验评估和安全性分析,将其与PoW、PoS等进行了共识过程比较和安全性比较.
文摘外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用于描述函数接口信息的多语言融合的统一表示。基于此统一表示,不同平台的代码生成器可利用多语言转换规则矩阵,全自动化地生成不同平台的FFI相关代码。为解决FFI代码生成中的效率低下问题,设计了一种基于依赖分析的任务聚合策略,通过把存在依赖的任务聚合为新的任务,有效消除了FFI代码任务在并行下的阻塞与死锁,从而实现任务在多核系统下的可扩展与负载均衡。实验结果表明:与人工编码相比,AFIG方法减少了FFI开发中98.14%的开发编码量以及41.95%的测试编码量;与现有的SWIG(Simplified Wrapper and Interface Generator)方法相比,在同等任务下可减少61.27%的开发成本;且生成效率随着计算资源的增加呈线性增长。