« 首相官邸 2022年度 Trusted Web に関する調査研究 | Main | 英国 デジタル市場・競争・消費者法 (DMCC) 案 »

2023.04.29

米国 NISTIR 8460 (ドラフト) 状態機械複製とビザンチン敵対者のコンセンサス

こんにちは、丸山満彦です。

322ページの大作!!! かなり専門的... そして、、、カタカナだらけになる...

ざっとしか見ていないが、全部をすぐに理解するのは難しそう...

 

⚫︎ NIST - ITL

・2023.04.26 NISTIR 8460 (Draft) State Machine Replication and Consensus with Byzantine Adversaries

 

NISTIR 8460 (Draft) State Machine Replication and Consensus with Byzantine Adversaries NISTIR 8460 (ドラフト) 状態マシーンレプリケーションとビザンチン敵対者のコンセンサス
Announcement 通知
Most applications on the internet are run by centralized service providers that are a single point of failure: if the provider crashes or is malicious, users may lose access to the application, or it may return erroneous or inconsistent results. Consensus algorithms and state machine replication enable a set of mutually distrusting parties to emulate a centralized service in a fault-tolerant and distributed manner. Although the study of these algorithms began in the 1980s, research has accelerated dramatically since the advent of Bitcoin in 2008. インターネット上のほとんどのアプリケーションは、単一障害点である集中型サービスプロバイダーによって実行されている。プロバイダーがクラッシュしたり悪意があったりすると、ユーザーはアプリケーションにアクセスできなくなったり、誤った結果や矛盾した結果を返したりする可能性がある。コンセンサスアルゴリズムと状態マシンのレプリケーションにより、相互に不信感を持つパーティーの集合が、フォールトトレラントで分散した方法で集中型サービスをエミュレートすることができます。これらのアルゴリズムの研究は1980年代に始まったが、2008年のBitcoinの登場以降、研究が劇的に加速している。
This document provides a survey on consensus algorithms, state machine replication, and distributed ledger technology for readers who already possess a high-level understanding of distributed ledgers, such as that provided by NIST IR 8202, Blockchain Technology Overview. After introducing the properties of these systems, the models they operate in, and the subprotocols used to implement them, this document provides a detailed look at many of the most prominent permissioned and permissionless algorithms in the literature with a focus on performance and security considerations. Finally, a variety of related topics are discussed, including state machine design, interoperability, scalability mechanisms such as sharding and "layer 2" technologies, and how incentives can impact system security. 本書では、NIST IR 8202「ブロックチェーン技術の概要」のような分散型台帳に関する高度な理解をすでに持っている読者を対象に、コンセンサスアルゴリズム、状態マシーンレプリケーション、分散型台帳技術に関するサーベイを提供する。これらのシステムの特性、それらが動作するモデル、およびそれらを実装するために使用されるサブプロトコルを紹介した後、本書は、パフォーマンスとセキュリティの考慮事項に焦点を当て、文献で最も著名な許可付きおよび許可なしアルゴリズムの多くを詳細に見ている。最後に、状態マシン設計、相互運用性、シャーディングや「レイヤー2」技術などのスケーラビリティメカニズム、インセンティブがシステムセキュリティに与える影響など、さまざまな関連トピックについて議論する。
Abstract 概要

The objective of state machine replication (SMR) is to emulate a centralized service in a distributed, fault-tolerant fashion. To this end, a set of mutually distrusting processes must agree on the execution of client-submitted commands. Since the advent of Bitcoin, the idea of SMR has received significant attention. This document surveys both classical and more modern research on SMR and details many of the most significant permissioned and permissionless algorithms, their performance, and security considerations.

状態マシーンレプリケーション(SMR)の目的は、集中型サービスを分散型かつフォールトトレラントな方法でエミュレートすることである。そのためには、相互に不信感を抱く一連のプロセスが、クライアントから提出されたコマンドの実行に同意する必要がある。Bitcoinの登場以来、SMRの考え方は大きな注目を浴びている。本書では、SMRに関する古典的な研究と最新の研究の両方を調査し、最も重要なパーミッション付き、パーミッションなしのアルゴリズムの多く、その性能、およびセキュリティに関する考察を詳述する。

・[PDF] NISTIR 8460 (Draft)

20230428-233101

 

エグゼクティブサマリー

