软件工程论文哪里有?本文通过对 Bitcoin Core 中采集到的交易数据分析表明,减少交易的验证时间对提升交易的传播效率非常重要。局部团网络是介于结构化和非结构网络之间的新型网络,既存在结构化的团结构,又有随机结构。从小世界网络角度而言,在局部团网络引入少量的随机连接就可以显著降低整个网络的特征路径长度,有效提高交易的传播速度。本文进行了详尽的实验,实验表明对比现有比特币网络,局部团网络有更高的传播效率、更低消息冗余度以及良好的鲁棒性。局部团网络不仅可以用于提高比特币的交易传播效率,对于促进 DAG技术的发展也有重要意义。
第 1 章 绪论
1.2 国内外研究现状
由于比特币网络非结构化和匿名性特点,无法准确的测量比特币网络,因此对于比特币网络的整体测量,可采用聚类启发方式,向用户网络添加与交易相关的信息(如 IP 地址、地理位置)以克服比特币网络的匿名性。目前学术界多关注于改进区块的传播效率,而对改进交易的传播效率关注度不够。Christian 和 Roger 分析了比特币网络中区块和交易的广播情况,认为网络延迟是区块分叉的主要原因[18]。因此,他们改进了区块传播,并建议直接转发小交易以减少交易声明和请求造成的通信时延。Lischke 等人[19]认为比特币网络在一定程度上是一个无标度网络,比特币矿池拥有大量的连接,而钱包用户只拥有少量连接。矿池连接大量节点的主要原因是,一方面矿池需要确保矿工在合法区块后开采,另一方面,矿池要及时向整个网络广播区块,确保自己能够获得区块奖励。
交易费虽然可以激励矿工将交易打包到区块,但也阻碍了交易的传播,因为自私的矿工会选择不传播交易以期许可以在未来产生的区块中获得这笔交易费[20][21]。Donet 和Antoni 的研究[22]从侧面证实了这一现象,他们发现交易传播速度远慢于区块,例如在比特币网络中,将 50%的区块广播给 25%的节点需要的时间不到 22 秒,而将 50%的交易广播给 25%的节点则需要 17 分钟。
第 3 章 基于局部团网络的比特币交易传播算法研究
3.1 引言
比特币网络本质上是一个非结构化的 P2P 网络,节点间共同维护一个分布式账本,使用一个改进的 Gossip 协议来同步数据,通过链式结构、密码学等技术保证所有节点间账本状态的一致性。Gossip 协议具有简单、扩展性好等优点,但存在泛洪攻击、广播风暴等安全风险。Gencer 等人[52]研究表明,虽然以太坊中节点分布更广泛,但节点的空闲带宽更少,比特币的非结构化网络和以太坊的结构化网络两者的消息传播效率相近。
近年来,比特币的安全性和隐私性引起了学术界的广泛关注[53][54][55],一些研究者关注于提高交易的安全性[56][57][58]。在传播效率方面,研究者将重点放在了如何提高区块的传播效率[18][19][59],但对提高交易传播效率的关注还不够。区块链中的节点不需要信任其他节点,每个节点都会独立验证交易和区块。为了避免分叉,比特币限制了出块时间和区块大小,这导致交易传播效率不高,阻碍了区块链在高吞吐量场景下的应用。此外,比特币网络主要依赖钱包节点广播交易,而钱包节点的局部聚类系数大,节点平均度高[22],这进一步增加了交易传播的时间延迟和消息冗余。
本节提出一种局部团网络结构,通过两种传播策略来提高比特币网络中交易的传播效率。首先对 Bitcoin Core 中的数据进行了测量,分析了 366 个区块中交易的单跳传播数据,根据分析结果,我们提出了两种适用于局部团网络的传播策略。对比现有的比特币网络,本文提出的新的传播策略可以有效降低因交易验证引起的传播时延,并在网络的连通性、广播的安全性、消息的冗余性、网络的鲁棒性等方面有良好的性能。
第 4 章 面向区块链的去中心化机器学习框架研究
4.1 引言
人工神经网络作为当前最热门的研究点,在图像识别[62]、生物医学[63][64]等方面都有广泛的应用。目前区块链和机器学习结合应用还处于起步阶段,机器学习和区块链的交叉应用主要面临模型选择、数据集来源、共识机制等问题。本节基于区块链,将神经网络训练开销作为 PoUW,提出并实现了模型链(Data and Model Chain, DMChain)。 神经网络存在一定的冗余性,可以找到一个规模小得多的子网络替代当前模型,以获得相同的模型表达能力[51],这个子网络通常称为骨架网络(Backbone Neural Network)。骨架网络可以实现更高效的模型并行。Sun 等人[65]提出一种针对神经网络模型的随机划分方法,通过模型压缩和删减选取骨架网络作为训练的基础,同时每个节点选取一些其他神经节点进行探索训练。模型链中的节点可以采用骨架神经网络进行探索训练。一般而言,某个应用场景中收集的数据具有关联度高、时序化等特点。在实际应用中,大部分软件、网站都会收集用户数据用于数据分析或改进软件,例如,谷歌输入法收集用户数据,使用用户设备进行分布式机器学习以改善输入法体验。同样地,模型链依靠用分享的数据来训练和评价模型。
在公开的分布式网络中,无代价的投票容易产生“女巫攻击”(Sybil Attack)问题[17][66],比特币的中本聪共识选择了节点计算哈希值,并以付出的算力作为投票代价。模型链使用训练神经网络模型消耗的算力作为 PoUW,即节点需要先训练出合格的模型才能对区块进行投票。区块链作为一个分布式账本系统,每个区块主要用于存储一段时间内的交易。在模型链中,使用“事务”来指代区块链中的交易,而区块主要存储的是节点分享的数据和模型。
4.2 数据收集和数据集划分
4.2.1 数据收集
虽然区块链中的公钥具有一定的匿名性,但仍存在通过对公开账本进行分析来侵犯用户隐私的风险,而把用户分享的数据直接暴露在区块链中更增加了上述可能性。环签名作为一种数字签名方案,具有匿名性、不可伪造、签名者可以自由决定匿名范围、无需可信第三方等特点。模型链中节点通过数据事务(Data Transaction, DTx)进行数据分享。一个数据事务包括事务的哈希值、数据哈希值、时间戳、环签名以及公钥集合。节点使用环签名提高匿名性,节点对数据事务环签名应对不同的数据事务应使用多个新公钥进行环签名,让数据集中数据环签名的公钥集交叉相关。上述方式称为理想环签名(Ideal Ring Signature),将会在 4.4.1 风险分析小节中进一步讨论这个问题。
假设某节点有公钥 pk,私钥 sk,节点本地未使用的公钥集合为 PKS1,已使用公钥集合为 PKS2。节点数据事务 DTx 分享数据 d,且 H(d) 为数据哈希值,ts 为时间戳。算法 4.1描述了节点数据分享过程。节点首先从 PKS1 中随机选择 n 个公钥放到 PKS3 中,然后使用公钥集合 PKS3 和私钥 sk 对 H(d) 和 ts 环签名得到 sig,最后将 sig、PKS3等一起打包到数据事务中并广播到全网。
第 5 章 总结与展望
5.1 文章总结
随着区块链技术的不断发展进步,必将出现更多“区块链+”应用和服务场景。机器学习作为“有用工作量证明”近年来被学术界广泛关注。现有的工作并没有解决不依赖软件商更新软件中的模型,同时机器学习作为工作量证明花费的验证时间显著高于哈希工作量证明,这对交易或区块的传播也提出了挑战。目前各种基于中本聪共识的 DAG 技术将区块链的吞吐量提高到一个新的高度,但交易传播速度过慢危害了区块链的安全。本文提出一种局部团网络用以改进区块链的交易传播,并基于区块链技术实现了一个端到端的去中心化更新神经网络模型框架。
通过对 Bitcoin Core 中采集到的交易数据分析表明,减少交易的验证时间对提升交易的传播效率非常重要。局部团网络是介于结构化和非结构网络之间的新型网络,既存在结构化的团结构,又有随机结构。从小世界网络角度而言,在局部团网络引入少量的随机连接就可以显著降低整个网络的特征路径长度,有效提高交易的传播速度。本文进行了详尽的实验,实验表明对比现有比特币网络,局部团网络有更高的传播效率、更低消息冗余度以及良好的鲁棒性。局部团网络不仅可以用于提高比特币的交易传播效率,对于促进 DAG技术的发展也有重要意义。
在模型链中,本文首先介绍了如何在 P2P 网络中实现数据分享和统一的数据集划分,并建议节点使用环签名保护隐私。然后,将节点训练的合格模型作为 PoUW,节点在分享模型时对数据集和前一个区块投票,避免了传统投票机制下的“女巫攻击”问题。本文实现了一个用于数字识别的模型链,实验结果表明模型链通过模型竞争可以有效提高神经网络模型的精确度,即链中时序化的数据和基于骨架网络的探索训练可以适应实际场景下发生的用户迁移。模型链为开源软件或多方机构间的机器学习合作提供了一个新的平台。
最后,本文将局部团网络和模型链两项工作进行了结合。考虑到模型链中的模型事务需要花费大量的时间在训练集上验证模型精度,影响了模型事务的传播效率,本文在局部团网络上进行了模型事务的传播实验,实验取得了良好的效果,极大的提升了模型事务的传播速度。局部团网络和模型链的成功结合,对于未来的有向无环图技术或有用工作量证明具有重要的意义。
参考文献(略)