「Atomic cross-chain trading」の版間の差分

提供: tezos-wiki
移動先: 案内検索
 
1行目: 1行目:
アリスとボブが別々の暗号化通貨でコインを所有し、第三者を信頼することなくそれらを交換したいのである(中央集権化された取引所) 。
+
アリスとボブが別々の暗号化通貨で共有し、第三者を信用することなくそれを取り捨てのである(中央集権化された取引所)。
  
非原子的な単純な解決法は、アリスにBitcoinsをボブに送り、ボブにアリスに別の暗号化を送信させるが、ボブは交渉の最後に戻って単にプロトコルに従わずに終わるという選択肢があるBitcoinsとAltcoinの両方で
+
非原子的な単純な解決法は、アリスにBitcoinsをボブに送り、ボブにアリスに別の暗号化を送信されるが、ボブは交渉の最後に戻って単なるプロトコルに従って終わるという選択肢があるBitcoinsとAltcoinの両方で
  
  
 
==契約の秘密を明らかにする方法==
 
==契約の秘密を明らかにする方法==
  
1つの解決策は[[Contracts#Example_5:_Trading_across_chains | Contracts]]と[[nLockTime]]です。
+
1つの解決策は[[契約#Example_5:_Trading_across_chains |契約]]と[[nLockTime]]です。
  
 
===アルゴリズム===
 
===アルゴリズム===
ここでは、この問題を解決するアルゴリズムについて説明します。この具体的な説明については、[https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949 credit to TierNolan]を参照してください(アルゴリズムについては、上記の[[Mike Hearn]]を含む他の人々)。
+
ここでは、この問題を解決するアルゴリズムについて説明します。この理由については、[https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949 credit to TierNolan]を参照して([Mike Hearn]]を含む他の人々)。
  
 
<pre>
 
<pre>
Aは乱数xを選びます
+
 Aは乱数xを選びます
+
 
AはTX1を作成します: "(Bの署名付きのH(x)はB)、(A&Bが署名した)"なら "Bの公開鍵にBTCを支払う"
+
 AはTX1を作成します: "(Bの署名付きのH(x)はB)、(A&Bは署名した)"なら "Bの公開鍵にBTCを支払う"
+
 
AはTX2を作成します:「TX1から<Aの公開鍵>までBTCを支払う、将来48時間ロックされ、Aによって署名された」
+
 A TX2を作成します:「TX1からAの公開鍵>までBTCを支払う、将来48時間ロックされ、Aによって署名された」
+
 
AがTX2をBに送信する
+
 AがTX2をBに送信する
+
 
BはTX2にサインし、Aに戻る
+
 BはTX2にサインし、Aに戻る
+
 
1)TX1をネットワークに提出する
+
 1)TX1をネットワークに提出する
+
 
BはTX3を作成します: "A(Aは既知で署名されたHはx)または(A&Bが署名した)"ならば "alt-coinsを<A-public-key>
+
 BはTX3を作成します: "A(AはAで公証されたHはx)または(A&Bが署名した)"ならば "alt-coinsを<A-public-key>
+
 
BはTX4を作成します: "TX3から<Bの公開鍵>までv altコインを支払う、将来24時間ロックされる、Bによって署名された"
+
 BはTX4を作成します:「TX3からBの公開鍵>までv altコインを支払う、将来24時間ロックされる、Bにより署名された」
+
 
BがTX4をAに送信する
+
 BがTX4をAに送信する
+
 
符号TX4がBに返送される
+
 符号TX4がBに返される
+
 
2)BがTX3をネットワークに送信する
+
 2)BがTX3をネットワークに送信する
+
 
3)AはTX3を費やし、x
+
 3)A TX3を費やして、x
+
 
4)BはTX1をx
+
 4)BはTX1をx
+
 
これはアトミック(タイムアウト付き)です。プロセスが停止している場合は、停止してもプロセスを元に戻すことができます。
+
 これはアットミック(タイムアウト付)です。プロセスが停止している場合は、停止してもプロセスを元に戻すことができます。
+
 
前1:放送されていないので何も起こりません
+
 前1:放送されていないので何ても起りませんでした
1&2の間:Aは72時間後に払い戻しの取引を使用して返金することができます
+
 1&2の間:Aは72時間後に支払いを使用して返すことができます
2&3:Bの間は、24時間後に払い戻すことができます。 Aは払い戻しに24時間以上かかる
+
 2&3:Bの間は、24時間後に払い戻すことができます。Aは払い戻しに24時間以上かかります
