SHA-256算法是可以非常快速地验证,所以比特币的工作量证明时间几乎可以忽略。但不一样的是,一个scrypt算力的工作量证明机制就需要花费3到30毫秒来验证,具体多长时间要基于其所选择的参数(抗GPU,或抗ASIC)。为了保护网络免于垃圾交易和Dos攻击,每一个节点在将最新区块头转发前都需要验证工作量证明计算结果,结果是验证延迟的时间会被区块在矿工间的关键路径上传播的跌点(hops)数呈倍数放大。
7.13 客户端网络协议栈
一个节点接收到一个区块头后,为了降低全网无效区块的产生,最好的办法就是尽快转发。这意味着所有其他节点活动会暂停或停止。根链的设计允许立即中止低优先级的操作,并且建立重新接受(re-tries)。为了允许立即转发,客户端网络堆栈不阻止客户端交易验证程序或其它家务活动(译者注:这里的“家务活动”原文是“housekeeping activities”),比如对区块链的重组。这样根链的客户端就可以实现多线程和动态分配线程优先级,可以提高接收区块头的线程的优先级。
7.14 区块开销(译者注:翻译可能不准确,原文是“The Block Overhead”)
大多数加密货币的区块头体积都是非常小的(~100字节),相较于整个区块来说区块头的大小并不会造成显著的开销。根链的区块头更大一些,但是区块头的开销对传播时间有显著的负面影响,因为低级别的MTU网络一般是1500字节,这大于区块头的大小。(译者注:这一句译的不通畅,我也没有搞清楚原文的因果关系,原文是:The Rootstock header is larger, but the block header overhead does have a noticeable negative impact on the propagation time, since low-level network MTU is generally 1500 bytes, which is above the block header size.)
7.15 仿真
我们使用离散事件仿真专门设计了一个模拟区块传播的系统,并且成功模拟了区块传播。这个模拟器模拟了一组顶部矿工(top-miners)之间的相互协作,每一个矿工都处在一个随机图中,并且他们之间的跃点(hop)距离是在网络中的节点距离的平均值附近。即使这种情况不是最坏的,因为这对于顶部矿工(top-miners)间的良好相互连接是最有利的,我们假设矿工的表现不比平均水平差。这个模拟的事件是在一个位置上产生一个区块,并且将区块广播到其他矿工位置。模拟仿真结果显示了一个包含5个区块和300TPS的根链(目前块间隔为10秒)。仿真的关键结果是一个交易在20.35秒内被接受的概率是99.98%(反转概率为0.02%)。请注意这个反转概率是没有考虑可能删除这个交易的分叉,所以在实际情况中这个概率要低的多。
7.16 安全联合挖矿
联合挖矿是一种允许比特币矿工同时挖其他加密货币的技术,并且边际成本接近零。根链的挖矿设备和使用方法和挖比特币是一样的,这就可以让比特币矿工在挖比特币的同时挖根链。这意味着,因为根链会支付额外的交易手续费,这可以很好的激励联合挖矿。但同时也意味着使用pump-and-dump(译者注:这个词在股市里是庄家坐庄拉高和出仓的意思),或者平行链(parallel chains)来攻击网络的成本要比攻击非联合挖矿加密货币的成本更低。根链在初始引导阶段为防止攻击采取了多种保护措施:
联邦检查点(Federated checkpoints):根链客户预设由联邦成员签署的检查点。联邦将包括由交易所和其他高安全成员参与组建。节点使用联邦检查点防御Sybil攻击并通知用户。
挖矿铸币成熟期:每一个矿工挖出的币有一个24小时的成熟期,略高于比特币(译者注:比特币新挖出的币需要经过100个区块后才可以用,平均一个区块是10分钟,那比特币的成熟期是1000分钟,约16.67小时)。增加这个成熟期时间可以减少pump-and-dump攻击。
源代码嵌入检查点。
8.交易的隐私根链的交易隐私并不比比特币更强,也是依赖于代理名的。然后根链的虚拟机是图灵完备的,所以诸如CoinJoin和AppeCoin等匿名技术可以非常安全而且不需要第三方信任,就可以移植到根链上。
9.安全竞争币并没有广泛地使用和比特币联合挖矿的技术,因为在数字货币最开始的部署阶段大的比特币矿池很容易发动51%攻击。根链使用联邦检查点来实现根链平台的初始部署,这样显著地降低了风险。同时根链将会采用不低于比特币全网算力30%的算力来发布。根链基金会将监视网络的健康状况,并且会使用报警系统通知用户,以保护根链网络免受回滚的攻击。
10.可扩展性