Lightning-Network

閃電交易期間交換撤銷密鑰的順序

  • September 22, 2021

Alice 和 Bob 如何同時共享他們的臨時私鑰?如果他們不這樣做,假設愛麗絲首先將她的私鑰發送給鮑勃。此時,Bob 可以廣播他目前的承諾交易和之前的承諾交易(因為他還沒有將他之前的承諾交易的私鑰發送給 Alice)。但是 Alice 只能廣播她目前的承諾交易,因為她已經將她之前承諾交易的撤銷私鑰發送給 Bob。這種不對稱有點令人費解。

如果之前的承諾交易對 Bob 有利,那麼是什麼阻止了他廣播它——知道 Alice 不能懲罰他。

我對此的猜測是,他們根據價值是從愛麗絲流向鮑勃還是從鮑勃流向愛麗絲來共享他們的私鑰。例如,如果之前的承諾交易對 Bob 有利,那麼他必須首先分享他的私鑰。或者一些這樣的。

Alice 和 Bob 共同為每個可撤銷的輸出(RSMC 輸出腳本)創建一個公鑰 R。

它們各自私下生成 r-1 和 r-2,並從中派生公鑰 R-1 和 R-2。R 是 R-1 和 R-2 的總和。沒有秘密是交換,只有公鑰。因此,R 對任何一個都是不可花費的。但是,它可以通過 r = r-1 + r-2

當一個新的承諾 tx 被創建時,這個 RSMC 必須被撤銷。如果新的 tx 承諾有利於 Bob,那麼 Alice 必須與 Bob 共享 r-1。現在鮑勃知道如果愛麗絲廣播它,他可以使用這個撤銷的輸出。Bob 不需要與 Alice 共享 r-2,因為他寧願廣播有利於他的後續 tx。

Pre-images 用於路由(htlc 輸出腳本)見章節後面的幻燈片:https ://teachbitcoin.github.io/payment_channels.html#/

不存在時間問題。AFAIK 簡化算法基本上是在您從另一方簽署新承諾之後,您可以安全地揭示您先前承諾的秘密。訣竅是閃電中的狀態是不對稱的,並且 Alice 的承諾 1 與 Bob 的承諾 1 不同。

違規補救措施始終是“另一方+我的秘密”(因此,在雜湊的情況下,您可以想像您需要另一方的簽名+原像在臨時密鑰的情況下它類似於生成秘密的人仍然無法生成完整的密鑰)。

假設 Alice 得到了 Bob 簽署的新承諾。愛麗絲沒有理由再使用她的任何舊承諾(因為鮑勃可能會因為這樣做而懲罰她)。當然,Bob 現在仍然可以發布 Alice 曾經簽署的先前承諾(他的最新版本)。但這有點精神分裂(他剛剛簽署了他同意一個新的狀態,現在他想逃跑)。如果他這樣做了,可能會有一場比賽——Alice 可以立即發布她的版本,實際上只有一個人會贏(因為兩人都花費了 2-of-2 的多重簽名)。所以狀態更新不是原子的,當 S 被提議時,另一方仍然可以用 S-1 進行救助,但是一旦雙方都送出給 S,就沒有辦法回來了)。另外,如果你不

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