x1G • nonce R1 = k1G • 鍵ペア P2 = x2G • nonce R2 = k2G • 鍵ペア P4 = x4G • nonce R4 = k4G • 鍵ペア P3 = x3G • nonce R3 = k3G P = P1 + P2 ① 1 BTCをロック P’ = P3 + P4 ② 10 LTCをロック ③ ランダムな値tを選択し、 Adaptor Signature を計算する。 T = tG、R = R1 + R2 sA = k1 + t + H(P, R, m)x1 (R, sA, T)をボブに送る。 ⑦ ボブは、 sB = k2 + H(P, R, m)x2 を計算する。 (⑩のタイミングでも OK) ⑤ ボブは以下を検証する。 • Tが一致する • sA G = R1 + T + H(P, R, m)P1 • sA' G = R4 + T + H(P’, R’, m’)P4 ④ 同じT = tGを使って Adaptor Signature を計算する。 R’ = R3 + R4 sA’ = k4 + t + H(P, R, m’)x4 (R’, sA', T)をボブに送る。 ⑥ ボブは、 sB’= k3 + H(P’, R’, m’)x3 を計算してアリスに渡す。 ⑧ アリスはマルチシグの署名を完成させる。 s’ = sB’ + sA’ - t = k3 + k4 + H(P’, R’, m’)(x3 + x4) (R’, s’)を署名データとしてLTCを入手する トランザクションをブロードキャストする。 Tx ⑨ ボブはブロードキャストされた Txからs’の 値を知り、t = sB’ + sA’ - s’を計算する。 ⑩ ボブはtを使ってマルチシグの署名を完成させる。 s = sA + sB - t = k1 + k2 + H(P, R, m)(x1 + x2) (R, s)を署名データとしてBTCを入手する トランザクションをブロードキャストする。 Tx アリスがLTCを入手すれば、 その署名からボブはシークレット tを 知ることができ、BTCを入手するために 必要な署名を構築できる。