Solana - leader验证器和递增字段



据我所知,Solana将每轮选举一个领导者,并且将有多个验证者独立处理事务。然后,领导将合并所有的交易。

从这个理解,我很好奇Solana实际上是如何处理增量字段的程序的。假设我们有这个计数器字段,每次调用程序时它都会增加1。如果10个不同的用户同时调用这个程序会发生什么?如果10个事务由10个验证器独立处理,这个程序将如何工作?例如,在一轮开始时,counter=50和在一轮中,十个不同的验证器分别处理事务,因此每个验证器将增加counter=51。当leader取回所有的txns时,它会说counter=51

,在这种情况下会发生什么?我觉得我的假设中缺少了一些东西。

所以我的理解似乎是不正确的。它实际上是执行交易的领导者和验证交易的验证者。

源Page 2 - Section 3 - https://solana.com/solana-whitepaper.pdf

如图1所示,在任何给定时间,系统节点被指定为Leader生成历史序列证明,提供网络全局阅读的连贯性和可验证的时间流逝。Leader序列用户消息和命令,以便他们可以有效地处理系统中的节点,最大限度地提高吞吐量。它执行事务存储在RAM中并发布事务的当前状态并将最终状态的签名发送给称为验证者的复制节点。验证者在他们的状态副本上执行相同的交易,并发布他们计算的状态签名作为确认。已发布的确认作为对共识算法的投票。

最近的blockhash"是另一个重要的部分。事务引用最近的区块散列,这是历史证明序列的一部分。如果两个交易引用了相同的区块哈希,它们将被网络计算为重复,即使它们来自两个不同的用户。

更多信息请访问https://docs.solana.com/developing/programming-model/transactions#recent-blockhash

一次只有一个PoH生成器(区块生产者)。其他节点只是验证。

我不能评论Jon C,但是答案是错误的。你可以使用相同的最近的区块散列,否则当区块时间在0.4秒左右时,solana无法处理50000 TPS。

最新更新