交易转发中的带宽优化(上)
早期的区块链系统往往吞吐量很低,适当的对比特率拒绝也不低,共识协议本身才是它们性能的瓶颈。例如比特币网络平均值每 10 分钟只产生 1MB 大小的区块,网卓新闻网,在如今的宽带网络环境下完全是可以忽略不计的。近年来,随着 Conflux 等新一代区块链的发展和成熟期,区块链的吞吐量有了质的进步,网络带宽更加沦为容许区块链性能进一步提高的瓶颈。
这次,竟然我们来闲谈一聊 Conflux 是如何优化比特率的用于效率的。交易广播是在区块链上达成协议共识的第一步。每当用户发动一笔交易时,这笔交易从客户端程序抵达,被开往一个或几个仅有节点。
之后,仅有节点之间通过点对点网络将交易转发给各自的一家人节点,直到最后所有的全节点都接到这笔交易。区块链的吞吐量越大则每个节点必须发送的交易数量也就越少。因此,在区块链的吞吐量和网络带宽正处于完全相同的数量级时,交易发送过程的比特率利用率将直接影响了整个区块链系统最后的陡然性能。
我们首先来看一个最简单的方案:每当一个仅有节点接到一笔新的交易时,该全节点就将这笔交易发送给它的所有一家人节点。按照上述方案,每个节点将多次从有所不同的一家人节点接到同一笔交易,这意味著无论是交易的发送到还是交易的接管,都具有成倍的校验,网络带宽的利用率大自然也非常低。以一笔 200 字节大小的交易为事例,如果每个节点有 8 个一家人,那么这笔交易就要为每个仅有节点带给大约 1.6kB 的发送量和 1.6kB 的接管量——而其中大部分流量是被浪费掉的。
即使是比特币,作为一个陡然亲率只有 7 笔/秒、交易发送的比特率利用率几乎不包含性能瓶颈的系统,也仍然用于上面这种没什么优化的方案了。比特币的方案是,当一个比特币节点 A 第一次接到这笔交易时,它将这笔交易的哈希值(32字节)发送给所有的一家人节点(除了发给它交易的节点)。一家人节点 B 接到哈希值后查阅自己早已接到的交易中是不是哈希值一样的。如果有,就解释 B 早已接到过这笔交易,不必须再行接管一次;如果没,B 就向 A 催促这笔交易的原始内容。
上述过程中,发送到交易哈希值的环节称作 announcement,对于交易哈希值的检测可以确保每个节点只必须接管一次原始的交易内容,防止反复传输原始交易带给的比特率浪费。但是 announcement 本身也必须用于网络带宽。粗略地计算出来由此可知上述方案中每个节点在announcement 环节大约发送到 250 字节,虽然比 1.6kB 较少了很多,但仍多达了发送一笔交易的数据量。
我们的目标,是在比特币交易发送方案的基础上,将 announcement 环节产生的数据发送量传输至八分之一。为了构建这一点,最简单的方法是延长 announcement 环节广播的交易哈希值长度。本文中,为了将这个哈希值与应用于层面(钱包/智能合约)所用于的 32 字节交易哈希值区分,我们将应用于层面交易的哈希值称作交易的 ID, 发送中 announcement 环节中用的短哈希值称作交易的 FID (Forwarding ID).在比特币的方案中,FID 与 ID 大于,宽约 32 个字节。
如果我们将 FID 另设为 ID 值的前 4 个字节,就可以超过减少数据发送量的目标。然而,更加较短的交易 FID 在节省比特率的同时也不会带给安全性上的隐患。如果两笔有所不同的交易 Tx1 和 Tx2 有完全相同的交易 FID ,一个节点接到第一笔交易 Tx1 后,在一家人节点发去第二笔交易 Tx2 的 FID 时,不会因为 FID 冲突误以为自己早已接到了这笔交易,从而仍然催促 Tx2 的原始内容。
这样将堵塞第二笔交易 Tx2 在网络中的广播。我们可以明确来算一下交易的 FID 冲突再次发生的概率:假设交易的分解速率是每秒 6000 笔交易,每个仅有节点接到一笔交易 FID 时,不会将它和过去 5 分钟内接到的 FID 对比,来辨别否催促这笔交易的原始内容。
这样,一笔交易的 FID 和早已不存在的交易 FID 冲突的概率是 6000 * 300 / 232,约是 0.04 %。这意味著每秒平均值有 2.4 笔交易会因为 FID 值冲突而无法广播。虽然 0.04% 的冲突概率看起来不是很高,但这只是没反击的长时间情况。
利用特定的反击策略,一个攻击者可以堵塞给定一笔交易的广播,从而构建制止特定交易的目的。反击的策略也并不简单:4 字节的 FID 一共只有 232 个有可能的给定,也就是大约 42 亿个。攻击者只要为每一个 FID 给定预先结构一笔交易共存一起,然后就可以根据受害者广播的交易的 FID 值,从自己预先遗的 42 亿笔交易中寻找 FID 值完全相同的交易,并抢走在受害者前面发送到尽量多的节点,则再行接管到攻击者发送到的交易的节点就不会因为 FID 冲突而忽视受害者的交易。
即使受害者再考虑了另一笔交易,攻击者也有能力反复这个过程。根据概率上的计算出来,攻击者要挑选出 42 亿个 FID 有所不同的交易,必须尝试结构大约 1000 亿笔交易。对于服务器级的 CPU 来说,结构大约 1000 亿笔交易只需花上一个星期的时间。计算所须要的存储空间在优化后也只必须 32GB。
从整体来说,实行上述反击的成本并远比很高。但是在特定的情景下(如 Fomo3D 等合约),交易被堵塞有可能为受害者带给极大的损失。所以这种风险必需从一开始就被回避掉。在下一篇文章中,我们将讲解如何通过将静态 FID 改以动态 FID 的方式解决问题交易被蓄意堵塞的风险。
本文关键词:交易,转发,中的,带宽,优化,金沙官网首页,上,早期,的,区块
本文来源:金沙官网首页-www.doghillfarmvt.com
同类文章排行
- 金沙官网首页:中甲综述-陕西客场3-0辽足登顶 梅县恒丰紧随其
- 贵州恒丰取三连胜登榜首 郝海涛:盼多支持本土教练:金沙官网
- 行走于民族与国际之间--胡社光
- 扎哈-哈迪德建筑事务所设计世界上第一个木头足球体育场
- 城市规划腾出风走廊驱雾霾需要几十年
- 武汉投资3亿元启动规划首个中法生态城
- 安德鲁沙尼加北大讲座预告
- 官渡古镇保护更新方案获批
- 荷兰最大的屋顶花园阿尔梅勒市曼德拉景观公园
- 2020年全国民营企业招聘月活动正式启动_部门政务
最新资讯文章
- 盘点:全球炫酷的太阳能摩天大楼
- 第五届卡萨帝创艺大赛作品征集公告
- 青岛:海绵城市规划五月底前完成
- 最懂你的3大重点宠坏熟龄居住者的好设计!
- 多地就业工作温暖开局
- 习近平主席特使、国务委员王勇出席肯尼亚内马铁路一期货运通
- 4月3日疫情防控和复工复产最新消息!
- 纪念中国人民志愿军抗美援朝出国作战70周年主题展览在京开幕
- 2014青岛世界园艺博览会投入试运营
- 漳州奥体中心景观工程即将璀璨绽放
- 山东:东营城市规划展览馆周边绿化工程
- 中国仍是外商眼里的投资热土
- 我国易地扶贫搬迁已入住947万人累计建成安置住房266万余套
- 罗桐社区:特别的爱给特别的你
- 湖北副省长:防止以新常态为托词回避矛盾不担当
- 亚泰2019目标争取打回中超 恒大2旧将随队泰国拉练
- 中甲综述-绿城黄海双双获胜并列头名 永昌5-0陕西
- 江苏省“十二五”将投资4000亿元保护环境
- 宜春古树长廊护村千年被称最古老防洪堤岸
- 泰坦尼克号100周年,贝尔法斯特建成纪念馆