3:トランザクションが2で完了した後
+
 3:トランザクションが2で完了した後
  - Aは24時間以内に新しいコインを消費しなければならない、またはBが払い戻しを請求してコインを保持できる
+
   - Aは24時間以内に新しいコインを消費しなければならない、またはBが払い戻しを求めてコインを保持できる
  - Bは72時間以内に新しいコインを使用しなければならない、またはAは払い戻しを請求してコインを預けることができます
+
   - Bは72時間以内に新しいコインを使用してばならない、またはAは払い戻しを請求してコインを預けることができます
+
 
安全のために、両者は期限までに多くの時間をかけてプロセスを完了する必要があります。
+
安全のために、両者は期限まで多くの時間をかけてプロセスを完了する必要があります。
 
</ pre>
 
</ pre>
  
 
==特殊なaltchainを使った解決==
 
==特殊なaltchainを使った解決==
  
前述のアプローチは、プロトコル側での特別なサポートなしに直接ビットコイン由来のチェーン間で取引するために使用することができます。明らかな欠点は、nLockTimeです。取引相手が取引を行っていない場合、当社の資金はロックされ、タイムアウト期間中は別の取引では使用できません。さらに、現在のビットコーンプロトコルのルールでは標準と見なされてもされなくてもよい、トランザクションの置き換えに依存します。
+
手のひらのプールは、プロトコルの側では特別なサポートなしに直接ビット列由来のチェーン間で取り引きするために使用することができます。明らかな欠点は、nLockTimeです。取り寄せ手がかりを取って行っていません、当会社の資金はロックされ、タイムアウト期間はは別の取引では使用できません。さらに、現在のビートコールループのルールでは標準と見られるされてもされなくてもいい、トランザクションの置き換えに依存します。
  
クロスチェーンp2ptradeのもう1つの提案は、ビットチェーンチェーンからのp2ptradeの効率的な操作のための特性を持つ特殊なaltchainを使用することです。さらに、私たちは通常の支払いと全く同じように見える単一の標準的なビットコイン取引だけを使用します(nlocktime、multisig、特別なスクリプトなし)。
+
クロースチェンp2ptradeのもの1つの提案は、ビットチェンチェンからのp2ptradeの効率的な操作のための特性を持っている特殊なaltchainを使用することです。それには、私たちは通常の支払いと全く同じように見える単なる標準的なビットコイン引き取りを使用します(nlocktime、multisig、特別なスクリプトなし)。
  
altchainがそれをサポートするために実際の経済的価値を持っていると仮定すると、それはfe間の(比較的)効率的なゼロトラストP2P市場の代理人としての役割を果たすことさえできる。 BTCおよびLTCは、マーケットメーカーの裁定のおかげです。
+
altchainがそれをサポートするために実際の経済的価値を持っていると仮定すると、それはfe間の(効率的)効率的なゼロロットP2P市場の代理人としての役割を果たしていることができる。BTCおよびLTCは、マーケティング担当者の裁定のおかげです。
  
 
===アルゴリズム===
 
===アルゴリズム===
63行目: 63行目:
 
Bob = Bitcoin
 
Bob = Bitcoin
  
* Bobは通常どおりトランザクションを作成して署名し、<b> txid </ b>を計算します。 Aliceに<b> txid </ b>とトランザクションスクリプト<b>と入力スクリプト/署名をブランク</ b>を送信します。
+
* Bobは通常どおりのトランザクションを作成して署名し、<b> txid </ b>を計算します。Aliceに<b> txid </ b>とトランザクションスクリプト<b>と入力スクリプト/署名をブランク< / b>を送信します。
*アリスは、空白のボディのハッシュを計算し、それを<b>ハッシュハッシュ</ b>と呼び、特別な<b> bitcointxid(ブランクハッシュ、txid)</ b>オペコードでトランザクションを構築します。トランザクションをaltchainにブロードキャストします。
+
*アリスは空白のボディのハッシュを計算し、それをハッシュハッシュと呼ぶ、特別な<b> bitcointxid(ブラスクハッシュ、txid)</ b>オードコードでトランザクションを構築します。トランザクションをaltchainにブログキャストします。
* Bobはaltchain txを確認し、その出力が以前に合意されたものであることを確認します。その時点で、彼はそれをブロードキャストするアリスに "uncensored" Bitcoin txを送信します。したがって、アリスはビットコイン・ファンドとして入金され、これは同時に交替取引を同時に検証する(これは原子点である)。
+
* Bobはaltchain txを確認し、その出力が以前に合意されたものであることを確認します。その時点で、彼をそれをブログにキャストするアリスに "uncensored" Bitcoin txをお送りします。したが、アリスはバットコイン・ファンドとして入金され、これは同時に交换取引を同時に行う(これは原子点である)。
*ボブは、彼が十分に自信を持っていれば、彼の取引を再編成しないので、二倍の支出をすることができると確信しているだけです。これは、多くの取引先の確認が最初に来るべきであることを暗示しているかもしれないが、その間にそれぞれの取引がキャンセルされることになるかもしれない。
+
*ボブは、彼が十分に自信を持っていれば、彼の取り引きを再編成しないので、二倍の支出をすることができると確信しているだけです。これは、多くの取引先の確認最初に来るべであることを暗示しているかもしなかったが、その間にそれぞれの取り引きがキャンセルされることになるかもしれない。
  
 
===オペコードとaltchain特別ルール===
 
