Blockchain PBFT一致性算法与双重开销

Blockchain PBFT一致性算法与双重开销,blockchain,distributed-system,fault-tolerance,consensus,Blockchain,Distributed System,Fault Tolerance,Consensus,我试图弄清楚PBFT共识算法是如何处理双重支出问题的。我读过很多文献,但似乎找不到答案pbft是Barbara Liskov和Miguel Castro在1999年提出的共识算法,目的是防止恶意攻击成为恶意攻击和 软件错误可能导致故障节点表现出拜占庭(即任意)行为。与以前只在同步系统上工作的bft算法相比,pBFT被设计为在异步系统中高效工作 这篇研究论文是说 一种实用的容错状态机复制算法 拜占庭的错误。该算法既具有活性又具有安全性 最多提供⌊n-1/3⌋在总共的复制副本中 同时出现故障。这意味

我试图弄清楚PBFT共识算法是如何处理双重支出问题的。我读过很多文献,但似乎找不到答案

pbft是Barbara Liskov和Miguel Castro在1999年提出的共识算法,目的是防止恶意攻击成为恶意攻击和 软件错误可能导致故障节点表现出拜占庭(即任意)行为。与以前只在同步系统上工作的bft算法相比,pBFT被设计为在异步系统中高效工作

这篇研究论文是说

一种实用的容错状态机复制算法 拜占庭的错误。该算法既具有活性又具有安全性 最多提供<代码>⌊n-1/3⌋在总共的复制副本中 同时出现故障。这意味着客户端最终会收到 对其请求的回复,以及根据 线性化能力。该算法适用于异步系统,如 Internet和it整合了重要的优化,使其能够 高效地执行

双重消费是数字或电子现金方案中的一个潜在缺陷,在该方案中,同一个单一数字代币可以被多次消费。与实物现金不同,数字代币由可以复制或伪造的数字文件组成

双重支出攻击是针对几种加密货币的潜在攻击,例如由于51%的攻击

但这个问题可以通过共识算法和区块链来预防

如果两个事务试图花费相同的令牌,每个节点将考虑它所看到的第一个事务有效,另一个无效。一旦


节点不同意,没有办法确定真正的平衡,因为每个节点的观察都被认为是同等有效的,使节点恢复同步的一种方法是使用一致性算法,而对于区块链,该系统中的交易在技术上永远不会是“最终的”,因为冲突的区块链总是会超出当前的规范链,然而,由于块构建在事务之上,另一条链超越它的可能性越来越小/成本越来越高,从而防止双重支出问题。

PBFT的第一步是让2f+1节点同意以相同的顺序执行可用事务。这是通过将所有事务路由到分配序列号的主节点来完成的。以相同顺序执行事务的所有节点都将拒绝第二次开销。因为,最多f节点可能出现故障,这意味着至少2f+1-f=f+1节点将接受第一个开销并拒绝第二个开销。当客户机得知f+1节点已接受第一次支出时,可以确定这是一致意见,因为这些节点中至少有一个没有故障