Solana - 领导者验证器和递增字段
Solana - leader validator and incrementing field
据我了解,Solana 每轮都会选出一个领导者,并且会有多个验证者独立处理交易。然后领导者将合并所有交易。
基于这种理解,我很好奇 Solana 实际上是如何处理增加字段的程序的。所以假设我们有这个计数器字段,每次调用程序时它都会增加 1。如果 10 个不同的用户同时调用这个程序会发生什么,如果 10 个交易由 10 个验证者独立处理,这将如何工作。例如,在回合开始时 counter=50
和在回合期间,十个不同的验证器分别处理交易,因此每个验证器都会增加 counter=51
。当 leader 取回所有 txns 时,它会说 counter=51
,在这种情况下会发生什么?
我觉得我的假设中缺少一些东西。
所以我这里的理解好像不正确。实际上是执行交易的领导者和验证交易的验证者。
来源
第 2 页 - 第 3 节 - https://solana.com/solana-whitepaper.pdf
如图1所示,在任何给定时间,一个系统节点被指定为
领导者生成历史证明序列,提供全球网络
读取一致性和可验证的时间流逝。 Leader 序列用户
消息并对它们进行排序,以便其他人可以有效地处理它们
系统中的节点,最大化吞吐量。它执行交易
基于存储在 RAM 中的当前状态并发布交易
以及最终状态的签名到称为验证者的复制节点。
验证者在他们的状态副本上执行相同的交易,并将他们计算出的状态签名作为确认发布。发表的
确认作为对共识算法的投票。
“最近的区块哈希”是其中的另一个重要部分。交易引用最近的区块哈希,这是历史证明序列的一部分。如果两个事务引用相同的区块哈希,它们将被网络视为重复项,即使它们来自两个不同的用户。
可以在 https://docs.solana.com/developing/programming-model/transactions#recent-blockhash
找到更多信息
据我了解,Solana 每轮都会选出一个领导者,并且会有多个验证者独立处理交易。然后领导者将合并所有交易。
基于这种理解,我很好奇 Solana 实际上是如何处理增加字段的程序的。所以假设我们有这个计数器字段,每次调用程序时它都会增加 1。如果 10 个不同的用户同时调用这个程序会发生什么,如果 10 个交易由 10 个验证者独立处理,这将如何工作。例如,在回合开始时 counter=50
和在回合期间,十个不同的验证器分别处理交易,因此每个验证器都会增加 counter=51
。当 leader 取回所有 txns 时,它会说 counter=51
,在这种情况下会发生什么?
我觉得我的假设中缺少一些东西。
所以我这里的理解好像不正确。实际上是执行交易的领导者和验证交易的验证者。
来源 第 2 页 - 第 3 节 - https://solana.com/solana-whitepaper.pdf
如图1所示,在任何给定时间,一个系统节点被指定为 领导者生成历史证明序列,提供全球网络 读取一致性和可验证的时间流逝。 Leader 序列用户 消息并对它们进行排序,以便其他人可以有效地处理它们 系统中的节点,最大化吞吐量。它执行交易 基于存储在 RAM 中的当前状态并发布交易 以及最终状态的签名到称为验证者的复制节点。 验证者在他们的状态副本上执行相同的交易,并将他们计算出的状态签名作为确认发布。发表的 确认作为对共识算法的投票。
“最近的区块哈希”是其中的另一个重要部分。交易引用最近的区块哈希,这是历史证明序列的一部分。如果两个事务引用相同的区块哈希,它们将被网络视为重复项,即使它们来自两个不同的用户。
可以在 https://docs.solana.com/developing/programming-model/transactions#recent-blockhash
找到更多信息