集团 - 私人区块链的权威证明共识

时间:2018-04-24 13:42:30

标签: ethereum go-ethereum

刚刚开始设置POA Clique。很难理解一些概念。根据我的理解,sealers是可以在genesis文件中设置的事务验证器(创建块的人)。 (我的参考https://github.com/ethereum/EIPs/issues/225

  1. 签名者是否只是区块的封口人,验证者和创造者?
  2. " 任何签名者只能在每个K "中填充1个区块。问题 - 如果我们总共有3个节点(所有签名者),一个签名者只能单独密封/验证/创建一个块?例如签名者A密封块1,签名者B密封块2?两位签名者无法封锁一个街区?
  3. 为了确保只有一个多数链(50%+ 1),签名者只有在最后一个没有签名的情况下才允许密封一个新的区块(len(签名者)+1)/ 2个街区。因此,如果有3个签名者,则每个签名者只能签署每个第2个块(FROM - https://github.com/ethereum/go-ethereum/issues/16406)。假设我有签名者A,B,C,下面是正确的表示吗?

    第1组 - 由A密封

    第2区 - 由B密封 - 由于已经密封了以前的,因此无法密封A

    第3区 - 由C密封 - 也可以用A密封(A有偏移以避免赛车挡)。 B无法密封,因为他密封了之前的

1 个答案:

答案 0 :(得分:0)

我将根据对您问题的理解,尽我所能回答问题。

1)签名者确实是密封者。在PoA中,只有权限节点才能创建(签名和密封)块。他们将所有待处理的交易放在一起,进行验证,创建一个新区块并进行广播。

2)(我理解这似乎是两个签名者可以密封同一个块,如果这是问题所在:)答案是否定的。签名者节点将轮流密封块。

3)如果有三个签名者,则它们将按照A-B-C-A-B-C上的顺序进行。有趣的是,如果您只有两个签名者(我之前已经测试过),那么它就是A-B-A-B,因此,相同的签名者确实会在那之后铸造一个区块。同样,对于小型网络来说,这是正确的;对于大型网络,理想情况下,它们永远不会知道何时会再次出现。

一般说明:一般而言,PoA在许可的网络上可以很好地工作,因此,理想情况下,像2和3这样的问题不会成为大问题。