(Ethereumの)ブロックチェーンとは何なのか、EthereumのYellow Paperを参照しながら解説していきます。このYellow PaperはEthereum開発者のGavin Woodによって書かれています。Gavin WoodはVitalikと共にEthereumプロジェクトを開始し、現在はParity Technologiesを運営している優秀な開発者で、現在はPolkadotやWeb3に携わっています。
以下、引用文中の強調は全て私によるものです。
Abstractより
ブロックチェーンのパラダイムは暗号学的に保護されているトランザクション(cryptographically-secured transactions)との組み合わせにより、その有用性を数々のプロジェクト、特にビットコインを通して実証してきた。
「暗号学的に保護されている」とは、暗号通貨の生成や送金が、堅牢な暗号学的アルゴリスムによって守られている(=ルールを破っている人がいないことが保障されている)ということです。ビットコインやイーサリアムの場合、アルゴリズムそのものは複雑ではないものの、そのアルゴリズムに則った形で、ネットワークを破壊するためには、膨大な量の計算力が必要なため、現時点では”セキュアである”と言われています。
よくある誤解は「ブロックチェーンだから安全である」というものですが、ブロックチェーンを採用しているというただそれだけの理由で、そのネットワークが安全になるわけではありません。このことには注意が必要です。ビットコインやイーサリアムは既に膨大な量の計算力を保持しており、今のところ計算力を提供する複数のマイナーがネットワークに留まり続けているからこそ、堅牢なネットワークを保つことができるのです。また、特にビットコインは2009年から運用を開始し、セキュリティの脆弱性によってハッキングの被害に遭っていないという実績を有しており、この実績が非常に重要です。ブロックチェーン、あるいはそれに準ずる新技術の導入が即ちセキュリティを保証するわけではないのです。ビットコインのセキュリティに関しては、以下の記事でも考察を行いました。
またネットワークが堅牢であることと、自身が保管しているビットコインやイーサリアムが盗まれないことも同義ではありません。ビットコインやイーサリアムは、その所有権の証である秘密鍵を適切に管理できなければ、ハッキング等の被害によって盗まれてしまう可能性があります。秘密鍵の適切な管理を怠った故にBTCやETHが盗まれたとしても、ネットワークは依然として堅牢であると言えます。
各プロジェクトは分散化された、しかしシングルトンであるコンピューターリソース上のアプリケーションとして捉えることができる。我々はこのパラダイムを状態の共有を伴うトランザクション型シングルトンマシンと呼ぶことができる。
「トランザクション型シングルトンマシン」とは、イーサリアムのネットワーク内で生成されるトランザクション(≒取引)に基づく、マシンの単一の正統な状態が存在するということです。
例えばイーサリアムにはEthereum Virtual Machine(EVM)というチューリング完全なマシンがネットワーク上に存在し、私たちはコントラクト等を通じて、EVMを使用することが出来ます。もし仮に、マシンに「単一の正統な状態」が存在しないとすれば、一つのマシンに複数の状態が存在することになり、整合性が失われてしまいます。イーサリアムは、計算力やEVMを使用するためのガス代であるETHという経済的価値のあるものを扱うため、整合性が失われると大きな不都合があります。イーサリアムのネットワークそのものは分散化しているにも関わらず、統一された状態が保障されている点が重要です。
「状態の共有」というのは、上述のマシンの状態がネットワーク参加者全員に共有されているということです。
イーサリアムはこのパラダイムを一般的な方法で実装する。さらに、イーサリアムは、それぞれが異なる状態および動作コードを有するが、メッセージの受け渡しを介して相互作用できるようなリソースを提供する。
メッセージの受け渡し(message-passing)とは、EVM内のコントラクト間で発せられるトランザクションのようなものです。EVM内には複数のコントラクトが存在し、各コントラクトが相互作用するためにメッセージが用いられます。
次回は、イーサリアムネットワークにおけるStateかGHOST protocolについて紹介したいと思います。
ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER
EIP-150 REVISION (759dccd – 2017-08-07)
How does Ethereum work, anyway? – Preethi Kasireddy – Medium