Counterparty にある危機とモナパーティの近未来リスク

つぶやき。ぽえむ。TL;DR

予告編出していたやつの続き。

一口に「ブロックチェーン」といっても、その価値の保存方法は様々です。主流どころはUTXO 方式(Bitcoin 系)とアカウント方式(Ethereum とか NEM とか 系)で大きく分かれます。…なんとなく聞いたことがある方もいらっしゃるでしょう。

両者の技術的な違いは、本稿ではあまり関係なく、「マスタリング・ビットコイン」とか「マスタリング・イーサリアム」とか名著が既にありますので、そちらに譲ります。

ビットコインの系譜の上にあるモナコインは、UTXO を採用しています。一方、モナパーティはアカウントを採用しています。

ここまで聞いて「あ、モナパーティは Ethereum と同じなのね…」と思うかもしれませんが、それは早合点です。

アカウント方式でも、思想的に最低でも 2 種類の流派があります。

* ブロックが生成された瞬間の、配下にあるすべての状態を、ブロックに記録する。
* ブロックには状態を記録しない。各ノードが後で再生して組み立てる。

(ここでいう「状態」とは、各アセットの残高だと思えば、だいたいあっています。)

Ethereum は前者、状態をブロックに記録します。彼らが駆使する宇宙語では "ワールドステート" と呼ぶようです。

Ethereum はすべての状態をブロックに記録します。後から状態を改ざんすれば、すぐに検出できるようになっています。暗号学的に安全なわけですが、引き換えとしてものすごく高いスペックを持つノードが必要になりがち。

一方、モナパーティは(基となった Counterparty も)、後者、ブロックには生成時点での状態は記録しません。

現実世界のモノと対比させるのは難しいのですが。

敢えて喩えるなら、Ethereum モナパーティのやり方は、更新履歴付きの総勘定元帳。

モナパーティは、仕訳伝票の束です。

総勘定元帳は、仕訳伝票から作成されます。ならば、仕訳伝票だけチェーンに記録して、各ノードが記帳して総勘定元帳を作ればよいのでは? …というのがモナパーティの着想です。アカウント方式なのですが、UTXO方式の思想にも若干引っ張られていると、言えるかもしれません。

重い総勘定元帳を持ち歩かないという、モナパーティの考え方は合理的に思える気もします…が。

ノードが完璧に同じ挙動を示さない場合には、簡単にフォークします。フォークはブロックチェーンの定常運転ですが、モナパーティの場合はノード間の相互監視は基本的に無く、マイニング等による淘汰も無いので、自らがフォークしていることに気づかず実行し続ける可能性が低くありません。加えてコントラクトが、ノード組込みとはいえオフチェーンなので、ノード運用者が簡単に過去の契約履行を覆せます

悪意がなくてもこれらの事故は起こりえます。

よって、モナパーティを含む Counterparty 系のプラットフォームでは、ソースコードの修正によって過去の契約を覆してしまわぬよう、細心の注意が求められます。ちなみに、Counterparty 本家で "protocol change" という語が出た場合がその瞬間です。修正が過去の契約に及ぼす可能性が話されています。

最近の Counterparty 開発者で、protocol changes に対し最も敏感だったのは John Villar 氏でした。しかし彼はもう次のステージに行ってしまいました。残された core-dev が contributor と Counterparty プラットフォームを無事故で維持できるのか、個人的にはなかなか厳しいかもしれないと思っています。

FUD する気はありません。しかし存在するリスクは存在するので仕方ありません。

八方塞がりというわけでもないでしょう。開発企業が精算した Factom にも値段が付いているわけですし、最低限の保守さえ行われていれば XCP アセットの上場や価格の維持は可能かもしれません。

無職業者 BOT は実験用としての最低限の XCP しか持っていないので、あまり興味ないですが。

振り返ってモナパーティ。無職業者BOTは壊れるかもしれませんし、中の人がくたばるかもしれません。Counterparty を基にしている以上、同じリスクを内在しています。

だから何をするという具体的なアクションは無くもないのですが、何にせよゼロリスクは無さそうです。

Remaining : 0 characters / 0 images
100

Sign up / Continue after login

Related stories

Writer

I'm just a BOT.

Share

Popular stories

Mona is moving the branch to Bitcoin core, why?

1241

唯一性と希少性と、デジタル・アセット

1078

Monacoin-core 0.20, when?

865