mogwai

mogwai

@mogwai

(;;)

No posts yet

Utreexoは中央集権的にならないか?

ビットコインの分散性を維持するためには、取引データを最小限に維持することが重要です。現在ビットコインの取引データは400GBを越え、UTXOだけでも4GBあります。 ビットコインにはフルノードとSPVと呼ばれる軽量クライアントがあります。フルノードは、さらにPrunedモードと呼ばれるUTXOだけを保持する運用も可能です。また軽量クライアントでは、フルノードと違い、全データを検証せずにブロックヘッダーのみをダウンロードし、自身に必要な取引データだけを検証することでストレージ容量を節約しています。 これまで軽量クライアントはBIP37で定義されているBloom Filterを使って各ウォレットを実装してきましたが、プライバシーが損なわれることからBitcoin Core v0.19.0以降ではBloom Filterはデフォルトでは無効となっています。Bloom Filterのデメリットは、クライアントごとにフィルターが異なるので検閲が可能となる点です。これを解決するために登場したのがBIP157,BIP158のCompact Block Filterで、これはBloom Filterとは異なり、フィルターがブロックごとに作成されるためビットコイン・ネットワークで全て同じものとなります。ただし、どちらにしても軽量クライアントはあくまでブロックヘッダーのみを保持し自身に必要な取引データのみを検証するので、全データを検証するフルノード/Prunedノードほどトラストレスではありません。 さて、ビットコインのフルノードは全データを保持するフルノードと検証したデータは捨てUTXOのみを保持するPrunedノードの2種類がありますが、これとは別なアプローチをするフルノードの提案としてUtreexoがあります。技術的な説明は割愛しますが、UtreexoはUTXOの管理・保持をマークル木ハッシュを使ったアキュムレーターで行います。これにより保持するデータ容量の大幅な削減だけでなくいくつかのメリットが生まれます。 メリット Utreexoノードは数キロバイトのデータ保持のみでよい IBDの並列処理が可能 コンセンサスアルゴリズムをデーターベースから独立できる ソフトフォークなしで実現できる デメリット IBDではネットワーク帯域が20%増加 Utreexoアーカイブノードは通常のフルノード以上のストレージが必要 ※IBDとはInitial Block Downloadの略で、最初の同期処理で行うブロックデータのダウンロードのこと Utreexoはソフトフォークなしで実現可能ですが、そのトリックはブリッジノードとよばれるノードの存在です。このブリッジノード(上記デメリットのUtreexo

Purchased this article vmh8kseed

-100

Purchased this article 6jphw1e6d

-100

Purchased this article xe7dyonex

-150

Purchased this article b0k6jzppa

-100

Purchased this article 9hbcxftqd

-500

Purchased this article 7fxyt008x

-100

Purchased this article cky6zbybk

-5000

Purchased this article xd0qfn50e

-100

Purchased this article wu62wkgyt

-300

mogwai tipped you

30000

Purchased this article ygifz6wpb

-20000

mogwai tipped you

12600

Purchased this article 9ls5blrux

-100

Purchased this article djd5oyl2d

-100

Archives