刚刚开始设置POA Clique。很难理解一些概念。根据我的理解,sealers是可以在genesis文件中设置的事务验证器(创建块的人)。 (我的参考https://github.com/ethereum/EIPs/issues/225)
为了确保只有一个多数链(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无法密封,因为他密封了之前的
答案 0 :(得分:0)
我将根据对您问题的理解,尽我所能回答问题。
1)签名者确实是密封者。在PoA中,只有权限节点才能创建(签名和密封)块。他们将所有待处理的交易放在一起,进行验证,创建一个新区块并进行广播。
2)(我理解这似乎是两个签名者可以密封同一个块,如果这是问题所在:)答案是否定的。签名者节点将轮流密封块。
3)如果有三个签名者,则它们将按照A-B-C-A-B-C上的顺序进行。有趣的是,如果您只有两个签名者(我之前已经测试过),那么它就是A-B-A-B,因此,相同的签名者确实会在那之后铸造一个区块。同样,对于小型网络来说,这是正确的;对于大型网络,理想情况下,它们永远不会知道何时会再次出现。
一般说明:一般而言,PoA在许可的网络上可以很好地工作,因此,理想情况下,像2和3这样的问题不会成为大问题。