そもそもFast Finalityがわからないというお声が多いのでご期待に応えて。
まずは決済用途だけを思い浮かべてくださいね。
Fast Finalityはまず小切手(Cheque)を思い浮かべるとわかりやすいと思います。
この小切手は、UTXOベースのブロックチェーンのトランザクションと似たデータの塊なんですが、中身には「Nブロック以内にこのTx絶対チェーンにつなげます(署名:オペレーター)」という内容が書いてあります。
小切手をL1のスマートコントラクトに投げるとお金が帰ってきます。
しかし、誰にでも小切手を切っていては払い戻し原資が流通額と同じだけ必要になるので、オペレーターとしてはリミッターをつけたいわけです。
Fast Finalityをできる権利というのは、有限の資源なのです。そこで、高速支払いをしたい小売業者のウォレットからFFトークンと買えるようにして、その保有者に向けての支払いの小切手作成についてのみ、オペレーターは小切手に署名するわけです。
小切手はレジで支払いボタンを押した後すぐ作成され、そのままお金の代わりとしてレジに送信されるので、お客さんからするとただの高速決済に見えます。人によっては0-conf技術の亜種として理解するといいかもしれませんね。
小切手の作成と送信(=Time to Finality)は300msで、処理能力は「HTTPと同じ負担でTxが作れるレベル」です。なので、しばしば「TPSは?」と聞かれますが、そのような概念が不要ですし、ガスも不要です。
上記のFast Finalityを理解できたという前提で、この仕組みをもっと表現力のあるトランザクションに拡張しましょう。
小切手の払い戻しに現実の裁判所を使うことで、より柔軟に不正を解決できるようになります。
柔軟というのは、例えばマルチシグとか、エスクローのロックされた資本とか、そういったスマートコントラクトじみたTxです。
裁判というのはめちゃくちゃ遅いので消費者もなるべく使いたくないし、オペレーターも法人に傷をつけたくないですね。
なので、その法人の収益に対して相対的に小さい金額に不正を働くわけがないという前提で「小切手を受け入れるアプリケーション」を作れるわけです。
任意のL2スマートコントラクトに対してFast Finalityを安全に適用できるようにすることができるというわけです。
要は公開鍵と法人登記のセットが登録されてほしいわけですが、EthereumとPlasmaにおいて公開鍵とはアドレスです。(署名からアドレスを取り出して一致するかチェックできる)
keybaseにオペレーターのETHアドレスを記録し、加えて複数の本人確認済みのSNS企業公式アカウントをKeybaseに記録すれば紐づくと思われます。
たとえば一泊100万円のエアビー物件にスマコンFF小切手でロックTxを投げてオーナーが鍵の場所を教えたとき、本来ならFF小切手に対応するTxがチェーンに取り込まれてバンザイなはずなのに、待てど暮せど取り込まれないとき、オーナーは無料で宿に泊まられたことになり、オペレーターを訴えるわけです。
FF小切手へのオペレーターの署名により、オーナーはオペレーターに利用規約違反で必ず勝てるという構図があれば、オーナーは安心して小切手を受け取ることができます。
各国別に判例が蓄積すると、違和感はもっと少なくなるんでしょうね。
ちなみに100万円ポッチのためにそんなことしないでしょうから、この例はもっと巨額の取引で危うくなります。しかし、そのような取引はL1で行われるべきだと考えます。
また、大金をPlasmaに置いておくこと自体は安全です。Exit Gameで絶対にお金をL1に引き出せるので、オペレーターの攻撃期待値がゼロなのに対して、法人として信頼を失うので。0-conf送金(Fast Finality)もスマコンで守られているので安全です。
0-confに使用中のスマコンのTxだけリスクがあります。このリスクはオペレーターをやっている法人の財務状況と相談ですね。法人がヤバくなったら高額送金をしないのは、他のどのお金を扱うシステムとも共通の性質ですね。
toC向けにマス・アダプションを狙いたい場合に、HTTP通信とUXを等価にするというのが究極的には避けては通れません。これはzk rollupやstate channelや次世代L1ブロックチェーンとは原理的に体験が異なります。そういう点が評価されたのだと考えています。
HTTP通信とUXを等価にするというイノベーションの結果、送金や契約にどんな相転移があるのか、利用ログを用いてどんな世界が広がるのか、想像が膨らみますね。
Plasma Chamber User Group (日本) でご質問おうけしてます〜。
---
おまけ
Hiyaさんのアイデア
秘密鍵をなくしたら Online Requirement(*1)より長くオフラインなのを確認した後に、オペレーターが資金をexit+withdrawalさせて(*2)、L1サブアドレス(*3)に送金してあげるというもの.
*1 Exit GameのChallenge Period. 1week等で仮置きされるが, 任意の長さでよい. 長すぎてもSimple Fast Withdrawalがあるし基本問題ない.
*2 Online Requirementを超えてオフラインな秘密鍵は, そのオフラインである間に不正Exitが存在しても反応できないために, 実質lostしたのと同然である. この期間オフラインであることを確認してからオペレーターがExitを実行すると, オペレーターの所有権として残高が引き出される.
*3 ユーザーにMEWやMetamask等をサブアドレスを登録してもらっておく
これはブロックチェーン批判でよくある、「マスのユーザーは秘密鍵を自分で管理できない」をトラストレス気味に潰せて面白いなと思いました。
これもまたLitigableだからこそできて、利用規約で「ロストしたらオペレーターが代わりに引き出してサブアドレスに送金しておくよ」という約束のもとに成り立っている。(復旧を確約する署名とかはないけど)
少なくとも匿名Plasmaだとオペレーターはお金ガメたほうが得なんですよね。
「アカウント復旧できるのにもかかわらず基本トラストレスで、スマコンがHTTP通信レベルのUX」ってめちゃくちゃうさんくさくないですか?私も未だに半信半疑ですが、引き続き掘ってみます。