イーサリアムを理解するためにビットコインの基本を理解しよう

目次

     

    イーサリアムを理解するためにビットコインの基本を理解しよう

    Just Enough Bitcoin for Ethereum

     

    まさに光陰矢のごとし!新世代のプログラマー達は既にビットコインを一足飛びして直接イーサリアムに取り組んでいます。これらのプログラマー達はこれまで暗号通貨にあまり関心がなかったかもしれませんが、彼らは任意の(チューリング完全!)複雑度のトラストレスなトランザクションをプロビジョニングするイーサリアムに惹かれています。彼らのイーサリアムに飛び込みたいと言う望みを責めることはできない一方で、イーサリアムは根幹の技術の多くをビットコインから直接から抽き出しています。この一連の記事で、新人イーサリアム開発者のために、イーサリアムの仕組みの理解のための最低限のビットコインの基本を説明し、かつてオブジェクトへの適応の感覚を育てたように、コントラクトへの適応を育てていく途を探り始めていきます。

     

    これは2部に渡るシリーズのパート1です。パート1、「イーサリアム理解のための最低限のビットコインの基本」では、ビットコインの理解に焦点を合わせます。パート2、「イーサリアム:ビットコイン+その他全部」では、どのようにイーサリアムがビットコインのブロックチェーン技術を拡張するかを見ていきます。

     

    イーサリアム理解のための最低限のビットコインの基本 Just Enough Bitcoin for Ethereum

     

    ブロックチェーン The Blockchain

    根本的に、ブロックチェーンは状態の変化の公開の記録です。誰でも一定期間中のブロックチェーンの状態の変化を、トランザクションがブロックチェーンの規則に則って行われたかについて数学的な確度で自ら監査できます。ビットコインの場合、この規則はシンプルなものです:二重支払いはだめで、起源は有効ブロックのマイニング(採掘)まで遡って追跡可能でなければならない(マイニングについて詳しくは後で)。私達の旅の始まりにおいて、あなたに暗号学の知識が全く無かったとしても、ビットコインのホワイトペーパーを読む事を勧めます。暗号学的基盤については追って解説します。ビットコインのホワイトペーパーは短く、本当に私達に関係するのは最初の6節だけです。

     

    ブロックチェーントランザクションの暗号学的基盤 Cryptographic Underpinnings of Blockchain Transactions

    暗号学のバックグラウンドを全く持たない人間として、ホワイトペーパーのトランザクションの説明を読んだ私は混乱しました。これは、アセットの履歴を現在までトレースすることによる、ある時点でのアセットの所有権を証明するよう設計された仕組みであると私達は理解すべきです。しかし、公開鍵とは?ハッシュ?これらはどのように私達がアセットの所有権を証明するのを助けるのか?暗号学のクラスを取ったことがないなら、これらの重要な機能に関するハイレベルの説明について、下のKhan Academyの動画を見ましょう。

     

    (Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System)

     

    さて、ホワイトペーパーのトランザクションの図を振り返りましょう。ここで、所有者2の公開鍵と前回のトランザクション(ビットコインが所有者1の所有となったトランザクション)の両方を単一のダイジェスト(ハッシュ関数のアウトプット)にハッシュしています。このダイジェストは次にオーナー1の秘密鍵で署名されます。未来において、発生が主張された状態の変化を署名検証アルゴリズムに入力するによって、だれでも所有者2によるそのビットコインに関する主張を検証することができますービットコインの合計と所有者2の公開鍵(この金額の所有者2への移転を示す)、所有者1の公開鍵(ビットコインの移転が所有者1からであることを示す)、そしてトランザクションの署名された書式(ブロックチェーン上で公開、提供されたダイジェスト、トランザクションが起こった時に記録される)。所有者2が正確に示した状態変化が確かに所有者1の秘密鍵で署名された場合のみ、所有者1の公開鍵がオンチェーンの署名されたトランザクションについて、署名されたトランザクションのダイジェストの有効性を主張できます。このプロセスは、全ての所有権のチェーンが有効であることを証明するため、ビットコインの起点まで再帰的に繰り返すことができます。

     

    おそらく、この時点であなたはたくさんの質問を抱えており、エッジケースについて考えているでしょうー所有権のチェーンはどのように始まるのか?移転においてビットコインの合計はどのように指定されるのか?驚くべきことに、イーサリアムのためにあなたが理解する必要があるビットコインの仕組むはこれぐらいです。次に、ホワイトペーパーの3から6節までを見ていき、これらのエッジケースの一部がどのように解決されるのか解明していきます。

     

     

    ブロックチェーン上でネットワークの合意を生み出すことにおけるマイニングの役割

    The Role of Mining in Creating Network Consensus on the Blockchain

    全てのビットコイントランザクションはネットワーク全体にブロードキャストされ、これらのトランザクションは(上で記述された方法とほぼ同じものを用いて)正当性を確認するマイナーによって集められ、それらの全ての有効なトランザクションを「ブロック」に含めます。ブロックの内容は次に、結果のアウトプットが一定数のゼロで始まるまで(ノンスと呼ばれる)増加する乱数でハッシュされます。ネットワークはネットワークは動的に必要な始まりのゼロの数(または「難易度」)を調節し、ブロックが平均で10分ごとに採掘されるようにします。ハッシュアルゴリズムに結果が予測不可能のため、ネットワークが受け入れる有効なハッシュを見つけるのに、運とCPUパワーの両方が必要です。持っている計算能力が大きいほど、誰よりも早く有効なハッシュを見つける可能性も大きいと言えます。有効なブロックが「採掘」されると、それは残りのネットワークによってブロードキャスト、テストされます。他のノードは直近の正当なブロックを元に、含まれた状態の変化の筋が通っているかどうか、ブロックを正当な最新のネットワークの状態として受け入れる前に全てのトランザクションの署名が有効か、そしてブロックと提供されたノンスが有効なダイジェストにハッシュするか、テストします。次に、ブロックは各ノードのローカルのデータベース内で、これまで採掘されたブロックからなる現行の「チェーン」の頭に追加されます。

     

    所有権のチェーンはどのように始まるのか?ビットコインプロトコルはブロック採掘者に対し、各ブロックに25BTCのトランザクションを含めることが認められると指定しています。この25BTCはシステムから発生するもので、マイナーがネットワークを支えるインセンティブです。所有権のチェーンがこれらの特別なトランザクションまで遡れる場合ビットコインは偽造ではないと証明されることができます。確かに、これが新たなビットコインが生成される唯一の方法です。

     

    ネットワークに接続された全ノードの合計計算能力の51%が正直で共謀していないユーザーによってコントロールされている限り、ビットコインは安全です。ネットワークの51%をコントロールする悪意あるユーザーはビットコインでコーヒーの支払いをして、(この人物のトランザクションの直前の状態から)詐欺的にコーヒーの購入を省いたブロックを採掘できます。ネットワークがそれより先立って数ブロック進めていたとしても、ネットワークの馬力の51%を持つこの人物が追いつくことは避けられません。ビットコインプロトコルが最長のチェーンを正当なものとして受け入れることを要求するため、悪意あるユーザーは、この人物による騙しがあったことを示す放棄されたブロックチェーンのサブツリーが存在したとしてもこの盗難の責めを負いません。

     

     

    特別単位:ビットコインにおけるUTXO

    ビットコインでは、保持するビットコインは無限に分割可能な通貨単位の、そこから入出金できるプールを包含しません。その代わりに、ビットコインユーザーはUTXO(未使用のトランザクションアウトプット)によって扱います。マイナーが「鋳造されたばかりの」25BTC1BTCのコーヒーに使いたい場合、トランザクションのインプットとして25BTC(UTXO)全体を指定し、トランザクションの2つのアウトプット(一つは販売者のアドレウスに1BTCを送り、もう一つは24BTCが「お釣り」として購入者のアドレスに戻される)を指定する必要があります。もう一杯のコーヒーを買う場合、その24BTCが単一のUTXOを包含します。より高価な品物と交換するためトランザクションインプットで組み合わされたUTXOは、販売者によって新しい単一のUTXOとして受け取られます。イーサリアムはUXTOを用いませんーイーサリアムでは、アカウント残高は分割可能です。

     

    今やあなたは、ビットコインブロックチェーンの仕組みの基本を理解するのに必要な全知識を持っています。頭が回るでしょう!まだ完全に分からなくても残念に思わないでくださいー何日か頭の中に置いておけば、夢の中で分かり始めてくるでしょう。そうなったら、ビットコインブロックチェーンとよく似たものが、プログラムコードのインプットも公に共有されている時いかに任意な複雑性を持つ計算のアウトプットの証明に使えるか想像し始めるかもしれません。実際の所、それこそがこのシリースのパート2で探っていくことです。その時までさようなら!

     

    マイクのシリーズの次のパート「イーサリアム:ビットコイン+その他全部」をお楽しみに。Stay tuned for the next part in Mike’s series, “Ethereum: Bitcoin Plus Everything”.

     

    執筆:マイク・ゴールディン

    Written by Mike Goldin

     

    エヴァン・ソンのデザイン、アイコンはthenounproject.comから

    Designed by Eva Shon, with icons from thenounproject.com

     

    (ソース元記事:https://media.consensys.net/time-sure-does-fly-ed4518792679

     

    コメントする

    メールアドレスが公開されることはありません。