Plasma Cashイニシャルリリース
Loom Networkサイドチェーン上でPlasmaで裏付けられたNFTが利用可能に!!!
by Matthew Campbell and Georgios Konstantopoulos
本記事は、Plasma Cash Initial Release — Plasma-Backed NFTs Now Available on Loom Network Sidechains(Matthew Campbell) の翻訳です。万一誤訳などありましたらPrivate Note機能でお知らせ下さい。
このシリーズの記事:
Loom Network & Plasma
Plasma Cashイニシャルリリース — Loom Networkサイドチェーン上でPlasmaで裏付けられたNFTが利用可能に
2ヶ月前、Loom NetworkへPlasma Cashを追加することを発表した。
今日、Loomサイドチェーン上でERC721非代替トークンの使用を可能にするPlasma Cashの初期実装をリリースできることを、我々は非常に嬉しく思っている。
つまり今や、ユーザーはサイドチェーン上でのガス無しのトランザクション、及び1秒以下の承認時間を実現できるのだ。さらに彼らのトークンはイーサリアム・メインネットのセキュリティで完全に裏打ちされている。
Plasma Cashのスマートコントラクトがオープンソースに
開発者のみなさんへ。我々の実装のソースコードはgithub上で閲覧可能となっている:
https://github.com/loomnetwork/plasma-erc721
またPlasmaコミュニティによるパブリックな監査を受けるため、ethreserch.chにてこのリリースを発表している。
さらに我々のイニシャルリリースのコード上で構築を行う他の開発者やプロジェクトから、今後コントリビューションがあることを非常に楽しみにしている。
現在の実装と次のステップ
Loom Networkでは、Zombie Battlegroundのようなブロックチェーンゲームの構築に当初よりフォーカスしているので、我々のPlasma Cashの初期実装はERC721非代替トークンに特化したものである。
ETHやERC20、その他のタイプのトークンを扱うコードのポーティングは非常に些細なことであるが、より包括的なテストが必要となる。
ERC721のような非代替トークンにPlasma Cashを使用できれば、これは我々が目的とする多くの重要なゲーミングでのユースケースを実現できることになる。こうして、我々はこのユースケースに取り組むことにしたのだ。
次のステップ — トークンの分割とマージ
次のステップはERC20トークンとETHのサポートを追加することだ。
Plasmaチェーン上のトークン分割及びマージのための効率的な構造について、研究はまだ続いているが、現在このベストな方法については、はっきりとしたコンセンサスがない。Plasma Debitという構造の研究では、この問題を部分的に解決することを目指している。
我々はPlasma研究チームと今後数カ月アクティブに協力して、Plasmaチェーン上のトークン分割のベストな方法を見つけていく。
Loom NetworkのリードPlasmaリサーチャー・Georgios Konstantopoulosは先週、Joseph PoonやKarl FloreschらPlasma実装者の公式電話会議に参加した:
Plasmaチェーン上でのトークン分割及びマージについてのコンセンサスに至るまで、Loom SDKの開発者たちはトランスファーゲートウェイを使い、これら代替可能な資産をサイドチェーン上に移転させることが依然として可能となる。
技術的概要: メインネットとPlasmaチェーン間のトークン移動
Plasma Cashの実装は、イーサリアム・メインネット上にあるPlasmaスマートコントラクト、そしてPlasmaコントラクトと通信するLoomサイドチェーンスマートコントラクトから構成されている。
サイドチェーン上でERC721トークンを使用するには、ユーザーはまず自身のトークンをPlasmaコントラクトへと送信する。
トークンを受け取ったら、Plasmaコントラクトは Deposit
イベントを送信し、サイドチェーンはリッスンによりこれをピックアップする。サイドチェーンは、単一のトランザクション(Exitプロセスをより簡単にするため)でブロックを作成し、そこにはデポジット資産が含まれている。
そのあとサイドチェーン上で、メインネットでのトークンの所有権を表す特別なPlasma Cashトークンがユーザーに入金される。サイドチェーン上で他のユーザーに移転することも含め(署名済みトランザクションを提供することで、別のユーザーがトークンの新たな所有者であることを証明する)、彼らは自由にサイドチェーン上でそのトークンのやり取りや使用をすることが可能だ。
サイドチェーンは、そのブロックのマークルルートを定期的にメインネットにコミットすることで「チェックポイント」を取り、トークン所有権の変更をメインネットに報告する。
Plasma Exit
ユーザーが自身のトークンをサイドチェーンからExitしたい場合、彼らはメインネット上のPlasmaコントラクトに直接Exitリクエストを送信する(トークンが自分に移転された証明として、前の所有者からの署名済みトランザクションも添えて送信する)。
するとトークンは「チャレンジ期間」に入る。この間、チャレンジする者は署名済みトランザクションをエビデンスとして送信することで、Exitを試みているユーザーは有効な所有者ではないと証明することができる。
成功したチャレンジがなくチャレンジ期間が経過した場合、ユーザーはPlasmaコントラクトからトークンを引き出すことが可能となる。
このように、ユーザーはメインネットのPlasmaコントラクトないで直接トークンのデポジット及び引き出しが可能であり、サイドチェーンにより彼らのトークンが盗まれるリスクは全くない。
Loom–Plasmaフローのダイアグラム:
次のダイアグラムで、ユーザー、イーサリアム・メインネット上のPlasma Cashコントラクト、Loomサイドチェーン間の基本的なフローを見ることができる:
近いうちに、開発者向けのよりテクニカルなドキュメンテーションをリリースするが、それまでの間開発者たちはgithub上でソースコードを読むことができる。
先日OmiseGoの方々主催の東京Plasma研究会にて、Georgeは我々の研究成果についてプレゼンテーションを行った。この内容については1–2週間のうちに記事をリリース予定だ:
ユーザーエクスペリエンスと今後の改良
Plasma Exitのユーザーエクスペリエンスは、MetaMaskやその他モバイルウォレットの既存のエクスペリエンスに非常に似ている。Exitを開始するには、ユーザーは単純にトランザクションに署名するだけで良い。:
Plasmaとの主な違いは、ほぼ即時のトランザクションではなく、Exitがチャレンジ期間を経過してファイナライズ可能になるまで、ユーザーは待つ必要があるという点だ。
Plasma Cashを使用する際のユーザー・エクスペリエンスは、このように現時点では弱いものだ。しかし今後開発されうるオプショナルサービスをいくつか使用することで、この弱点を緩和することができるだろう:
Liquidity Provider
ユーザーは自身のトークンのExitをリクエストしたあと、チャレンジ期間が完全に経過したかを厭わない者がいれば、そのトークンを彼らのもつ同等のものに「トレード」することができる。
Liquidity Providerはトレードにサービス料を課しているが、こうすることで、ユーザーは料金を支払ってトークンを即座に取り戻すことができ、チャレンジ期間を待つ必要がなくなる。
これについては最近のethresear.chのスレッドで議論されている。
委任Exitとウォッチタワー
Plasma Cashのユーザーエクスペリエンスを向上することができる他のサービスに、委任Exitとウォッチタワーがある。
Plasma技術はユーザーのコインが盗まれることはないという保証を与える。だがしかしトークンをExitするためには、ユーザーは手動でスマートコントラクト上の関数を呼び出し、また自分のトークンに無効なExitの試みがなされた場合にチャレンジできるようコントラクトをモニタリングする必要がある。
これらのUX上の不便な点は、ユーザーに代わってこれらの関数を実行するセミトラストサービスによって緩和することが可能だ。
例えば「委任Exit」サービスでは、ユーザーのトークンが1時間以上サイドチェーンでアイドル状態であれば、彼は自動的に引き出しをすることが 可能となる。
同じように「ウォッチタワー」サービスは、Plasmaコントラクトのモニタリング及び無効なExitへのチャレンジをユーザーの代わりに行うことができる。
このプロセスをトラストレスにする方法で、良さそうなものはない。つまりこのようなサービスを使用するユーザーは、敵と共謀してトークンを盗むサービスに対して脆弱なのだ。 しかしそのようなサービスは、ユーザーが完全にトラストレスであることよりも、便利さを選択するシナリオにおいては、完全にオプショナルなものとなる。
お分かりの通り、Plasma CashのUXにはまだ多くの問題が潜んでおり、この領域についてさらなる研究が必要だ。
Zombieチェーンがもうすぐ登場
来週Zomieチェーンのテストネット、さらにメインネットも続けてすぐリリースする。
以前発表した内容をお見逃しであれば、Zombieチェーンとはイーサリアムの共有DPoSサイドチェーンであり、そのブロック生成時間は1秒以下となる。
開発者はSolisityコントラクトをZombieチェーンにデプロイし、固定月額料金でそれを実行することが可能となる。さらにそのユーザーはガス無しのトランザクションを体験することができ、ユーザーにとって理想的なDAppsとなる。
発表内容全文はこちらでチェックしよう。
本日のリリースで、Loom SDKにPlasma Cash機能が追加された。どの開発者も自身のサイドチェーン上でこれを使用することが可能となる。
だが、これらを実際のプロダクトでデプロイ及び実行することは複雑なことだと我々は承知している。そしてほとんどのDApp開発者は、自身のブロックチェーンのインフラ実行ではなく、アプリケーション構築に注力したいと考えている。
こうした理由で、我々はPlasma Cash機能をZombieチェーンに追加し、全ての開発者がプラットフォーム上で利用できるようにしていく。
こうして、Zombieチェーンの開発者は追加設定なしのそのままの状態で、Plasma Cashの利点をユーザーに提供できるようになる。さらに前述したLiquidity Providerのようなサービスを全ネットワークユーザーに実験的に提供することも可能となる。
このコントリビューションをブロックチェーン世界にリリースできることを、我々は本当に嬉しく思っている。そしてさらなる昨日の追加や、Plasmaのユーザーエクスペリエンスをより向上させるコラボレーションが今後あることを楽しみにしている。
Loom Network は、イーサリアムのハイスケーラブルなDPoSサイドチェーン構築のためのプラットフォームで、大規模ゲームやソーシャルアプリにフォーカスしています。
さらなる情報は こちらから.
LOOMトークンをステークして、PlasmaChainのセキュリティ維持に参加しませんか? やり方はこちら
あなたがブロックチェーンゲームのファンであれば、 Zombie Battlegroundをチェック!世界初・独自のブロックチェーン上でフルに稼働するPC & モバイルカードゲームです。
そしてもしこの記事をお楽しみいただけ、最新情報の受け取りをご希望であれば、私たちの プライベートメーリングリストへの登録や、Telegram、Twitter、GithubやQiitaのフォローをお願いします!