非容错区块链网络有什么好处
What is the benefit of non fault tolerance blockchain network
我正在了解不同的基于 Hyperledger 的区块链框架,目前我正在阅读有关 Sawtooth 的信息,尽管这个问题与 Sawtooth 没有特别相关。
考虑到 PoET 是和任何算法一样好的共识算法,我无法理解的是拥有一个没有容错能力的区块链网络有什么好处.
不仅对于财务操作而且对于任何有价值的东西,即使没有针对性的攻击,如果我们有一个不能正常工作的节点,并且这个节点 "wins the lottery" 并且是要插入的节点下一个区块,防止系统进入错误状态的机制(在此之前或之后)是什么?
如果确实不是容错的正是这个意思,可能存在错误行为并且不会被检测到,使用这样的系统的目的是什至它是否快速且可扩展等等是否很有可能最终得到不正确的数据?
我不是想暗示那些网络没用,相反,我是想了解区块链背后的思想和不同的变体,因为我确信有Sawtooth 存在的一个很好的理由我想找出我的逻辑失败的地方。
问题大体上讨论了 容错。然而,问题中的描述是以一种方式来谈论拜占庭容错。
广义上我们可以分类拜占庭容错和崩溃容错。拜占庭行为是由于节点引起的意外情况,节点的不可预测结果,它可能是有意的(来自节点的恶意行为)或无意的(机器内存corruption/hardware问题)。崩溃容错是系统的高可用性,尽管网络中可能会出现随机节点故障。
有一个普遍的误解,认为区块链系统应该始终拜占庭容错。区块链系统可以有多个用例。因此,选择通过区块链实现的目标是特定于用例的。
例如,在大多数 public 网络中,存在在网络中创建区块的动机,并且没有建立信任或没有在参与者之间建立信任的方法。提供 拜占庭容错 的共识算法可以在那里选择。
区块链的另一个用例是它的不变性 属性,即当 data/state 被添加到区块链时,修改它在计算上变得非常困难。在私有区块链联盟的情况下,参与者可以选择通过其他方式根据请求向其他节点证明他们的身份,他们可能会对不变性 属性 感兴趣。 It may not matter who wins the election or who creates a block.举个例子,在 Hyperledger Sawtooth 和 Raft 作为共识引擎的情况下,领导者总是有机会创建一个块。 Raft 在网络中提供 崩溃容错 只要大多数 (50%+1) 节点处于活动状态。
Hyperledger Sawtooth PoET 当 SGX 上的 运行 是 拜占庭容错 并给所有节点一个公平的随机机会构造块。如果 PoET 在模拟器模式下为 运行,则它仅提供后者的功能。 拜占庭 行为的保护来自英特尔 SGX 等可信执行环境 (TEE)。
注意:区块链系统旨在让参与者有机会验证获胜节点创建的区块。他们只有在验证后才将区块添加到他们的账本中。在联盟的情况下,如果试图操纵节点将被捕获,并且因为可以有其他方法来识别谁是参与者,拜占庭 行为可以被捕获。
区块链是一种分布式设计解决方案,凭借其设计,它至少为整个系统提供崩溃容错。由于跨节点(至少不止一个节点)复制了相同的数据副本,因此即使网络中的一个或两个节点发生故障,数据也不会丢失。保证高可用性。
我希望这些要点能帮助您继续探索。
我正在了解不同的基于 Hyperledger 的区块链框架,目前我正在阅读有关 Sawtooth 的信息,尽管这个问题与 Sawtooth 没有特别相关。
考虑到 PoET 是和任何算法一样好的共识算法,我无法理解的是拥有一个没有容错能力的区块链网络有什么好处.
不仅对于财务操作而且对于任何有价值的东西,即使没有针对性的攻击,如果我们有一个不能正常工作的节点,并且这个节点 "wins the lottery" 并且是要插入的节点下一个区块,防止系统进入错误状态的机制(在此之前或之后)是什么?
如果确实不是容错的正是这个意思,可能存在错误行为并且不会被检测到,使用这样的系统的目的是什至它是否快速且可扩展等等是否很有可能最终得到不正确的数据?
我不是想暗示那些网络没用,相反,我是想了解区块链背后的思想和不同的变体,因为我确信有Sawtooth 存在的一个很好的理由我想找出我的逻辑失败的地方。
问题大体上讨论了 容错。然而,问题中的描述是以一种方式来谈论拜占庭容错。
广义上我们可以分类拜占庭容错和崩溃容错。拜占庭行为是由于节点引起的意外情况,节点的不可预测结果,它可能是有意的(来自节点的恶意行为)或无意的(机器内存corruption/hardware问题)。崩溃容错是系统的高可用性,尽管网络中可能会出现随机节点故障。
有一个普遍的误解,认为区块链系统应该始终拜占庭容错。区块链系统可以有多个用例。因此,选择通过区块链实现的目标是特定于用例的。
例如,在大多数 public 网络中,存在在网络中创建区块的动机,并且没有建立信任或没有在参与者之间建立信任的方法。提供 拜占庭容错 的共识算法可以在那里选择。
区块链的另一个用例是它的不变性 属性,即当 data/state 被添加到区块链时,修改它在计算上变得非常困难。在私有区块链联盟的情况下,参与者可以选择通过其他方式根据请求向其他节点证明他们的身份,他们可能会对不变性 属性 感兴趣。 It may not matter who wins the election or who creates a block.举个例子,在 Hyperledger Sawtooth 和 Raft 作为共识引擎的情况下,领导者总是有机会创建一个块。 Raft 在网络中提供 崩溃容错 只要大多数 (50%+1) 节点处于活动状态。
Hyperledger Sawtooth PoET 当 SGX 上的 运行 是 拜占庭容错 并给所有节点一个公平的随机机会构造块。如果 PoET 在模拟器模式下为 运行,则它仅提供后者的功能。 拜占庭 行为的保护来自英特尔 SGX 等可信执行环境 (TEE)。
注意:区块链系统旨在让参与者有机会验证获胜节点创建的区块。他们只有在验证后才将区块添加到他们的账本中。在联盟的情况下,如果试图操纵节点将被捕获,并且因为可以有其他方法来识别谁是参与者,拜占庭 行为可以被捕获。
区块链是一种分布式设计解决方案,凭借其设计,它至少为整个系统提供崩溃容错。由于跨节点(至少不止一个节点)复制了相同的数据副本,因此即使网络中的一个或两个节点发生故障,数据也不会丢失。保证高可用性。
我希望这些要点能帮助您继续探索。