ブロックチェーン不変性の神話

ソースノード: 1738527

独断主義よりも柔軟な思考が望ましい場合

「最高のものは、それ以上のものはありませんが、ブロックチェーンであり、その結果、それは不変のものであり、したがって、本当に永遠であり、不滅です。」
—セントオーガスティン、デナチュラボニ、私、405 CE(マイナー編集あり)

ブロックチェーンの特性について詳しい知識のある人に尋ねると、「不変」という言葉が必ず応答に表示されます。 平易な英語では、この単語は決して変更または変更できないものを示すために使用されます。 ブロックチェーンでは、トランザクションのグローバルログを指し、チェーンの参加者間のコンセンサスによって作成されます。 基本的な考え方は次のとおりです。ブロックチェーントランザクションが十分なレベルの検証を受信すると、一部の暗号化では、トランザクションが置き換えられたり元に戻されたりすることはありません。 これは、情報を自由に編集および削除できる通常のファイルまたはデータベースとは異なるものとしてブロックチェーンをマークします。 またはそう理論は行きます。

ブロックチェーンの議論の騒々しい舞台では、不変性は準宗教的な教義になりました。揺るがしたり、質問したりしてはならない中心的な信念です。 そして、主流の宗教の教義と同じように、対立するキャンプのメンバーは、不変性を嘲笑と嘲笑の武器として使用します。 昨年は、XNUMXつの顕著な例を目撃しました。

  • 暗号通貨の支持者は、不変性は作業証明などの分散型経済メカニズムを通じてのみ達成できると主張しています。 この観点から見ると、プライベートブロックチェーンは、明らかに信頼できない既知の検証者グループの集団的な行動に依存しているため、笑えます。
  • Scornは、編集可能な(または変更可能な)ブロックチェーンのアイデアに注力しました。このブロックチェーンでは、特定の条件下でトランザクション履歴を遡及的に変更できます。 モッカーは質問を投げかけました:その内容が簡単に変更できる場合、ブロックチェーンのポイントは何でしょうか?

傍観している私たちにとって、泥だらけを見るのは楽しいです。 特に、これらの批判はどちらも明らかに間違っており、ブロックチェーン(および実際にはすべてのコンピューターシステム)の不変性の性質に関する根本的な誤解に起因します。 時間の短い方のために、ここに最終的な行があります:

ブロックチェーンでは、完全な不変性などはありません。 実際の問題は、特定のブロックチェーンを変更できる、または変更できない条件は何ですか? そして、それらの条件は私たちが解決しようとしている問題と一致していますか?

別の言い方をすれば、ブロックチェーンのトランザクションは神の心に書かれていません(上記のオーガスティンへの謝罪とともに)。 代わりに、チェーンの動作は、破壊または破損に対して常に脆弱である身体のコンピュータシステムのネットワークに依存します。 ただし、その方法の詳細に入る前に、ブロックチェーン自体のいくつかの基本を要約することから始めましょう。

ブロックチェーンの概要

ブロックチェーンはノードのセットで実行され、各ノードは個別の会社または組織の制御下にある場合があります。 これらのノードは高密度のピアツーピアネットワークで相互に接続しているため、個々のノードが制御または障害の中心点として機能することはありません。 各ノードは、ある種の台帳またはデータベースでの操作を表すトランザクションを生成してデジタル署名することができ、これらのトランザクションは、ゴシップのような方法でネットワークを介して他のノードに急速に伝播します。

各ノードは、(a)ブロックチェーンのルールへの準拠、(b)そのデジタル署名、および(c)以前に確認されたトランザクションとの競合の観点から、すべての新しい着信トランザクションの妥当性を個別に検証します。 トランザクションがこれらのテストに合格すると、そのノードのローカルの暫定未確認トランザクションのリスト(「メモリプール」)に入り、ピアに転送されます。 失敗したトランザクションは完全に拒否されますが、評価が目に見えないトランザクションに依存しているトランザクションは、一時的な保持領域(「孤立プール」)に配置されます。

