イーサリアムの一番の特徴はなんといっても柔軟なスマートコントラクトです。しかし、複雑なスマートコントラクトにはキルスイッチやブラックリスト機能があったりするなどして、スマートコントラクトは必ずしも非中央集権とはいえないという批判があります。実際に、コントラクトの所有者への圧力で検閲などが可能だったり、避難用の関数を使った盗難もありえます。
一方で、コントラクトのコードが監査できる点や、機能性の面では魅力的でもあります。

今日はパロディでありつつビットコインのライトニングネットワークを通して機能するスマートコントラクトプラットフォームEtleneumを詳しく見ていきます。

ETLENEUMとは

Etleneumはイーサリアムをもじった自称「Global, open-source platform for the centralized applications」です。要するに、オープンソースな「中央集権型」スマートコントラクトプラットフォームです。公式サイトもシンプルですが、かなり複雑なイーサリアムと比べて非常にシンプルなのが特徴です。

トップページにある落書きのような説明図は、何らかの事象に対する賭けを行うスマートコントラクトで、各ユーザーが賭けを行ったあと、匿名のオラクルが結果を通知し、それによって配当が行われるという内容です。結果の内容の真偽に関するオラクル問題を解決しようという意図が一切感じられない潔さです。でもそこに皮肉が効いていて面白い。

使い方

コントラクトはEtleneumのサーバーに、誰でも閲覧可能なLua(主に組み込み用に使われるプログラミング言語)スクリプトとして公開され、EtleneumのサーバーへのリクエストもしくはEtleneumのサイト上から直接使用することができます。

※以下はEtleneumのサイトを見ながらだとわかりやすいです。

コントラクトの作成は誰でも「Create」のページから無料で行え、大変シンプルなのでプログラミング経験の少ない方でも恐らくすぐに書けます。作ったコントラクトはList Contractsのページにも掲載され、コントラクト個別のページに遷移することができます。

コントラクトのページではコントラクトの現在のステート、説明文、コードと呼び出し履歴が記載されており、右側には「関数を呼び出すボタン」があります。このボタンを使って生成したインボイスを支払うと、コントラクトが実行されるというわけです。
(ちなみに全部HTTPSリクエストでもできるので、バックグラウンドでEtleneumを呼び出すアプリなども作り放題です。)

etleneum.com background-color setter」というコントラクトを例に取ると、このサイトの背景色を自由に決めるために「sethue」をクリックし、10サトシ以上を入力し、hueに「0~360」で色相を設定し、prepare callでインボイスを作成します。支払うと、サイトの背景色が自分が選んだ色相になる、というわけです。

※なお、今日使ってみようとしたところ、Etleneumの人たちがチャネル管理をサボっているのか、彼らへのinbound capacityがなく失敗しました。ほぼボランティアなので仕方ないですが、本格的なサービスとして提供するのであれば管理費用として何らかの手数料を徴収する必要がありそうです。
画期的(?)なところ

Etleneum自体はオープンソースなので、頑張れば誰でも同一のサービスが作成できます。先ほどわかったように、可用性や安全性の面では完全に中央集権型でトラストが必要ですが、おもちゃにはちょうどいいと思います。何より、オフチェーンの箱庭であり、超少額に限られるので、書くのも簡単ですし使うのも不安が少ないです。中央集権型の「安心」ですが。
また、冒頭で述べた「圧力を受けうるスマートコントラクト保有者」が自身でこのようなサービスを運営すれば、パブリックな仮想通貨を受け付けることができつつ、パブリックチェーンを使うより簡単で安全な説もあります。

もう一つの便利そうなところは、これ自体でLNゲームなどのサービスの雛形になっているという点です。Etleneumを自分で動かせば、入出金のインボイス発行と、入金時・出金時などの挙動(ステートの変更)が簡単に実装できてしまいます。LNURLまたはユーザー名とパスワードを使ったログインという概念まであります(BluewalletやLntxbotなど対応ウォレットが必要)。本家Etleneumではコントラクトの更新は不可能ですが、中央集権なので改造すればどうにかできるでしょう。

おわりに

将来的には、ライトニングで当事者間のみで共有されるスマートコントラクトのようなものが誕生する可能性は十分にあると思います。それはそのときで大きなブレイクスルーとなるでしょうが、スマートコントラクトは現実世界との摩擦が常に存在し、完全にトラストレスに行うことはまだ難しいでしょう。

一方で、元は冗談にしろEtleneumのような中央集権型スマートコントラクトプラットフォームは現在使える非常にシンプルな選択肢として検討に値するでしょう。トラストレス性はないので革新とは呼びませんが、「社会的、法的根拠によるトラスト」に十分に縛られうる主体が自前のスマートコントラクトを提供するというありがちな状況には向いていると思います。