===オペコードとaltchain特別ルール===
  
bitcoinブロックチェーンで<b> txid </ b>(および<b> blankhash </ b>がtx bodyと等しい)が確認された場合、* <b> bitcointxid </ b>はtrueと評価されます(altchainクライアントはbitcoinそのための出力は、消費可能です(つまり、それが標準のtxであることを確認します)。
+
bitcoinブロックでは<b> txid </ b>(および<b> blankhash </ b>はtx bodyと同等)が確認された場合、* <b> bitcointxid </ b>はtrueと評価されますaltchainクライアントはbitcoinのための出力は、消費可能です(つまり、標準がtxであることを確認します)。
*ビットチェインに一致する<b> txid / blankhash </ b>がなくても、トランザクションはaltchainに含めることが有効な方法で構築されます
+
*バットチェインに一致する<b> txid / blankhash </ b>がなくても、トランザクションはaltchainに含まれることが有効な方法で構築されます
*ビットコインtxidがtxを「フリーズ」するまで(その時点で入力を消費し、その出力が消費可能になるまで)、その出力は消費可能ではなく、入力は別のtxによって自由に消費されます(私は知っています。
+
*ビートコインtxidがtxを「フリーズ」するまで(その状態で入力を消費し、その出力が消費可能になるまで)、その出力は消費可能ではない、入力は別のtxによって自由に消費されます(私は知っています。
*オプションで、フリーズが発生するビットコインブロック#パラメータが存在する可能性があります(ビットコイン側の確認数を効果的に指示します)。
+
*オプションで、フリーズが発生するビートコードブロック#パラメタが存在する可能性があります(ビートコイン側の確認数を効果的に指示します)。
*インプットが複数回言及されるのは合法です。最初の(ブロックハイトオーダーでの)「凍結」勝ち、他の同じインプットコンシューマーが無効になる取引です。
+
*インプットが複数回言及されるのは合法です。最初の(ブロックハイトーでの)「凍結」勝ち、他の同様のインシュットコンシーマーが無効になる取引です。
  
 
==他の参照==
 
==他の参照==
 
* [https://bitcointalk.org/index.php?topic=91843.0 P2PTradeX:暗号化通貨間のP2P取引]
 
* [https://bitcointalk.org/index.php?topic=91843.0 P2PTradeX:暗号化通貨間のP2P取引]
* [https://bitcointalk.org/index.php?topic=193281.0アルファチェーンと原子移動]
+
* [https://bitcointalk.org/index.php?topic=193281.0アルファチェンと原子移動]
* [https://bitcointalk.org/index.php?topic=1619536.0ブロック間トランザクションの中間化]
+
* [https://bitcointalk.org/index.php?topic=1619536.0ブロックインターランザクションの中間化]

2018年4月12日 (木) 20:17時点における最新版

アリスとボブが別々の暗号化通貨で共有し、第三者を信用することなくそれを取り捨てのである(中央集権化された取引所)。

非原子的な単純な解決法は、アリスにBitcoinsをボブに送り、ボブにアリスに別の暗号化を送信されるが、ボブは交渉の最後に戻って単なるプロトコルに従って終わるという選択肢があるBitcoinsとAltcoinの両方で


契約の秘密を明らかにする方法[編集]

1つの解決策は契約nLockTimeです。

アルゴリズム[編集]

ここでは、この問題を解決するアルゴリズムについて説明します。この理由については、credit to TierNolanを参照して([Mike Hearn]]を含む他の人々)。

 Aは乱数xを選びます
 
 AはTX1を作成します: "(Bの署名付きのH(x)はB)、(A&Bは署名した)"なら "Bの公開鍵にBTCを支払う"
 
 A TX2を作成します:「TX1からAの公開鍵>までBTCを支払う、将来48時間ロックされ、Aによって署名された」
 
 AがTX2をBに送信する
 
 BはTX2にサインし、Aに戻る
 
 1)TX1をネットワークに提出する
 
 BはTX3を作成します: "A(AはAで公証されたHはx)または(A&Bが署名した)"ならば "alt-coinsを<A-public-key>
 
 BはTX4を作成します:「TX3からBの公開鍵>までv altコインを支払う、将来24時間ロックされる、Bにより署名された」
 
 BがTX4をAに送信する
 
 符号TX4がBに返される
 
 2)BがTX3をネットワークに送信する
 
 3)A TX3を費やして、x
 
 4)BはTX1をx
 
 これはアットミック(タイムアウト付)です。プロセスが停止している場合は、停止してもプロセスを元に戻すことができます。
 
 前1:放送されていないので何ても起りませんでした
 1&2の間:Aは72時間後に支払いを使用して返すことができます
 2&3:Bの間は、24時間後に払い戻すことができます。Aは払い戻しに24時間以上かかります
 3:トランザクションが2で完了した後
   - Aは24時間以内に新しいコインを消費しなければならない、またはBが払い戻しを求めてコインを保持できる
   - Bは72時間以内に新しいコインを使用してばならない、またはAは払い戻しを請求してコインを預けることができます
 
安全のために、両者は期限まで多くの時間をかけてプロセスを完了する必要があります。
</ pre>

特殊なaltchainを使った解決[編集]

手のひらのプールは、プロトコルの側では特別なサポートなしに直接ビット列由来のチェーン間で取り引きするために使用することができます。明らかな欠点は、nLockTimeです。取り寄せ手がかりを取って行っていません、当会社の資金はロックされ、タイムアウト期間はは別の取引では使用できません。さらに、現在のビートコールループのルールでは標準と見られるされてもされなくてもいい、トランザクションの置き換えに依存します。

クロースチェンp2ptradeのもの1つの提案は、ビットチェンチェンからのp2ptradeの効率的な操作のための特性を持っている特殊なaltchainを使用することです。それには、私たちは通常の支払いと全く同じように見える単なる標準的なビットコイン引き取りを使用します(nlocktime、multisig、特別なスクリプトなし)。

altchainがそれをサポートするために実際の経済的価値を持っていると仮定すると、それはfe間の(効率的)効率的なゼロロットP2P市場の代理人としての役割を果たしていることができる。BTCおよびLTCは、マーケティング担当者の裁定のおかげです。

アルゴリズム[編集]

Alice = AltChain Bob = Bitcoin

  • Bobは通常どおりのトランザクションを作成して署名し、 txid </ b>を計算します。Aliceに<b> txid </ b>とトランザクションスクリプト<b>と入力スクリプト/署名をブランク< / b>を送信します。
  • アリスは空白のボディのハッシュを計算し、それをハッシュハッシュと呼ぶ、特別な<b> bitcointxid(ブラスクハッシュ、txid)</ b>オードコードでトランザクションを構築します。トランザクションをaltchainにブログキャストします。
  • Bobはaltchain txを確認し、その出力が以前に合意されたものであることを確認します。その時点で、彼をそれをブログにキャストするアリスに "uncensored" Bitcoin txをお送りします。したが、アリスはバットコイン・ファンドとして入金され、これは同時に交换取引を同時に行う(これは原子点である)。
  • ボブは、彼が十分に自信を持っていれば、彼の取り引きを再編成しないので、二倍の支出をすることができると確信しているだけです。これは、多くの取引先の確認最初に来るべであることを暗示しているかもしなかったが、その間にそれぞれの取り引きがキャンセルされることになるかもしれない。

オペコードとaltchain特別ルール[編集]

bitcoinブロックでは<b> txid </ b>(および<b> blankhash </ b>はtx bodyと同等)が確認された場合、* <b> bitcointxid </ b>はtrueと評価されますaltchainクライアントはbitcoinのための出力は、消費可能です(つまり、標準がtxであることを確認します)。

  • バットチェインに一致する<b> txid / blankhash </ b>がなくても、トランザクションはaltchainに含まれることが有効な方法で構築されます
  • ビートコインtxidがtxを「フリーズ」するまで(その状態で入力を消費し、その出力が消費可能になるまで)、その出力は消費可能ではない、入力は別のtxによって自由に消費されます(私は知っています。
  • オプションで、フリーズが発生するビートコードブロック#パラメタが存在する可能性があります(ビートコイン側の確認数を効果的に指示します)。
  • インプットが複数回言及されるのは合法です。最初の(ブロックハイトーでの)「凍結」勝ち、他の同様のインシュットコンシーマーが無効になる取引です。

他の参照[編集]