"One CPU, One Vote" 「1つのCPU、1つの投票」

Article
Ken Shishido

1 year ago by kenshishido

6月から8月にかけBitcoinSVネットワークが執拗なReorg攻撃を受け、一時は3つのチェーンにスプリットしました。不正なチェーンが正当なチェーンより長くなった状況も発生し、マイナーおよびビジネスが一部混乱しました。このためBitcoin Associationが正当なチェーンがどれであるかの発表を行い、マニュアル対応することを推奨しました。

不正なチェーンが長くなった現象が見られたことで、一部の関係者に「正当なチェーンの定義」に関して質問、誤解、議論がありました。このため、今回クレイグ博士の論文”One CPU, One Vote” 「1つのCPU、1つの投票」を下記翻訳(博士の許可あり)します。読者諸君のさらなる理解に役立つことを願います。ビットコインは本当に奥が深いですね。(宍戸健。2021年8月11日)

“One CPU, One Vote” 「1つのCPU、1つの投票」

ビットコインのホワイトペーパー(Craig Wright/Satoshi Nakamoto, 2008, p.3)では、プルーフ・オブ・ワークは「基本的に1つのCPUで1つの投票」であると述べています。残念なことに、多くの人はこれをネットワークのすべての参加者に民主的な権利を与えるシステムであると、文脈を無視して誤って解釈しています。しかし、この多数決は民主的なものではありません。プルーフ・オブ・ワークの性質とこの仕組みの制限から、ユーザーにとっての多数決ではなく、商業ノードによる多数決となっています。取引の順序を決めるのは、IPアドレスやマシンごとの1票ではなく、投資単位ごとの1票なのです。さらに、この方法論ではプロトコルの変更ができません。

さらなる誤解は、完全なネットワークの自律性を仮定することです。最長のチェーンは多数決で決定したことを意味しますが、各ノードがこれに従わなければならないとするという解釈は、ノードオペレータが有効な取引の最長のチェーンと見なすものに従うノードの権利を無視しています。ノードがチェーンが無効であると考えた場合、ノード・オペレータは手動でシステムをオーバーライドし、代替チェーンを選択することができます。ホワイトペーパーのプルーフ・オブ・ワークのセクションで述べられているように、「CPUパワーの大部分が”Honest”(正直)なノードによってコントロールされている場合、正直なチェーンが最も速く成長し、競合するチェーンを凌駕する。」したがって、ノードが自動的に最長のチェーンに従わなければならないという議論は無効なのです。ノードの運営者は、自分が信じる誠実なチェーンを決定し、短期的には利益を失うリスクを冒してでもネットワークの誠実さを確保し、長期的には利益を増加させることになります。

ホワイトペーパーでは、正直なチェーンと競合するチェーンの両方に言及しています。したがって、システムが自動化されていなければならないという議論や、ノード・オペレータが、二重消費(Double Spend)の取引やその他の攻撃のないチェーンを構築することを求めて、最長のチェーンに従うことで利益を失うリスクを負うことを決定できないという解釈は間違いです。ホワイトペーパーによると、ノードはCPUパワーで投票します。ノードは、有効なブロックを延長したり、無効なブロックを拒否したりする作業によって、有効なブロックを受け入れたり、拒否したりします。したがって、システムが自動化されていなければならないという議論は、簡単に論破できます。コンピュータは意思決定をしないのです。ブロックを受け入れるか拒否するかという表現をシステムに組み込むには、人間の意思決定(エージェンシー)が必要なのです。コンピュータが投票するのではなく、人間がするのです。

ノードは最も長いチェーンに盲目的に従わなければならないという解釈は、ホワイトペーパーのビットコインの定義の部分を無視しており、ノードオペレータが誠実で正しいチェーンだと信じるものをノードが決定することを可能にする片務契約(Unilateral Contract 注1,2)を前提としています。各ノードが誰であるか識別する必要はありませんが、プルーフ・オブ・ワークがあるため、ノードは必要であれば識別することは可能です。特に、ネットワークの変更の決定するのに十分なCPUパワーを持つ大型ノードは、誰に運営されているか簡単に識別できます。特定のトランザクションがないことを確認する唯一の方法は、そのトランザクションを認識することであり、そのためにはシステム内のすべてのトランザクションを公開する必要があります。 このプロセスを通じて、ノードはネットワーク全体で受け取った取引の順序の単一の履歴について合意に達します。各ノードのオペレータは、自分が独立して得た情報のみを信用することができます。タイムスタンプは信頼できず、トランザクションの受信のみが時間順序を証明できるのです。

注1 へんむ‐けいやく【片務契約】
〘名〙 当事者の一方だけが債務を負担する契約。たとえば、贈与や使用貸借など。片務。⇔双務契約。〔英和商業新辞彙(1904)〕
https://kotobank.jp/word/片務契約-168002

注2 「BitCoin White Paperは片務契約であり懸賞つきの「迷子の猫を探すポスター」のような物なのです。」(東京ビットコインニュース)
https://youtu.be/PLytMsoDIqk?t=413

以下クレイグ博士の原文:-
One CPU, One vote

The bitcoin whitepaper (Wright, 2008, p. 3) notes that proof of work is “essentially one CPU one vote”. Unfortunately, for many, this has been falsely misconstrued out of context as a system providing democratic rights to all participants in the network. However, this majority decision is not democratic. The nature of proof of work and the limitations of the system don’t provide a majority decision for users but rather a majority for commercial nodes. It is not one vote per IP address or machine but rather one vote per unit of investment that decides the ordering of transactions. Additionally, this methodology doesn’t allow for protocol changes.[1]

Further error is to assume complete autonomy. The longest chain represents the majority decision, but the error assuming that each node must follow this is to ignore the right for a node to follow what the node operator sees as the longest chain of valid transactions. Where a node believes that the chain is invalid, the node operator can manually override the system and select the alternative chain. As the proof of work section in the whitepaper notes, if “the majority of CPU power is controlled by honest nodes, the honest chain will grow the fastest and outpace any competing chains”.[2] Consequently, the argument that a node must automatically follow the longest chain is invalid. Node operators decide what they believe is the honest chain and risk losing profit in the short term to ensure the honesty of the network, which increases their profit in the long-term.

The whitepaper references both honest and competing chains.[1] Hence, the argument that the system must be automated and that node operators cannot decide to risk losing profit by following the longest chain in seeking to build on the chain without double-spent transactions or other attacks are in error. The whitepaper notes that nodes vote with their CPU power. Nodes accept or reject valid blocks by working on extending and rejecting invalid blocks. Hence, the argument that the system must be automated can be easily falsified. Computers don’t make decisions. Human agency is required if the expression of acceptance or rejecting a block is to be incorporated into the system. Computers don’t vote; humans do.

The argument that nodes must blindly follow the longest chain ignores the section of the White Paper defining bitcoin and setting the unilateral contract that allows nodes to decide what the node operator believes is the honest and correct chain. While nodes do not need to be identified, they remain identifiable because of proof of work. In particular, a large node with sufficient CPU power to determine a network change is visible and easily identifiable. The only way to confirm the absence of a transaction is to be aware of the transaction, and hence this requires the public announcement of all transactions in the system.[1] Through this process, the nodes come to an agreement on a single history of the order of transactions received across the network. Each node operator may only trust the information they have independently obtained. The timestamp cannot be trusted, and only the receipt of a transaction can prove the time ordering.