定期的な間隔で、ネットワーク上の「バリデータ」ノードの32つによって新しいブロックが生成され、未確認のトランザクションのセットが含まれます。 すべてのブロックには、「ハッシュ」と呼ばれる一意のXNUMXバイトの識別子があり、ブロックの内容によって完全に決定されます。 各ブロックには、タイムスタンプとそのハッシュを介した前のブロックへのリンクも含まれ、最初に戻る文字通りの「ブロックチェーン」を作成します。

トランザクションと同様に、ブロックはピアツーピア方式でネットワーク全体に伝播し、各ノードによって個別に検証されます。 ノードに受け入れられるには、ブロックは、互いに、またはリンクされている前のブロックのトランザクションと競合しない一連の有効なトランザクションを含んでいる必要があります。 ブロックがこのテストおよび他のテストに合格すると、そのノードのブロックチェーンのローカルコピーに追加され、その中のトランザクションが「確認」されます。 新しいブロック内のトランザクションと競合するノードのメモリプールまたは孤立プール内のトランザクションは直ちに破棄されます。

すべてのチェーンは、ブロックが複数の参加者によって確実に生成されるように、ある種の戦略を採用しています。 これにより、ノードの個々のグループまたは小さなグループがブロックチェーンのコンテンツの制御を獲得できなくなります。 ビットコインのようなほとんどのパブリックブロックチェーンは「作業証明」を使用します。これにより、無意味でひどく難しい数学のパズルを解くことができるインターネット上の誰でもブロックを作成できます。 対照的に、プライベートブロックチェーンでは、ブロックはXNUMXつ以上の許可されたバリデーターによって署名される傾向があり、適切なスキームを使用して少数派の制御を防止します。 私たちの製品 マルチチェーン は、「マイニングダイバーシティ」と呼ばれる手法を使用しています。この手法では、有効なチェーンを作成するために、許可されたバリデーターの最小比率で参加する必要があります。

使用されるコンセンサスメカニズムによっては、XNUMXつの異なるバリデーターノードが同時に競合するブロックを生成する場合があり、どちらも同じ前のものを指します。 このような「分岐」が発生すると、ネットワーク内の異なるノードは最初に異なるブロックを認識し、チェーンの最近の履歴について異なる意見を持つようになります。 これらの分岐はブロックチェーンソフトウェアによって自動的に解決され、新しいブロックがブランチのXNUMXつに到着するとコンセンサスが回復します。 短いブランチにあったノードは自動的に最後のブロックを巻き戻し、長いブロックでXNUMXつのブロックを再生します。 私たちが本当に不運で、両方のブランチが同時に拡張された場合、競合はXNUMXつのブランチのXNUMX番目のブロック、またはその後のブランチの後に解決されます。 実際には、長さが長くなると、フォークが持続する確率は指数関数的に低下します。 バリデーターのセットが限られているプラ​​イベートチェーンでは、少数のブロックの後、可能性をゼロに減らすことができます。

それでも、各ノードは特定の個人または組織が所有および制御するコンピューターシステム上で実行されているため、ブロックチェーンは それは何でもすることです。 チェーンの目的は、正直なノードが同期を維持できるようにすることですが、十分な数の参加者がルールを変更することを選択した場合、地上の力でノードを停止することはできません。 そのため、特定のブロックチェーンが本当に完全に不変であるかどうかを尋ねるのをやめる必要があります。答えは常にノーだからです。 代わりに、 条件 特定のブロックチェーンを変更できるようにし、それらの条件に満足できるかどうかを確認します 私たちが念頭に置いているユースケースについて.

公共チェーンにおける可変性

冒頭で引用したXNUMXつの例に戻りましょう。この例では、不変性の教義が嘲笑の基礎として使用されています。 許可されたブロックチェーンで使用される同意の検証手順は、パブリックチェーンによって約束された「真の不変性」をもたらすことができないという主張から始めます。

