Bitcoinj

如何在小額支付渠道中驗證交易?

  • December 4, 2015

假設 Alice 與 Bob 打開了一個小額支付通道,並將 10 美元發送到多重簽名交易中。

我們怎麼知道愛麗絲有這 10 美元?還是我們冒著讓她雙花的風險呢?

在打開小額支付渠道的過程中,雙方將資金放入某種密碼箱中,要求雙方簽署從密碼箱中提取的任何款項。在區塊鏈中,這實質上是將一些資金投入到 2-of-2 的多重簽名輸出中,其中 2 個密鑰是 Alice 和 Bob 的密鑰。如果只有 Bob 將向 Alice 轉賬,反之亦然(單向),那麼只有一個人需要將資金放入 2-of-2 鎖箱。

然後,當 Bob 需要向 Alice 付款時,Bob 給 Alice 一筆交易,該交易花費了鎖箱的內容,給了 Alice 一些鎖箱資金,並使用零錢輸出將零錢放回鎖箱。由於從鎖箱中取款需要 Alice 和 Bob 都簽字,所以 Alice 可以確認 Bob 何時簽字給她資金。

請注意,它必須是這種方式,要求 Alice 和 Bob 都通過通道轉移資金,因為如果它只需要資金的發送者,你就會遇到你提到的確切問題:發送者可能試圖雙花那些資金,你不會知道。

引用自:https://bitcoin.stackexchange.com/questions/41640