raft区块链这个东西, 并不是一个凭空捏造出来的新玩意儿。它其实就是把存在于分布式计算机系统里面的那个名叫raft的一致性算法。然后把它应用到区块链领域的共识这一层里面去了。核心的基本思想是这样的。那就是在众多的节点当中去选出一个是领导者。

让这个领导者来主导日志复制这样子的操作。必须得到了大多数派的确认之后。才把交易进行提交。这种办法跟工作量证明那种方式比起来的话。确实节省了不少的资源。还有跟那种权益证明机制相比而言。它的这些关于权益的设计方面。显得更加地简洁和直接一些。

raft区块链共识怎么做

Leader 选举的过程是由超时机制来驱动的。当 Follower 在很长的一段时间里都没有收到来自 Leader 的心跳信息的时候, 它自己就会发起投票的行为。这个投出的票会送给那个日志信息最完整、最齐全的候选人。

只要得到的选票数量超过了半数, 那么这个候选人就可以当选成为新的 Leader。在这之后, 新上任的 Leader 将会通过 AppendEntries 这种方式, 把交易相关的日志内容进行批量的推送, 并发送给各个其他的 Follower 节点。

如果是那些序号校验一致的情况, 这些节点就会选择接受。至于剩下的那些节点, 他们只需要进行跟随的操作就好了, 完全不需要让每一个节点都参与到投票的过程里面去。

当日志得到过半数节点的确认后, 它就会被永久地写入到状态机里面去, 整个生成出块延迟通常可以在几十毫秒之内就完成处理。亚秒级的确认这一特点对于高频交易场景是非常友好的, 远远优于分片化工作量证明机制下的几分钟出块间隔。

raft区块链适合什么场景

金融清算和供应链金融这个方面, 是最能够直接应用到实际工作里面去的典型场景例子。这里的节点数量是在几十个到几百个这样的范围内, 这些节点相互之间是具有信任基础的。

因此, RAFT算法这种把通信复杂度保持在O(N)水平的做法, 是完全足够使用的。这样做的话, 跨机构的对账效率就会得到非常明显的提升效果。并且, 日常的运维成本也会远远低于BFT方案的成本。

这种情况在物联网设备之间也是能够用得上的, 具体来说, 当设备的数量比较少的时候, 或者网络的状况相对比较稳定的时候, 人们可以选择用RAFT这种方案来代替那种完整的BFT方案, 这么做的话, 是可以大幅度地减少计算资源方面的消耗的。

因此, 哪怕是像嵌入式芯片那样性能不是特别高的硬件设施也是可以支撑运行的, 这完全符合在边缘侧进行轻量化共识需求的一种安排。

raft区块链到底怎么用,共识原理和适用场景一次讲清

RAFT这个工具到底好不好用, 这个问题是需要根据节点规模还有信任假设来进行判断的。在封闭的网络环境下面, 它的使用过程是比较简单的, 同时也很方便进行调试操作的,而且延迟的表现也是非常稳定的。

但是在开放的且具有敌意的环境下面, 多数派投票的这种机制是存在被攻击的风险的, 因此必须要配合使用额外的防护机制才行。