この批判は、パブリックブロックチェーン自体の脆弱性を指摘することで最も簡単に対処できます。 たとえば、イーサリアムのブロックチェーンを見てみましょう。 壊滅的な悪用 2016年250月。誰かが「The DAO」と呼ばれるスマートコントラクトにコーディングの抜け穴を発見しました。この契約には約XNUMX億XNUMX万ドルが投資されており、資金を急速に使い始めました。 これは契約の作成者と投資家の意図に明らかに違反していますが、 規約と条件 「コードは法律である」というマントラに頼りました。 法律に関係なく、XNUMXか月も経たないうちに、Ethereumソフトウェアが更新され、ハッカーが「獲得した」暗号通貨を引き出すのを防止しました。

もちろん、すべてのEthereumユーザーが自分のコンピューターを制御しているため、この更新を強制することはできませんでした。 それでも、イーサリアムの創設者であるVitalik Buterinだけでなく、他の多くのコミュニティリーダーによって公的にサポートされていました。 その結果、ほとんどのユーザーが準拠し、新しいルールを備えたブロックチェーンは「Ethereum」という名前を維持しました。 少数派はこの変更に同意せず、元のルールに従ってブロックチェーンを継続し、「Ethereum Classic」というタイトルを獲得しました。 より正確な名前の選択は、「Ethereumが侵害された」および「Ethereumが純粋」である可能性があります。 いずれにせよ、民主主義は民主主義であり、(実用的で人気のある)「Ethereum」は今やXNUMX倍以上の価値があります(理想的ですが、副業として)「Ethereum Classic」。

次に、パブリックブロックチェーンの不変性を損なう可能性のある、それほど慈悲深い方法について考えてみましょう。 ビットコインとイーサリアムでのブロックの作成または「マイニング」は、ブロックを生成してその報酬を要求するために数学的な問題を解決する必要がある作業証明スキームを使用することを思い出してください。 この報酬の価値は、必然的に鉱業を軍拡競争に変え、鉱夫は問題をより早く解決するために競争します。 これを補うために、ビットコインでは10分ごと、イーサリアムでは15秒ごとに、ネットワークは定期的に難易度を調整して一定のブロック作成率を維持します。

過去5年では、 ビットコインの難しさ 350,000倍に増加しました。 今日、ビットコインマイニングの大部分は、気候が寒く電気が安い場所で、高価な専用ハードウェアで行われています。 たとえば、1,089ドルであなたは アンティミナーS9鉱山は、どのデスクトップコンピュータよりも10,000倍速くブロックをブロックし、10倍の電力を消費します。 これは、たとえブロックチェーンが非常に安全になったとしても、ビットコインが作成された民主主義の理想から遠く離れています。

まあ、ちょっと安全です。 誰かがビットコインブロックチェーンの不変性を損なうことを望んだ場合は、次のようになります。 まず、ネットワークの他の部分よりも多くのマイニングキャパシティをインストールし、いわゆる「51%攻撃」を作成します。 第XNUMXに、マイニングプロセスに公然と参加する代わりに、彼らは自分の「秘密のブランチ」をマイニングし、承認したトランザクションを含み、残りを検閲します。 最後に、必要な時間が経過すると、秘密のブランチを匿名でネットワークにブロードキャストします。 攻撃者は他のネットワークよりもマイニング力が高いため、彼らのブランチにはパブリックのものよりも多くの作業証明が含まれます。 したがって、すべてのビットコインノードは切り替わります。これは、ビットコインのルールでは、より困難なブランチが勝つことを示しているためです。 秘密のブランチにない以前に確認されたトランザクションは取り消され、彼らが費やしたビットコインは他の場所に送られる可能性があります。

これで達成するのは簡単なことのように、「ネットワークの他の部分よりも多くのマイニング容量をインストールする」と書いたので、今ではほとんどのビットコイン信者は笑っています。 そして、彼らはポイントを持っています、もちろんそれはそうではありません 簡単にそうでなければ、多くの人がすでにそれをしているでしょう。 あなたはたくさんの採掘設備とそれを動かすためにたくさんの電気を必要とします、どちらも莫大なお金がかかります。 しかし、これはほとんどのビットコイン利用者が刷新するという不便な事実です: 中規模国の政府にとって、必要なお金はまだ小さな変化です。