Executive Summary  エグゼクティブサマリー 
Since the deployment of Bitcoin on January 3rd, 2009, and its description by the pseudonymous Satoshi Nakamoto in 2008 [1], research and development of new, practical state machine replication (SMR) systems have surged. It has been stated that Bitcoin provided a solution to the "Byzantine Generals Problem." While not strictly true, it is a useful starting point for this document’s analysis of consensus algorithms, state machine replication, and distributed ledger technology (DLT).  2009年1月3日にBitcoinが登場し、2008年にSatoshi Nakamoto氏によって記述されて以来[1]、新しい実用的な状態マシーンレプリケーション(SMR)システムの研究・開発が急増している。ビットコインは、"ビザンチン将軍問題 "の解決策を提供したと言われている。厳密には事実ではないが、本書のコンセンサスアルゴリズム、状態マシーンレプリケーション、分散型台帳技術(DLT)の分析の出発点として有用である。
More generally, the goal of these types of problems is to allow a set of mutually distrusting processes (e.g., computer processes) to agree on the outcome of some deliberation despite the possibility that some of them are faulty or even malicious. In essence, the goal is to provide some service to clients that emulates a centralized service while operating as a distributed server. There are a variety of ways to formulate this problem (several are described in Section 1), but they all require some notion of agreement between the distributed processes. Research in this area began in the early 1980s when the Byzantine Agreement [2] and Byzantine Generals [3] problems were formulated. The frst algorithms to solve these problems were extremely ineffcient, and real-world usage did not become plausible until the celebrated Practical Byzantine Fault Tolerance (PBFT) algorithm was invented in 1999 [4].  より一般的には、この種の問題の目的は、相互に不信感を抱く一連のプロセス(例えばコンピュータプロセス)が、その一部が欠陥があったり悪意があったりする可能性があるにもかかわらず、ある審議の結果について合意することを可能にすることである。要するに、分散サーバーとして動作しながら、集中型サービスをエミュレートする何らかのサービスをクライアントに提供することが目的である。この問題の定式化には様々な方法があるが(いくつかの方法はセクション1で説明)、いずれも分散プロセス間の合意に関する何らかの概念を必要とする。この分野の研究は、1980年代前半にビザンチン合意[2]とビザンチン将軍[3]という問題が定式化されたときに始まった。これらの問題を解く最初のアルゴリズムは極めて非科学的であり、1999年に有名なPBFT(Practical Byzantine Fault Tolerance)アルゴリズムが発明されるまで、実世界での使用は妥当なものではなかった[4]。
Until the advent of Bitcoin, it was believed that all distributed agreement algorithms required a fxed set of identifable participants known in advance. Bitcoin was the frst protocol to demonstrate that consensus can be maintained across distributed processes in an open network with free entry and no fxed identifers. Today, the terms permissioned and permissionless are used to describe the difference between the two models.  Bitcoinが登場するまでは、すべての分散型合意アルゴリズムは、事前に知っている特定可能な参加者のセットを必要とすると信じられていた。Bitcoinは、自由な参加と身元確認ができないオープンネットワークにおいて、分散プロセス間でコンセンサスを維持できることを実証した最初のプロトコルである。今日、この2つのモデルの違いを表現するために、許可制と許可なしという用語が使われている。
Bitcoin also popularized the idea of a blockchain as the data structure over which the distributed processes maintain agreement. Since then, the concept has been generalized to distributed ledgers more broadly. A blockchain is an ordered list of client-submitted commands, or transactions, that modify the system state. Because all participants execute the same agreed-upon commands in the same order, participants are able to maintain a common view of the execution of a protocol-defned state machine. In addition to cryptocurrencies, state machine replication and the smart contracts they enable have been suggested for use in trade settlement, fnance, identity management, supply chains, healthcare, Internet of Things (IoT), and other industries.  また、ビットコインは、分散プロセスが合意を維持するためのデータ構造として、ブロックチェーンという考え方を普及させた。それ以来、この概念はより広範な分散型台帳に一般化されている。ブロックチェーンは、クライアントから提出されたコマンド(トランザクション)の順序付きリストであり、システムの状態を変更するものである。すべての参加者が同じ順序で合意したコマンドを実行するため、参加者はプロトコル定義された状態マシンの実行に関する共通のビューを維持することができます。暗号通貨に加え、状態マシンのレプリケーションとそれが可能にするスマートコントラクトは、貿易決済、フナンス、ID管理、サプライチェーン、ヘルスケア、モノのインターネット(IoT)、その他の産業での利用が提案されている。
0.1. Purpose and Scope  0.1. 目的および範囲 
This document is intended to serve as an advanced treatment of consensus algorithms, state machine replication, and distributed ledger technology. It may also function as a reference for consensus algorithms as it contains fairly detailed descriptions of a variety of algorithms that may be useful in different scenarios. The reader is expected to already have a highlevel understanding of distributed ledger technology, such as that provided by NIST IR 8202, Blockchain Technology Overview [5].  本書は、コンセンサスアルゴリズム、状態マシンのレプリケーション、分散型台帳技術の高度な扱いとして機能することを意図している。また、異なるシナリオで有用と思われる様々なアルゴリズムのかなり詳細な説明を含んでいるため、コンセンサスアルゴリズムのリファレンスとしても機能する可能性がある。読者は、NIST IR 8202, Blockchain Technology Overview [5]で提供されているような分散型台帳技術について、すでに高いレベルの理解を持っていることが期待される。
This document frst discusses the properties required of distributed consensus systems and the many kinds of subprotocols used to implement them in a variety of system models. Many algorithms, both permissioned and permissionless, are then described in detail. The discussion on permissioned consensus starts with the classic PBFT algorithm but focuses heavily on techniques that have been developed more recently and improve performance or enable security in more challenging environments. Permissionless algorithms are divided into categories based on the Sybil-resistance mechanism employed – that is, proof of work (PoW), proof of stake (PoS), and alternative mechanisms. There is extensive discussion on the unique security issues that arise in each case, the architectural reasons they exist, and techniques that can be used to mitigate them. Finally, a variety of more advanced topics are discussed, including scalability methods such as sharding and "layer 2" technologies, interoperability, state machine design, networking, and how incentives impact system security.  本書では、まず、分散型コンセンサスシステムに求められる特性と、それを様々なシステムモデルで実装するために使用される多くの種類のサブプロトコルについて説明する。そして、許可制と許可なしの両方の多くのアルゴリズムが詳細に説明されている。パーミッションコンセンサスに関する議論は、古典的なPBFTアルゴリズムから始まるが、より最近開発され、性能を向上させたり、より困難な環境でのセキュリティを可能にする技術に大きく焦点を当てている。許可なしアルゴリズムは、採用されたシビル耐性メカニズム、すなわちプルーフオブワーク(PoW)、プルーフオブ状態(PoS)、および代替メカニズムに基づくカテゴリに分けられる。また、それぞれのケースで発生するユニークなセキュリティ問題、それが存在するアーキテクチャ上の理由、そしてそれらを軽減するために使用できる技術について、広範な議論が行われている。最後に、シャーディングや「レイヤー2」技術などのスケーラビリティ手法、相互運用性、状態マシン設計、ネットワーキング、インセンティブがシステムセキュリティに与える影響など、より高度なトピックについてさまざまな議論を展開する。
0.2. Notes on Terminology  0.2. 用語に関する注意事項 
The distributed systems literature is rife with synonyms and inconsistent or imprecise use of terms. When the word "consensus" appears in this document, it is meant as a generalization that captures all of the agreement problems described, including various broadcast problems, Byzantine Agreement, and state machine replication. The term "broadcast" – when not being used to describe broadcast problems specifcally – is meant to convey the idea of simultaneously transmitting a message to multiple peers. In addition, the ill-defned term "decentralized," which is used frequently in the literature, is discussed in more detail in section 3.1.  分散システムの文献には、同義語や一貫性のない、あるいは不正確な用語の使い方があふれている。この文書で "consensus "という言葉が登場するとき、それは様々なブロードキャスト問題、ビザンチン合意、状態マシンのレプリケーションなど、説明されている合意問題のすべてを捕らえる一般化として意味されている。ブロードキャスト」という用語は、ブロードキャスト問題を具体的に説明するために使用されていない場合、複数のピアにメッセージを同時に送信するという考えを伝えることを意味している。さらに、文献で頻繁に使用されている定義が不明確な用語「分散型」については、3.1節で詳しく説明する。
Several groups of synonymous words appear in this document. Most of the time, terminology from the original source paper was used. For example, the terms "node," "replica," "process," "validator," and "miner" are used as synonyms but often in slightly different contexts, such as an entity that participates in consensus. Many protocols have leaders, which may be called the "primary" or "block producer." When a node is not the leader, it may be a "secondary" or "backup." A "malicious" node may be considered "Byzantine," "faulty," "corrupt," or "dishonest," whereas honest nodes are sometimes called "correct." When nodes eventually agree on a value, it is sometimes said that they "decide," "output," or "accept" the value.  本書では、いくつかの同義語のグループが登場する。ほとんどの場合、原典の論文の用語が使用されている。例えば、「ノード」、「レプリカ」、「プロセス」、「バリデータ」、 「マイナー」という用語は同義語として使用されるが、コンセンサスに参加するエンティティ など、少し異なる文脈で使用されることがよくある。多くのプロトコルにはリーダーが存在し、"プライマリ "または "ブロックプロデューサー "と呼ばれることがある。ノードがリーダーでない場合、"セカンダリー "または "バックアップ "となることがある。悪意のある」ノードは、「ビザンチン」、「フォルティ」、「コラプト」、「不誠実」とみなされることがあるが、正直なノードは「正しい」と呼ばれることがある。ノードが最終的にある値に合意した場合、その値を「決定」「出力」「受容」したと言われることもある。
The term "blockchain" is defned in NIST IR 8202, Blockchain Technology Overview:  ブロックチェーン」という用語は、NIST IR 8202「Blockchain Technology Overview」で定義されている: 
Blockchains are distributed digital ledgers of cryptographically signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more diffcult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conficts are resolved automatically using established rules. [5]  ブロックチェーンは、暗号的に署名された取引の分散型デジタル台帳で、ブロックにグループ化されている。ブロックチェーンは、暗号的に署名された取引の分散型デジタル台帳であり、ブロックにグループ化される。各ブロックは、検証および合意決定を経て、前のブロックと暗号的にリンクされる(改ざんが明らかになります)。新しいブロックが追加されると、古いブロックは修正が難しくなります(耐タンパ性が生まれます)。新しいブロックは、ネットワーク内の台帳のコピーにレプリケーションされ、混乱は確立されたルールを使って自動的に解決される。[5] 
While this is a good description of some specifc blockchains, the term is used here to only mean "a chain of blocks," capturing the fact that blocks are cryptographically linked together in a list. This makes blockchains a particular data structure within a broader set of distributed ledgers.  これは、ある特定のブロックチェーンの良い説明であるが、この用語は、ブロックが暗号的にリストでリンクされているという事実を捕らえ、「ブロックの連鎖」という意味でのみ使用されている。このため、ブロックチェーンは、より広範な分散型台帳の中の特定のデータ構造となっている。
0.3. Document Structure  0.3. 文書構造 
The rest of this document is organized as follows:  本書の残りの部分は、以下のように構成されている: 
•  Sections 1-3 are introductory material. Section 1 introduces the formal problems that are solved by the protocols described throughout the document and some of the model assumptions under which the problems can be solved. Section 2 describes the various sub-protocols and components that are often used in designing distributed ledger systems for SMR. Section 3 discusses the trade-offs between maintaining "decentralization" and the scalability of DLT systems.  ・セクション1~3は入門的な資料である。セクション1では、本書で説明するプロトコルが解決する形式問題と、その問題を解決するためのモデル前提のいくつかを紹介する。セクション2では、SMRの分散台帳システムを設計する際によく使われる様々なサブプロトコルとコンポーネントについて説明する。セクション3では、「分散性」の維持とDLTシステムのスケーラビリティのトレードオフについて議論する。
•  Sections 4-8 describe protocols for permissioned consensus. Section 4 describes Practical Byzantine Fault Tolerance (PBFT), the frst system design scalable enough to be used in practice. Section 5 describes more modern, high-performance consensus algorithms. Section 6 discusses algorithms that are designed for asynchronous networks where messages may be arbitrarily delayed. Section 7 surveys a variety of extra properties that one might desire from a permissioned consensus algorithm. Section 8 describes protocols where participants may select their own quorums of trusted replicas and need not be aware of the existence of every replica in the network.  ・セクション4-8では、許可制コンセンサスのためのプロトコルについて説明する。セクション4では、実用上十分なスケーラビリティを持つ最初のシステム設計であるPBFT(Practical Byzantine Fault Tolerance)について述べる。セクション5では、より現代的で高性能なコンセンサスアルゴリズムについて説明する。セクション6では、メッセージが任意に遅延する可能性のある非同期ネットワーク用に設計されたアルゴリズムについて説明する。セクション7では、許可されたコンセンサスアルゴリズムに望まれるであろう様々な追加的な特性について調査している。セクション8では、参加者が信頼できるレプリカのクォーラムを選択することができ、ネットワーク内のすべてのレプリカの存在を認識する必要がないプロトコルについて説明する。
•  Sections 9-11 discuss protocols that use proof of work (PoW) as a Sybil-resistance mechanism. Section 9 discusses aspects common to most PoW protocols. Section 10 describes Nakamoto Consensus – the protocol used by Bitcoin – in detail. Section 11 describes a wide variety of PoW consensus designs.  ・セクション9-11では、シビル耐性メカニズムとしてプルーフ・オブ・ワーク(PoW)を使用するプロトコルを説明する。セクション9では、ほとんどのPoWプロトコルに共通する側面について説明する。セクション10では、Bitcoinで使用されているプロトコルであるNakamoto Consensusについて詳しく説明している。セクション11では、様々なPoWコンセンサスの設計について説明する。
•  Sections 12-13 discuss protocols that use proof of stake (PoS) as a Sybil-resistance mechanism. Section 12 provides a historical overview of PoS and the security issues that need to be considered as part of PoS algorithm design. Section 13 describes a variety of specifc PoS protocols.  ・セクション12~13では、シビル耐性メカニズムとしてプルーフ・オブ・状態(PoS)を使用するプロトコルについて説明する。セクション12では、PoSの歴史的な概要と、PoSアルゴリズム設計の一部として考慮する必要があるセキュリティ問題について説明する。セクション13では、様々なPoSプロトコルを説明する。
•  Section 14 discusses protocols that use alternative Sybil-resistance algorithms, such as proof of space, as well as hybrid mechanisms.  ・セクション14では,空間証明のような代替シビル耐性アルゴリズムを使用するプロトコルや,ハイブリッドメカニズムについて説明する。
•  Sections 15-19 cover a variety of more advanced topics related to the design of DLT for SMR. Section 15 discusses the technical details of one of the more promising scalability methods: sharding. Section 16 discusses interoperability between systems. Section 17 covers topics related to the network layer of these protocols, such  ・セクション15-19では、SMRのためのDLTの設計に関連する、より高度なトピックを取り上げている。セクション15では、より有望なスケーラビリティ手法の1つであるシャーディングの技術的詳細について議論している。第16章では、システム間の相互運用性について論じている。第17節では、以下のようなプロトコルのネットワーク層に関連するトピックを取り上げる。
as how a node discovers new peers and communication strategies. Section 18 discusses state machine design considerations and some "layer 2" scaling protocols that can be built on an underlying replicated state machine. Section 19 considers a variety of incentive-related security issues that can arise in these systems.  ノードが新しいピアや通信戦略を発見する方法などである。セクション18では、状態マシンの設計に関する考察と、基本的なレプリケーション状態マシン上に構築できるいくつかの「レイヤー2」スケーリングプロトコルについて説明する。セクション19では、これらのシステムで発生しうるインセンティブに関連する様々なセキュリティ問題を考察する。

 

