Simply

ERC777とは

以前「ERC20」をより発展させた「ERC223」について説明しましたが、その「ERC223」を更に発展させた新しいトークンが「ERC777」としてEIPに提案されています。
今回はその「ERC777」にて議論されている新しいトークンについて説明します。

※ EIPとは「イーサリアム改善提案」です。
※ 本記事では「EIP777として提案されている新しいトークン」を「ERC777」として記述させていただきます。

ERC777について

「ERC20」が2015年11月19日、「ERC223」が2017年3月5日に初めて提案され、「ERC777」は2017年11月19日に提案されました。
以前は約1年4ヶ月で203個の改善提案が出されていたのに対し「ERC777」提案時点では約8ヶ月で554個の改善提案が出されています。
開発スピードの上がり具合が可視化されているようです。

ERC223のメリット

「ERC777」の前に「ERC223」おさらいを。
「ERC20」と比べて「ERC223」は、
トークンを受け取れない送り先を指定した場合、送り主にトークンを戻す
という振る舞いを定義し、誰も動かせなくなるゾンビトークンを生み出さない設計になっています。
DexaranExperty のスマートコントラクトコードを読み解くと、送り先アドレスがコードを持っている、すなわちコントラクトに対して送ろうとした場合は送り主にトークンを戻す `takenFallback` を呼び出すようになっています。

追記 2018/01/26 17:14

Experty の experty-tge リポジトリは削除されていました。

ERC777のメリット

コントラクトか否かを判別して送り返すことでゾンビトークンを生み出さない「ERC223」に対し、なんと「ERC777」はコントラクトがトークンを受信/送信できる設計になっています!
具体的には「EIP820」で提案されている疑似イントロスペクションを使い、送信先が `ITokenRecipient` に対応しているかをチェックしてトークンを送ります。
また、1つのアドレスに対し1つだけ「自分のトークンを送信できるアドレス」を設定できます。
これを使えば、コントラクトにあるトークンを動かすことが可能となります!

ERC777の互換性

基本的にはどのERCとも互換性はありませんが、「ERC777」と共に「ERC20」を実装したトークンを作成する事は可能です。
そうすれば「ERC777」としても「ERC20」としても振る舞えるようになります!
提案者がサンプルコードを開示していますので、詳しくはそちらを参照ください。

まとめ

今後もまだまだ「ERC20」を改善したトークンが出てきそうです。
今年は「ERC223」や「ERC777」を筆頭に、新しいトークンが市場へ出てくるかもしれません。

 

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.