EVM, EOA スマコンの入り口

EVMとEOA

EVMはイーサの仮想マシンとのことでした。EVMはグローバルシングルトンで、簡単に言うと世界で一つみたいな。そんな感じです。
でEOAなるものがあります。それは外部所有アカウント。はい、外部ってパブリックブロックチェーンで逆にどう成立させてるの?って思います。これがどうもそういうわけではなくて、秘密鍵を持つアカウントらしいです。アカウント?とも思うんですが、イーサはどっかでアカウント式と聞いたことがあります。これがビットコインブロックチェーンとは別の設計と思います。
図か何かで覚えたいところですが、EOAが外部で秘密鍵アカウントで、それ以外はコントラクトアカウントと言って、鍵なしの代わりにスマコンのコードを所有します。コンアカはEVMで実行されるプログラムという事になります。
違っているかもしれませんがビットコインは鍵とロッキングスクリプトがあります。この役割を分けたのかな?ビットコインも分けてないだけで分かれている様なもの?まぁいいか。ブロックチェーンを作るエンジニアではなくてブロックチェーンを使うエンジニア視点では、一旦深く考えなくてOK。

コンアカにも

コンアカにもアドレスもあれば、送受信できます。はい、ビットコイン的にいうと、どっちも目的次第で異なる単なるアドレスです。分けてるけど、分けなくても動いているブロックチェーンがあるのでそこらへんの整理が必要ですね。メモリとGPUの関係みたいな。同じまな板だけどGPUは特定の演算処理に特化していますみたいな。でも実はどっちもまな板ですよって。

コンアカとEOAの連携

コンアカはただそこにあるコードです。ビットコインスクリプトみたいな。それを使うのがEOAでトランザクション(tx)を生み出せます。そういう関係との事。EOAがtxを発生させるときに引数を渡して、それをコントラクトが受けて実行します。これがやりやすいETHはライブラリがあるんでしょうか。ちょっとワクワクします。それをBSVにもさっさと導入されて欲しいものです。

コンアカには

dapp感あります。コントラクトには別のコントラクトを呼び出せます。つまり私がビットコインで気にしていたこのビットコインスクリプトをトリガーに別のビットコインスクリプトを実行できるのか?include,import的な。これができるけど便利なそれはないみたいな状況なんだと思いますが、ETH本には文章で出来るって言わずもがな書かれていました。うーん、やっぱり入門に向いているよね。

サンプルが記述されていましたが、マルチシグが典型例とのことです。マルチっつーんは鍵を3つに分散して2/3あればOKっていう仕組みです。1つクラックされても盗まれない。忘れても大丈夫。という安全なウォレットです。BTC,BCHにはこれがなかなか導入されませんでしたがETHにはいつのころからなのかあるようです。特許との兼ね合い、時期は不明ですが、そこはエンジニア視点では置いておきましょう。
鍵が分散していてもコントラクトが各方面に問い合わせにいって2/3あってればOKというのを作ればEtherの移動成立(契約)ってわけですね!

文鎮化BTCがエンジニアをぶった切った。

そして、ここで知れるわけです。やっぱりBTCを文鎮化したときに、マルチシグとか導入するようなエンジニアはETHにながれちまったんだなと。今のところ価格高騰していて売り抜けで利益をだせているならそれは文鎮化もビジネスとしては成功だったと言えるのかもね。エンジニア視点では2016年にBTC is dead的な有名な方の発言がありますが、それはそうなんだなと言えます。

続きは、プログラムサンプルとその修正などを見ていきます。