Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Copy_of_Towards_improved_Plasma_constructions.pdf

 Copy_of_Towards_improved_Plasma_constructions.pdf

Loom Networkの Plasama resercher・Georgios(https://gakonst.com )によるスライドの日本語翻訳版です。
Plasma #3にて発表されたものです。

Mami Mordovets

June 25, 2018
Tweet

More Decks by Mami Mordovets

Other Decks in Technology

Transcript

  1. Plasmaとは? 1. ブテリン&プーンにより2017年に提案された 2. サイドチェーンを通したEthereumのスケーラビリティ解決策 3. 複数のオフチェーンの状態更新がオンチェーンで記録される 4. Plasmaチェーン →

    “Plasmaコントラクト”と対話するサイドチェーン 5. Plasma コントラクト → 動きをPlasmaチェーンに通知する 6. Plasmaコントラクトにマークル木ルートが送信される 7. Plasmaチェーンの安全性 → メインチェーンと同等と想定 8. 詐欺のないクリプトエコノミーゲーム
  2. Plasmaチェーンからの引き出しとは? Plasma Exit! 1. 所有権の証拠のUTXOを送信 (署名, マークル証明など) +保証金 2. ちょっと待って…OK

    → 引き出し チャレンジ! 1. Exitが詐欺的なものであった証明を送信 + 保証金 2. challengeが有効となると、exitはキャンセル + Exitを試みた者の保証 金を獲得
  3. Plasmaの種類 1. 標準的Plasma (ホワイトペーパー版) 2. Plasma MVP (OmiseGO, Matic Network,

    BANKEX, Parsecなど?) 3. アカウントベースのPlasma (Gluon) 4. Plasma Cash (Loom Network, OmiseGo, Wolk) 5. ...さらなるエクステンションとしては a. Plasma XT (checkpoints) b. Plasma Debit (channels) c. 高速引き出し可能なPlasma (Exit用第2のマーケットプレイス)
  4. Plasma Cash - データチェックが少ないPlasma 1. 5 ETHをデポジットし、“5 ETH”の代替不可能なUTXOを獲得 2. コインは分割不可

    (つまり5 ETHを2 ETH + 3 ETHにはできない) 3. 自分所有するUTXO + 祖先を参照してコインを消費/Exit 4. 詐欺がないかメインチェーンを監視: a. 無効なExit b. チャレンジへの応答 5. コインの状態: {DEPOSITED, EXITING, CHALLENGED, RESPONDED, EXITED}
  5. 1 2 3 4 コイン履歴のサンプル (デポジット5 ETHの場合) BobはCharlieへコインを送信: Block 1,2に含める

    & block 3には含めない Charlieはコインの有効性を検証する必要がある。 Alice Bob Charlie Alice
  6. チャレンジ 出典:https://karl.tech/plasma-cash-simple-spec/ Ethereumブロック 有効な使用 無効な使用  二重支払い Exitトランザクション 1) トランザクション(4)でExitを試みる者が、トランザクション [(4),

    (2)]でExitを送信 2) チャレンジする者が、トランザクション (3)でチャレンジを送信。  トークンは(4)以前に含まれているので (4)の親トークンを消費し、 Exitをキャンセルする。 使用済みコインExitへのチャレンジ
  7. チャレンジ 出典:https://karl.tech/plasma-cash-simple-spec/ 1) トランザクション(5)でExitを試みる者が、トランザクション (4)と(5)でExitを送信 2) チャレンジする者が、トランザクション (2)と(1)でチャレンジを送信。  最新の有効トランザクションとなる 3)

    Exitを試みた者は有効な子トランザクション (2)にレスポンスしなくてはならない。  1つは存在していないので、この Exitはキャンセルされる。 Ethereumブロック 有効な使用 無効な使用  二重支払い Exitトランザクション 保留された消費 無効な履歴を持つExitへのチャレンジ
  8. コイン引き出しのためのステートマシン DEPOSITED EXITING EXITED CHALLENGED RESPONDED startExit (+bond) challengeBefore (+bond)

    respondChallengeBefore finalizeExit & matured finalizeExit & matured challengeBetween/challengeAfter finalizeExit & matured *matured = 7 days have passed
  9. Example Flow 1. Alice deposits CryptoZombie (block 1) 2. Alice

    gives CZ to Bob, block root gets submitted (1000) 3. Bob gives CZ to Charlie (tries double spend), block root gets submitted (2000) 4. Bob tries to exit the coin by referencing (1,1000) and corresponding proofs 5. Charlie sees the exit and challenges by referencing the tx at block 2000 6. Charlie exits the coin by referencing the coin (1000, 2000)
  10. 証明サイズの最適化 マークル木が3階層でトランザクションが1つのみの場合 出典: https://ethresear.ch/t/plasma-cash-with-sparse-merkle-trees-bloom-filters-and-probabilistic-transfers/2006 ルート H(0) H(tx) H(0) H(0) H(H(0),

    H(0)) 通常のProof of Inclusion: 葉, ルート+紫のボックス 紫のボックス = デフォルト値 最適化されたProof of Inclusion: 1. 全レベルのデフォルト値を事前に計算 2. ビットマップの提供 (この場合00) 3. bitmap = 0であればデフォルト値を取得。それ以 外なら与えられた証明より取得。 結果: 2 * 32 バイトのハッシュ値ではなく、 2 ビットになった! しかも...
  11. Plasma Cashの拡張 - 問題 / 解決策 1. コイン履歴で証明サイズを直線的に増加 → Plasma

    XT: 最新チェックポイント後のチェックポイントをとり履歴を検証 2. 非代替トークン、コインは容易に分割不可 → Plasma Debit: 各コイ ンには最大デビット残高があり、コインの分割やオペレーターへの 手数料の支払いなどに使用することが可能。 3. Exitのファイナライズには1-2週間の待機が必要 → 高速な引き出し: リクイディティプロバイダはExitの価値を、待機時間+手数料とトレー ドしたい 4. …?