http://www.7klian.com

硬核:深入讲授 Monoxide 的区块压缩算法 Txilm

3 单个碰撞的概率

单个碰撞被界说为环境 1 或 3 至少产生 1 次。这种碰撞可以在吸收到的 TXID-HASH 之间,可能处于吸收到的列表和内存池之间。

3、找到多个匹配的 TX:吸收方将收集所有匹配的 TXIDs 作为第二阶段理会的候选集。

4 团结 CTOR 技能

类型生意业务排序法则 (CTOR) 是一种排序方案,它按照生意业务的哈希对一个区块和内存池中的生意业务举办排序,该方案已经被陈设在 BCH 网络中。基于 CTOR 方案,所提的方案将实现更低的碰撞率和更高的压缩率。

TXID-HASH = h( Salt + TXID )

以下文章翻译自 Monoxide 团队的 Medium 博文,猎豹移动区块链团队王海龙完成翻译和校对。

原文标题:《Monoxide 公链系统中的带盐短哈希有损区块压缩算法
k = 32, PSC = 0.00014

该盐值该特定于携带那些 TXID-HASHes 的区块并被包罗在编码的数据中。譬喻,直接将 CRC32-Merkle 的根作为盐,或引入另一个 4 字节字段,随机生成。

对第二阶段搜索的一个可选优化是,在实际从头计较 Merkle 根之前,添加轻量级的预查抄。我们提出了一种轻量级的 Merkle 树,CRC32-Merkle 树,即用 CRC32 代替 SHA256,4 字节的 Merkle 树节点和根。当建设一个新区块,4 字节的 CRC32-Merkle 根将预置到编码的 TXID-HASH 数据。在搜索正确的组适时,这发生了 40 倍的加快。(在 16 字节上算 SHA256 比拟 在 8 字节上算 CRC32)

这种 k 比特的小尺寸哈希大概会发生二义性 (ambiguity),这需要每个全节点办理。一旦从发送方吸收到包罗 TXID-HASH 列表的新区块,吸收方就在其内存池中的哈希列表中搜索每个吸收到的 TXID-HASH。对付每个 TXID-HASH,大概产生三种环境,别离如下:


PSC = 1 - (1 - 1/2^k) ^ (m * n + n * n/2)

在验证进来的新区块时,包罗矿工在内的所有全节点都可以察觉到此类进攻。它可以通过简朴地计较每个区块中带二义性的 TXID-HASH 的数量来做到。假如数量显明明高于预期值而且调查到分叉。下一个区块应该回退到 TXID 列表算法

[2 ]BIP152: Compact Blocks: https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki
K = 16, PSC = 0.046
带盐的短哈希

一个简朴的防护计策是在计较 TXID-HASH 时引入一个盐 (Salt):

7kLian.com动静,公链项目 Monoxide 宣布了区块压缩算法 Txilm,据该项目首创人王嘉平先容,Txilm 算法从比特币提案「BIP152」出发,举办了进一步改造,利用该算法将使区块传输带宽需求低落到本来的 1/80,同时使得斗嘴概率节制在 1/1000 阁下,个中消解斗嘴的计较劲可以忽略不计。另外,该算法不依赖各个全节点之间的 mempool 是高度一致的,无需特另外协议保持 mempool 的同步。

个中 h 是一个小尺寸的哈希函数,它可以发生 32 比特到 64 比特的哈希值。该函数可以仅是 CRC32,CRC40 或 CRC64。所提新的致密区块方案只包罗一个 TXID-HASH 列表,按生意业务 TX 的初始列表排序。

PSC = 1 - (1 - 1/2^k) ^ (m + n/2)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!