51年分のビットコイントランザクションを取り消す1500%の攻撃のコストを見積もりましょう。 現在のビットコインの価格が$ 15、10分のブロックあたり1.2ビットコイン(取引手数料を含む)の報酬で、鉱夫は年間約1500億ドル($ 15×6×24×365×400)を稼ぎます。 彼らが(合理的に)全体的にお金を失っていない、または少なくとも多くを失っていないと仮定すると、これは、総鉱山費用も同じ範囲内でなければならないことを意味します。 (ここでは、鉱山機械を購入する9回限りの費用を償却することで簡略化していますが、XNUMX億ドルで、現在のビットコインネットワークの鉱山能力に見合うだけの十分なAntminer XNUMXを購入できるため、適切な球場にいます。)

今考えます レポート そのビットコインは、中国国民が自国の資本規制を回避するために使用されています。 さらに、中国政府の税収は約3ドルであることを考慮してください。 1兆 0.04年当たり。 非民主的な国の政府は、予算のXNUMX%を使って、その国から違法にお金を奪うための一般的な方法を打ち切るでしょうか。 私は答えがそうであるとは主張しません 必ずしも はい。 しかし、答えが 絶対に いいえ、あなたは少し世間知らずではありません。 特に中国の報道によると 2万人を雇用しています 10ドルの低賃金を想定した場合、合計5,000億ドル/年のインターネットコンテンツを監視します。 これにより、1.2年間のビットコイン取引を取り消すためのXNUMX億ドルのコストが予測されます。

中国政府はビットコインネットワークをはるかに簡単かつ安価に弱体化できるため、この分析でさえ問題を過小評価しています。 ほとんどのビットコインマイニングは 中国で行われる、低コストの水力発電およびその他の要因による。 いくつかの戦車と小隊があるとすれば、中国の軍隊はこれらのビットコインマイニングオペレーションを物理的に押収し、トランザクションを検閲または逆転するためにそれらを再利用できます。 より広いビットコインの世界は間違いなく気づくでしょうが、ビットコイン自体のガバナンス構造(したがって性質)を根本的に変更することなしには何もできません。 検閲無料のお金はどうでしたか?

これはいずれも、ビットコインの設計に対する批判、またはネットワークの大災害が実際に発生するという予測として解釈されるべきではありません。 ビットコインブロックチェーンは、エンジニアリングの注目に値する部分であり、おそらくその作成者が意図した目的にさえ完璧です。 それにお金をかけなければならないとしたら、中国や他の政府が 多分 この方法でビットコインを攻撃することはありません。なぜなら、そうすることは彼らの究極の関心事ではないからです。 おそらく、彼らは怒りをダッシュ​​、ズカーシュ、モネロのような追跡不可能ないとこに集中させるでしょう。

それにもかかわらず、この形式の干渉の単なる可能性は、代わりに暗号通貨の不変性の教義を置きます。 ビットコインブロックチェーンとその同類は、完全な意味でも絶対的な意味でも不変ではありません。 むしろ、それらを破壊することを決定する十分に大きくて豊かな人がいない限り、それらは不変です。 それでも、 経済の ネットワークを破壊するコストである暗号通貨の不変性は、政府、企業、銀行を信頼したくない人々の特定のニーズを満たします。 完璧ではないかもしれませんが、彼らができる最善の方法です。

書き換え可能なプライベートチェーン

次に、政府や大企業のニーズに合わせて設計されたプライベートブロックチェーンに移りましょう。 これらの組織の観点から見ると、作業証明に基づく不変性は コマーシャル, 法的 & レギュレータ スターターではありません。任意の(十分に豊富な)アクターが匿名でネットワークを攻撃できるためです。 機関にとって、不変性は他の同様の機関の良好な行動に基づいてのみ可能であり、それらと契約を結び、必要に応じて訴訟を起こすことができます。 ボーナスとして、プライベートブロックチェーンは、ブロックを承認するノードからの単純なデジタル署名のみを必要とするため、実行コストがはるかに安くなります。 バリデータノードの大部分がルールに従っている限り、最終的な結果は、他のパブリック暗号通貨が提供できるものよりも強力で安価な不変性です。

