美文网首页
读EOS白皮书

读EOS白皮书

作者: liuchungui | 来源:发表于2018-11-28 23:28 被阅读0次

    最近,遇到EOS中执行的transaction后,有可能不会被确认,造成丢失,然后链上的数据发生变化。这个,不是很理解。于是想到了找EOS白皮书看下,看看是否有助于理解。

    1、EOS采用的共识算法(DPOS)

    (1)EOS中每3秒生成一个块,并且在任何时间点都只有一个被授权的生产者来生成区块。
    (2)EOS中,区块通过21名生产者轮流生产,也就是我们所说的21个超级节点。
    (3)每一轮,会选出一个唯一生产者来产生区块
    (4)被选中的生产者通过从区块取到的时间作为伪随机数来打乱其顺序。打乱顺序是为确保这些生产者与其他生产者保持均衡的流通性。
    (5)如果一个生产者错过了一个区块并且在过去24小时没有生产任何的区块,那么它将被从候选中移除,直到它在区块链中通知它要开始再次生产区块的意图。
    (6)DPOS区块链一般不会经历任何的分叉,因为它是通过合作而非竞争的方式生产区块。如果出现分叉,共识也将自动切换到最长的链上。

    2、交易确认

    (1)一个交易从广播开始后,平均1.5秒就可以99.9%被认为是确认了。
    (2)一个交易若是得到21个区块生产者中15个给出确认,则这个交易是不可逆的。
    (3)在分叉开始的 9 秒内,一个节点就可以警告用户他们极可能正处于分叉中。 在连续丢失 2 个区块后,有 95% 的概率可以确认一个节点处于分叉中。 在连续丢失 3 个区块后就有 99% 的概率确认。

    3、股权证明的交易(TaPos)

    EOS中需要每一个交易包含最近一个区块头的哈希值。

    • 防止不包含区块引用的交易在分叉时重放发生;
    • 通知网络对应的用户和他们的股份当前在某个具体的分叉上。

    4、账户

    账户的长度在2到32个字符之间

    参考

    EOS.IO 技术白皮书

    相关文章

      网友评论

          本文标题:读EOS白皮书

          本文链接:https://www.haomeiwen.com/subject/rcmtcqtx.html