- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Corda introduction to consensus说“唯一性共识是由公证人提供的。”
我们是不是说,如果没有公证人,A 有可能说服 B 将一笔涉及状态 X 作为输入的交易提交到其账本,并同时或稍后说服 C 提交一个不同的交易涉及 X 到其账本?
在这种情况下,A 的账本将与 C 的账本不一致(或 B 或两者都不一致,具体取决于它选择提交的事务(如果有的话)),并且 A 将创建一种现在不一致的情况,并且永远不会变得不一致A、B、C 之间一致。
想必 Corda 框架试图尽可能地防止这种事情发生,那么这就是诚实吗? IE。我们讨论的是 A 完全颠覆了自己的基础设施的情况,即没有按预期使用 Corda,并且存在于它向其他方发送的所有消息中?
<小时/>更新:这个问题最初是由于我错误地认为公证人是 Corda 系统的可选元素而提出的。它们不是,但对于特定交易来说,它们的参与可能是可选的,例如不涉及输入状态(因此本质上不存在双花问题)。
@joel 在他的回答中明确指出的重要一点是,即使各方相互信任,双花问题也可能是一个问题,即预计不会出现恶意行为。
一旦 Corda 中的一方确定已就某笔交易达成有效性共识,它就可以立即将该交易提交到自己的分类账中,即它不会首先尝试与其他方达成某种额外的 BFT 风格共识。也可以并且肯定会将交易提交到各自的分类账中。
因此,在上述场景中,A 可以诚实/错误地向 B 和 C 提出两笔不同的交易。B 和 C 都会就各自的交易达成有效性共识,并将其提交到自己的分类账中,而 A 只面临双重交易:当它随后尝试将两笔交易中的第二笔提交到自己的分类帐时,会出现支出问题。
公证人会避免这种情况(无论是否出于恶意)。
最佳答案
您需要公证人的原因有两个:
关于corda - Corda 真的需要公证人才能达成唯一性共识吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49259995/
我是一名优秀的程序员,十分优秀!