もちろん、チェーンのすべての参加者が一緒にそうすることを決定した場合、不変性は依然として簡単に損なわれます。 XNUMXつの病院が感染に関するデータを集約するために使用するプライベートブロックチェーンを想像してみましょう。 ある病院のプログラムは、大規模で誤ったデータセットをチェーンに書き込みます。これは、他の参加者にとって不便な原因です。 数回の電話の後、すべての病院のIT部門は、ノードをXNUMX時間「巻き戻し」、問題のあるデータを削除して、何も起こらなかったかのようにチェーンを続行できるようにすることに同意します。 すべての病院がこれを行うことに同意した場合、誰がそれらを止めるつもりですか? 確かに、関係するスタッフは別として、誰がそれが起こったことさえ知っているでしょうか? (次のようないくつかのコンセンサスアルゴリズムに注意する必要があります PBFT ロールバックのための公式のメカニズムは提供していませんが、ノードは依然としてルールをバイパスできるため、これはガバナンスに役立ちません。

ここで、プライベートブロックチェーンの参加者のほとんどがトランザクションを巻き戻して削除することに同意しているが、一部のトランザクションは同意を保留している場合を考えてみましょう。 すべての組織のノードはその最終的な制御下にあるため、少数派にコンセンサスへの参加を強制することはできません。 ただし、これらのユーザーは原則に固執することで、他の誰もが無視しているフォークに気づくでしょう。 イーサリアムクラシックの高潔な支持者のように、彼らの天国での彼らの地位は確かに保証されるかもしれません。 しかし、地球に戻って、彼らはチェーンが展開されたコンセンサスプロセスから除外され、完全に放棄することもできます。 コンセンサス外のトランザクションの唯一の実用的なアプリケーションは、法廷で証拠として機能することです。

これを念頭に置いて、ブロックチェーンの不変性の原理がアイデアを嘲笑するために使用されたXNUMX番目のケースについて話しましょう。 ここでは、アクセンチュアのアイデアについて言及しています。 カメレオンハッシュを使用して チェーンの奥深くに埋め込まれたブロックを簡単に交換できるようにするため。 主な動機として、 デビッドトリート、古い問題のあるトランザクションを迅速かつ効率的に削除できるようにすることです。 このスキームでは、ブロック置換が発生した場合、すべての参加者が見ることができる「傷跡」が残ります。 (削除されたトランザクションに依存する以降のトランザクションもすべて削除する必要があることに注意してください。)

それが発表されたとき、何人の人がこの考えに軽蔑を注いだかを過大評価することは難しい。 TwitterとLinkedInはびっくりしました。 そして、私は暗号の群衆について話しているだけではなく、エンタープライズブロックチェーンに関連するあらゆるものをあざけることにスポーツの喜びを感じます。 このアイデアは、民間のブロックチェーン支持者によっても広く非難されました。

それでも、適切な条件下では、カメレオンハッシュを介してブロックチェーンを遡及的に変更できるようにするという考えは、完全に理にかなっています。 理由を理解するために、簡単な質問から始めます。このタイプのブロックチェーンでは、実際には古いブロックを置き換える権限を誰が持っているのでしょうか。 明らかに、チェーンを管理できなくなるため、身元不明のネットワーク参加者になることはできません。

答えは、カメレオンハッシュはその秘密鍵を持っている人だけが使用できるということです。 このキーは、トランザクションが異なる新しいバージョンのブロックに、以前と同じカメレオンハッシュを付与できるようにするために必要です。 もちろん、私たちはおそらくブロックチェーンで集中管理したくないので、ブロックごとに複数のカメレオンハッシュを持ち、それぞれのキーが異なるパーティーによって保持されていることで、スキームをより強力にすることができます。 または使用するかもしれません 秘密の共有 XNUMXつのカメレオンハッシュキーを複数のパーティ間で分割する手法。 どちらの方法でも、キーホルダーの大多数が承認した場合にのみ遡及ブロック置換が発生するようにチェーンを構成できます。 これはおなじみのように聞こえますか?

パラレルをより明確にすることができます。 ブロックの作成を担当する同じ検証ノード間でカメレオンハッシュの制御を共有するとします。 これは、検証ブロックの大多数がそうすることに同意した場合にのみ、古いブロックを置き換えることができることを意味します。 それでも、前に説明したように、 どれか ブロックチェーンは 既に 巻き戻しと再生のメカニズムを介して、検証ノードの大部分によって遡及的に変更されます。 ガバナンスに関しては バリデータの過半数の対象となるカメレオンハッシュは、まったく違いがありません。

もしそうなら、なぜそれらに悩むのですか? 答えは: パフォーマンスの最適化、カメレオンハッシュを使用すると、以前のブロックよりもはるかに効率的に古いブロックをチェーンで置き換えることができます。 5年間実行されているブロックチェーンの最初からトランザクションを削除する必要があると想像してください。 おそらくこれは欧州連合の 忘れられる権利 法律により、個人は会社の記録から個人データを削除することができます。 ノードは、問題のあるトランザクションをディスクから消去するだけでは対応できません。これにより、対応するブロックのハッシュが変更され、チェーン内のリンクが切断されます。 次にブロックチェーンがスキャンまたは共有されたとき、すべてがバラバラになってしまいます。

この問題を解決するために 無し カメレオンハッシュ、ノードは問題のあるトランザクションなしで初期ブロックを書き換え、ブロックの新しいハッシュを計算し、次のブロックに埋め込まれたハッシュを一致するように変更する必要があります。 しかし、これは次のブロック自体のハッシュにも影響します。次のブロックでハッシュを再計算して更新する必要があります。 このメカニズムは原理的には可能ですが、数百万のブロックとトランザクションを含むブロックチェーンで完了するには数時間または数日かかる場合があります。 さらに悪いことに、このプロセスに従事している間、ノードは新しい着信ネットワークアクティビティを処理できない場合があります。 したがって、カメレオンハッシュは、同じ目標を達成するためのはるかに計算効率の高い方法を提供します。 あなたが悪い取引を何マイルも地下に埋めた岩だと想像すると、カメレオンのハッシュは、私たちをずっと掘り下げて岩を回収して穴を埋める代わりに、岩を地表にテレポートさせることができます。

不変性は微妙です

作業証明ブロックチェーンのリスクとカメレオンハッシュの技術的価値を検討することで、ブロックチェーンの不変性は「はい」か「いいえ」の質問よりもはるかに微妙であることを納得させたいと思います。 引用する イアン・グリッグを引用するサイモン・テイラー、質問は常に「あなたは誰で、何を達成したいのか」でなければなりません。

政府発行のお金や従来の銀行システムを避けたい暗号通貨の信者にとって、不変性が信頼できる当事者ではなく経済学に依存している公共の作業証明ブロックチェーンを信じるのは完全に理にかなっています。 大規模な政府(またはその他の裕福な俳優)がネットワークを停止させる可能性がある場合でも、これは苦痛で費用のかかる操作になるため、安心することができます。 そして間違いなく彼らは、暗号通貨の価値と採掘能力が増大し続けるにつれて、暗号通貨がより安全になることを望んでいます。

一方、組織の境界を越えてデータベースを安全に共有したい企業やその他の機関にとって、作業証明の不変性はまったく意味がありません。 それは驚くほど高価であるだけでなく、十分にやる気のある参加者が匿名でチェーンの制御を掌握し、トランザクションを検閲または取り消すことを可能にします。 これらのユーザーが必要としているのは、契約と法律に裏付けられた、特定された検証ノードの大多数の良好な動作に基づく不変性です。

最後に、ほとんどの許可されたブロックチェーンの使用例では、バリデータノードがチェーン内の古いブロックを簡単かつ安価に置換できるようにしたくないでしょう。 デイブ・バーチとして その時に言った、「間違った借方を訂正する方法は、正しい貸方を使用すること」であり、借方が決して実行されなかったふりをするのではありません。 それにもかかわらず、追加の柔軟性が必要な場合、カメレオンハッシュはブロックチェーンを実用的な選択肢にするのに役立ちます。

コメントを投稿してください LinkedInの上に.

タイムスタンプ:

より多くの マルチチェーン