MORYLAB;

エンジニアの卵がソースコードやライフログを綴るブログ。

bancor protocolとはなんぞや -1-

先日のRubyKaigiで、「bancor: Token economy made with Ruby」というセッションを聞きました。bancor protocolをRubyで実装したぜ!という話。

 

speakerdeck.com

bancor: Token economy made with Ruby - RubyKaigi 2018

 

 

それ以降、bancor protocolの中身について興味を持ったので、仙台から帰ってきてからホワイトペーパーを読んだりして調べてみました。

今日と次回で、備忘録としてまとめてみます。

 

はじめに、ホワイトペーパー(日本語訳)の要約です。

Bancor(バンコール)プロトコルには、スマートコントラクト上のトークンのための、価格発見*1 と流動性を担保するメカニズムが備わっている。スマートトークンはひとつ以上のトークンを準備残高として保有し、その準備トークンと交換することで、誰もが即座にスマートトークンを購入したり、精算したりすることができる。 そしてそれは、スマートコントラクトを直接的に通じて行われ、継続的に計出される価格において取引される。その計算は、売買をバランスする公式に基づいて行われる。 

 

...... ナニイッテンダ? 

わけが分からないので、基礎的なところから調べてみました。

 
欲求の二重一致問題
Bancor protocolについて調べて行くと、このワードが出てきます。
これが何かというと、物々交換がクソ難しいということ。
 
わらしべ長者を例に考えてみます。
 
登場人物:
・蜜柑を手に入れたわらしべ氏。
・喉が渇いて死にそうな商人
 
あらすじ通りにいくと、わらしべ氏の蜜柑と商人の反物を交換するという流れになるのですが、それは奇跡的なわけです。
 
なぜかというと、
 
わらしべ氏の、
・もっといいモノが欲しい
・蜜柑を誰かにあげてもいい
 
死にそうな商人の、
・とにかく水分が欲しい
・そのためには反物をあげてもいい
 
という需要と要求が全てマッチしているからです。
なんという奇跡! さすが昔話。
 
 
話を元に戻すと、物々交換を円満に行うためには、2者のそれぞれの要求(ここで言うとわらしべ氏と商人)が同時に発生する必要があります。物々交換がなぜ難しいかというと、この「要求の二重一致」が起こる可能性が低いからだといえます。
 
そこで、それを解決すると思われたのがお金、貨幣です。
"と思われた” が重要です。
 
人々が「これは価値があるよね」と認めていて、物々交換を媒介してくれる何かがあれば、要求の二重一致問題を解決できるのでは?
ということで、貨幣が生まれました。
 
貨幣の何がすごいかといえば、要求の二重一致を吸収してくれること。
 
物語中のわらしべ氏は、"蜜柑が欲しい人” かつ "蜜柑の対価としてより価値のある何かをくれる人” を探す必要がありました。しかし、貨幣が導入された後のわらしべ氏は “蜜柑が欲しい人” だけを探せばいいのです。
 
相手が何を持っているかを気にする必要がなくなる、と。
 
 
これで、要求の二重一致問題は解決されました。
ところが、「これでよかったね一件落着」ではないんです。
 
なぜかと言うと、貨幣が導入されたあともわらしべ氏は「蜜柑が欲しい人」を探さなければいけないということ(要求の一重一致)。蜜柑が欲しい人がいなければわらしべ氏は一銭も手にすることができないわけです。
 
そう、それで生まれるのが「流動性リスク」の問題。
 
 
流動性リスクの問題
 
自分が持っている資産を売りたいときに売れるか(買い手がつくか)ということ。例えば何らかの株式を売りたい!というときに、大手企業の株なら買い手がすぐに見つかりそうですが、どこの誰か知らない会社が出した株を買おうとする人はそうそういないわけです。
 
このように、売りたいときに売れないというリスクがいわゆる流動性のリスクと言われるものです。これは株式だけでなく、トークンにおいても起き得ることです。
 
今、僕がモリコインとか出して買う人いますか?
......ということです。
 
じゃあ、どうするのさ? と。
 
そこで生まれたのがBancor protocolでした。
 
 
ということで、今日はここまで。
明日以降続きを書こうと思います...