目次...

Executive Summary エグゼクティブサマリー
0.1. Purpose and Scope 0.1. 目的および範囲
0.2. Notes on Terminology 0.2. 用語に関する注意事項
0.3. Document Structure 0.3. 文書構成
1. Introducing the Problems 1. 問題の紹介
1.1. The Byzantine Generals Problem. 1.1. ビザンチン将軍問題
1.2. Broadcast Problems and Byzantine Agreement 1.2. ブロードキャスト問題とビザンチン合意
1.3. State Machine Replication (SMR) 1.3. 状態マシーンレプリケーション(SMR)
1.4. The Adversary 1.4. 敵対者
1.5. Timing Assumptions 1.5. タイミングの仮定
1.6. Permissioned vs. Permissionless 1.6. 許可制 vs. 許可無し
2. System Components 2. システム構成要素
2.1. Data Structures for Distributed Ledgers 2.1. 分散型台帳のためのデータ構造
2.2. Sybil-Resistance Mechanism 2.2. シビル耐性機構
2.3. Leader Election and Committee Selection 2.3. リーダー選出と委員会選出
2.4. Fork-Choice or Chain Selection Rules 2.4. フォーク・チョイスまたはチェーン選択ルール
2.5. Networking 2.5. ネットワーキング
2.6. Incentive Mechanism 2.6. インセンティブメカニズム
2.7. Cryptographic Primitives 2.7. 暗号プリミティブ
2.8. State Machine 2.8. 状態マシン
2.8.1. UTXO vs. Account Model. 2.8.1. UTXOとアカウントモデルとの比較。
2.8.2. Changing the Rules 2.8.2. ルールの変更
3. Scaling and "Decentralization" 3. スケーリングと "ディセントラリゼーション"
3.1. A Note on Decentralization 3.1. 分権に関する注意点
3.2. Full Nodes and Light Clients. 3.2. フルノードとライトクライアント
3.3. Scalability Challenges and Block Sizes 3.3. スケーラビリティの課題とブロックサイズ
4. Practical Byzantine Fault Tolerance (PBFT) 4. 実用的なビザンチンフォールトトレランス(PBFT)
4.1. PBFT View Change 4.1. PBFTビューチェンジ
4.2. PBFT Security 4.2. PBFTセキュリティ
4.3. Zyzzyva and Speculative Execution 4.3. ザイザイバと投機的実行
4.4. A Permissioned DAG: Blockmania 4.4. 許可制のDAG:ブロックマニア
5. Modern High-Performance Blockchains 5. 現代の高性能ブロックチェーン
5.1. Streamlined Blockchains 5.1. 合理化されたブロックチェーン
5.2. PiLi and PaLa 5.2. PiLiとPaLa
5.3. HotStuf 5.3. HotStuf
5.3.1. Sync HotStuf 5.3.1. シンクHotStuf
5.4. Further Optimizing Latency 5.4. レイテンシーのさらなる最適化
6. Asynchronous BFT 6. 非同期BFT
6.1. HoneyBadgerBFT 6.1. ハニーバジャーBFT
6.1.1. Mostéfaoui et al.’s Asynchronous Binary Agreement Protocol. 6.1.1. Mostéfaouiらの非同期バイナリ合意プロトコル。
6.1.2. Reducing HoneyBadgerBFT’s latency with BEAT 6.1.2. BEATによるHoneyBadgerBFTの待ち時間の削減
6.1.3. Improving ACS Performance with Dumbo 6.1.3. ダンボによるACSのパフォーマンス向上
6.2. An Asynchronous Permissioned DAG: Hashgraph 6.2. 非同期許可制のDAG:Hashgraph
7. Miscellaneous Permissioned BFT 7. その他の許可制のBFT
7.1. Fairly Ordering Transactions 7.1. 取引の公正な順序付け
7.2. Accountability Against Malicious Replicas 7.2. 悪意のあるレプリカに対する説明責任
7.3. Specially Designated Roles for Replicas 7.3. レプリカのための特別な役割
7.4. Deterministic Longest Chain Protocols 7.4. 決定論的な最長の鎖のプロトコル
7.5. Flexible BFT 7.5. 柔軟なBFT
7.6. View Change Algorithms  7.6. ビューチェンジアルゴリズム 
8. Localizing Trust Over Incomplete Networks With Open Membership 8. オープンメンバーシップを持つ不完全なネットワーク上での信頼の局所化
8.1. Stellar 8.1. ステラ
8.1.1. FBAS Background 8.1.1. FBASの背景
8.1.2. Stellar Consensus Protocol (SCP). 8.1.2. ステラ・コンセンサス・プロトコル(SCP)。
8.1.3. SCP Security 8.1.3. SCPのセキュリティ
8.2. Ripple 8.2. リップル
8.3. Cobalt 8.3. コバルト
8.3.1. Background 8.3.1. 背景
8.3.2. Broadcast in Incomplete Networks 8.3.2. 不完全なネットワークにおけるブロードキャスト
9. Proof of Work: The Basics. 9. プルーフ・オブ・ワークの 基本的なこと
9.1. Proof of Work and Sybil Resistance 9.1. プルーフ・オブ・ワークとシビルレジスタンス
9.1.1. Mining Pools 9.1.1. マイニングプール
9.1.2. Hardware: ASICs and ASIC Resistance 9.1.2. ハードウエア: ASICとASIC抵抗
9.1.3. Mining Centralization in Practice. 9.1.3. マイニングの集中化の実際
9.2. Difculty Adjustment Algorithms 9.2. 難易度調整アルゴリズム
9.3. Attacks Against Mining Pools: Pool-Hopping and Block Withholding 9.3. マイニングプールに対する攻撃: プールホッピングとブロックウィズホルディング
9.4. Selfsh Mining 9.4. セルフシュ・マイニング
10. Nakamoto Consensus. 10. ナカモトコンセンサス
10.1. Theory of Nakamoto Consensus 10.1. ナカモトコンセンサスの理論
10.1.1. Nakamoto Consensus With Chains of Variable Difculty 10.1.1. 難易度可変の連鎖を持つ中本コンセンサス
10.1.2. Additional Analyses of Nakamoto Consensus 10.1.2. 中本コンセンサスの追加分析
10.2. Violating the Nakamoto Consensus Security Assumptions 10.2. 中本コンセンサスのセキュリティ前提を破る
10.2.1. Network Delay and Block Propagation 10.2.1. ネットワーク遅延とブロック伝搬
10.2.2. Majority Hash Rate Attacks (51% Attacks) 10.2.2. Majority Hash Rate Attacks(51%の攻撃)
10.2.3. Hash Function Collisions 10.2.3. ハッシュ関数コリジョン
10.3. (More) Attacks Against Nakamoto Consensus 10.3.中本コンセンサスへの(さらなる)攻撃
11. More Proof-of-Work Protocols. 11. その他のプルーフ・オブ・ワーク・プロトコル
11.1. Nakamoto Consensus Protocol Adjustments 11.1. 中本コンセンサスプロトコルの調整
11.1.1. Weak Blocks and Pre-Consensus 11.1.1. ウィークブロックとプレコンセンサス
11.1.2. Bitcoin-NG 11.1.2. ビットコイン-NG
11.1.3. Tie-Breaking Schemes 11.1.3. タイブレーキングスキーム
11.1.4. DECOR+ 11.1.4. DECOR+(デコルプラス
11.1.5. Publish or Perish 11.1.5. パブリッシュ・オア・ペリッシュ
11.1.6. NC-Max. 11.1.6. NC-Max。
11.2. Greedy Heaviest-Observed Sub-Tree (GHOST) 11.2. 貪欲な最前線サブツリー(GHOST)
11.3. FruitChains 11.3. フルーツチェーン
11.4. Parallel Chain Approaches 11.4. パラレルチェーンアプローチ
11.4.1. Prism 11.4.1. プリズム
11.5. Proof-of-Work DAGs 11.5. プルーフオブワークDAG
11.5.1. Inclusive Blockchains and Confux 11.5.1. インクルーシブ・ブロックチェーンとコンフュ
11.5.2. SPECTRE and Phantom. 11.5.2. SPECTREとPhantom
11.5.3. Tangle 11.5.3. タングル
11.5.4. Meshcash. 11.5.4. メシュカシュ
11.6. Proof of Work for Committee Selection. 11.6. 委員会選出のためのプルーフ・オブ・ワーク
11.6.1. Hybrid Consensus 11.6.1. ハイブリッドコンセンサス
11.6.2. Solida 11.6.2. ソリダ
12. Proof of Stake: The Basics 12. プルーフ・オブ・ステーク 基礎編
12.1. Early Attempts at Proof of Stake 12.1. プルーフ・オブ・ステークの初期の試み
12.1.1. Nothing-at-Stake and Costless Simulation 12.1.1. ナッシングアットテイクとコストレスシミュレーション
12.1.2. Long-Range Attacks, Posterior Corruption, and Weak Subjectivity 12.1.2. 遠距離攻撃、事後的な腐敗、弱い主観性
12.1.3. Leader Election, Anonymity, and Security Against Adaptive Adver-saries 12.1.3. リーダー選出、匿名性、適応型アドヴァーサリに対する安全性
12.2. Leader Predictability and Security. 12.2. リーダーの予測可能性と安全性
12.3. Wealth Concentration, Block Rewards, and Centralization 12.3. 富の集中、ブロック報酬、集中化
13. Proof-of-Stake Protocols 13. プルーフオブ状態プロトコル
13.1. Chain-Based Proof of Stake 13.1. チェーンベースのプルーフオブ状態
13.1.1. Chains of Activity 13.1.1. 活動の連鎖
13.1.2. Snow White. 13.1.2. 白雪姫
13.1.3. Ouroboros Family: Praos and Genesis 13.1.3. ウロボロスファミリー プラオスとジェネシス
13.1.4. DFINITY 13.1.4. DFINITY
13.2. Ethereum 2.0 13.2. イーサリアム2.0
13.3. DAG-based Proof of Stake. 13.3. DAGベースのプルーフオブ状態
13.3.1. Fantômette 13.3.1. ファントメット
13.3.2. Avalanche 13.3.2. アバランシュ
13.3.3. Parallel Chains 13.3.3. パラレルチェーン
13.4. BFT-Based Proof of Stake 13.4. BFTに基づくプルーフオブ状態
13.4.1. Tendermint. 13.4.1. テンダーミント
13.4.2. Algorand. 13.4.2. Algorand(アルゴランド)。
14. Hybrid and Alternative Sybil-Resistance Mechanisms 14. ハイブリッドおよび代替シビル耐性機構
14.1. Proof of Space 14.1. 空間の証明
14.1.1. Spacemint 14.1.1. スペースミント
14.1.2. Chia. 14.1.2. チア
14.2. Proof of Activity. 14.2. 活性を証明する。
14.3. Checkpoints and Finality Gadgets. 14.3. チェックポイントとファイナリティガジェット。
14.3.1. Ad Hoc Finality Layers and Reorg Protection 14.3.1. アドホックなファイナリティレイヤーとリオーガプロテクション
14.3.2. Casper the Friendly Finality Gadget (FFG) 14.3.2. キャスパー・ザ・フレンドリー・ファイナリティ・ガジェット(FFG)
14.3.3. More Finality Gadgets and Checkpointing Protocols. 14.3.3. その他のファイナリティガジェットとチェックポイントプロトコル
15. Sharding 15. シャーディング
15.1. Intra-Shard Consensus. 15.1. シャード内コンセンサス
15.2. Identity Registration, Committee (Re)confguration, and Epoch Randomness 15.2. ID登録、委員会の(再)構成、およびエポックランダム性
15.3. Cross-Shard Transaction Processing 15.3. クロスシャードトランザクション処理
15.4. A Diferent Approach: Monoxide 15.4. 異質なアプローチ 一酸化炭素
15.5. Fraud Proofs and Data Availability 15.5. 不正の証明とデータの利用可能性
16. Interoperability. 16. 相互運用性
16.1. Cross-Chain Communication, Fair Exchange, and Atomic Swaps. 16.1. クロスチェーンコミュニケーション、フェアエクスチェンジ、アトミックスワップ
16.2. Bootstrapping Methods: Merged Mining and Proof of Burn 16.2. ブートストラップ法: マージド・マイニングとプルーフ・オブ・バーン
16.3. Sidechains, Relays, and Asset Transfer 16.3. サイドチェーン、リレー、アセットトランスファー
16.3.1. Permissionless Sidechains. 16.3.1. 許可なしのサイドチェイン
17. Networking 17. ネットワーキング
17.1. Networking for Permissionless Systems 17.1. 許可なしシステムのためのネットワーキング
17.1.1. Peer Discovery 17.1.1. ピアディスカバリー
17.1.2. Neighbor Selection. 17.1.2. ネイバーセレクション(Neighbor Selection)。
17.1.3. Communication Strategy 17.1.3. コミュニケーション戦略
18. State Machines. 18. 状態マシン
18.1. Virtual Machine Design. 18.1. 仮想マシンの設計
18.1.1. Concurrency in Smart Contracts. 18.1.1. スマートコントラクトにおける並行処理
18.1.2. Zero-Knowledge Proofs and Verifable Computation 18.1.2. ゼロ知識証明と検証可能な計算機
18.1.3. Delegating Execution 18.1.3. 実行の委譲
18.2. Layer 2 Protocols. 18.2. レイヤー2 プロトコル
18.2.1. Payment and State Channels. 18.2.1. 支払いチャネルと状態チャネル
18.2.2. Plasma and Rollups. 18.2.2. プラズマとロールアップ
19. Incentives. 19. インセンティブ
19.1. Block Rewards: Subsidies and Transaction Fees. 19.1. ブロックリワード 補助金とトランザクションフィー。
19.1.1. The Mining Gap and (the Absence of a) Block Subsidy 19.1.1. マイニングギャップと(ブロック補助金の不在)ブロック補助金
19.2. State Machines, Incentives, and Security. 19.2. 状態マシン、インセンティブ、セキュリティ
19.3. Alternative Transaction Fee Protocols. 19.3. 代替取引手数料プロトコル
References 参考文献

 

 

|

« 首相官邸 2022年度 Trusted Web に関する調査研究 | Main | 英国 デジタル市場・競争・消費者法 (DMCC) 案 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



« 首相官邸 2022年度 Trusted Web に関する調査研究 | Main | 英国 デジタル市場・競争・消費者法 (DMCC) 案 »