※ 引述《grapherd (NULL)》之铭言:
:
: ※ 引述《kugwa (kugwa)》之铭言:
: :
: : 同个系统状态本来就不会双花的两笔交易同时存在
: :
: : 但是设想
: :
: : A已经被大家承认很久很久了
: :
: : A交易的卖方也交货了
: :
: : 这时突然给你来个 B把A给超越
: :
: : 大家一致宣告A交易不算数
: :
: : 那A交易的卖方不就很干 拿到的钱没了 货也大概拿不回来
:
: 这个问题已经回应过了,不会发生这样的问题。
:
: 这种超久的 valid transaction V.S. 新出的爆干 weight transaction
:
: 因为超久以前的 valid transaction 已经改变整个帐本的状况
: (地址总额,对方地址总额等)
:
: 因此根本不会有收到货然后又被盖掉的问题。
怎么不会有呢
就是会有这样的问题啊
比特币的短链追上长链造成blockchain reorganization
以及我们一直在讨论的IOTA攻击手段(B的累积权重超越A的累积权重)
都是这个状况呀(虽然说落后很多的情况下追上通常都是恶意去追的)
你所谓的“整个帐本的状况”
本来就是根据blockchain或Tangle的样子在解读的
blockchain的情况中 帐本的状况就是最长链中所有交易一起套用的样子
blockchain reorganization时 因为长链换了一条 帐本会整个被大改动
而Tangle的情况中 A的累积权重比B的还大时 帐本只采计A而忽略B
但是当B的累积权重超越A时 帐本就会改为采计B而忽略A
这种帐本改动一发生 你看到的各种总额就会跟着发生变动 很严重的
总之 根本没有所谓的“某个交易生效一段时间之后就绝对不会被撤销”的情况
(这应该叫freezed或是finalized)
只要另一方算力够强 就有办法撤销任意的交易
(比特币拒收落后超过12个高度的block 这个情形先不讨论)
finalize之所以难以实现
就是因为很多种方式(例如你规定一个交易t时间后就坚决不再撤销)
最终都会造成全网失去共识
就像我前一篇说的那种案例