Skip to main content
QUICK REVIEW

[論文レビュー] The Consensus Number of a Cryptocurrency (Extended Version)

Rachid Guerraoui, Petr Kuznetsov|arXiv (Cornell University)|Jun 13, 2019
Blockchain Technology Applications and Security参考文献 39被引用数 8
ひとこと要約

この論文は、各アカウントが単一の所有者を持つ場合、資産移転問題のコンセンサス番号が 1 であることを示すことで、暗号通貨における二重支出を防ぐためにコンセンサスが必須でないことを実証している。著者らは、アトミック・スナップショットメモリとセキュアブロードキャストを用いて、コンセンサスなしで線形化可能である決定論的非同期Byzantine Fault-Tolerant(BFT)資産移転プロトコルを提示しており、コンセンサスに基づく手法よりも占팎し、より効率的である。

ABSTRACT

Many blockchain-based algorithms, such as Bitcoin, implement a decentralized asset transfer system, often referred to as a cryptocurrency. As stated in the original paper by Nakamoto, at the heart of these systems lies the problem of preventing double-spending; this is usually solved by achieving consensus on the order of transfers among the participants. In this paper, we treat the asset transfer problem as a concurrent object and determine its consensus number, showing that consensus is, in fact, not necessary to prevent double-spending. We first consider the problem as defined by Nakamoto, where only a single process---the account owner---can withdraw from each account. Safety and liveness need to be ensured for correct account owners, whereas misbehaving account owners might be unable to perform transfers. We show that the consensus number of an asset transfer object is $1$. We then consider a more general $k$-shared asset transfer object where up to $k$ processes can atomically withdraw from the same account, and show that this object has consensus number $k$. We establish our results in the context of shared memory with benign faults, allowing us to properly understand the level of difficulty of the asset transfer problem. We also translate these results in the message passing setting with Byzantine players, a model that is more relevant in practice. In this model, we describe an asynchronous Byzantine fault-tolerant asset transfer implementation that is both simpler and more efficient than state-of-the-art consensus-based solutions. Our results are applicable to both the permissioned (private) and permissionless (public) setting, as normally their differentiation is hidden by the abstractions on top of which our algorithms are based.

研究の動機と目的

  • 暗号通貨における二重支出を防ぐためにコンセンサスが不可欠であるという広く共有された信念に挑戦すること。
  • 分散コンピューティングにおける共有オブジェクトタイプとしての資産移転問題を形式的に定義すること。
  • 穏やかな故障モデルとByzantine故障モデル下での資産移転オブジェクトのコンセンサス番号を特定すること。
  • コンセンサスに基づく資産移転プロトコルの代替として、決定論的で非同期的かつより効率的な手法を設計すること。
  • k共有アカウントへのモデル一般化を行い、そのコンセンサス番号が k であることを確立すること。

提案手法

  • 著者らは、穏やかな故障を伴う共有メモリにおける並行オブジェクトタイプとしての資産移転問題をモデル化し、そのコンセンサス番号が 1 であることを証明している。
  • アトミック・スナップショットメモリを用いて、一貫性のあるメモリビューに対する検証を通じて線形化可能な引き出しを実装している。
  • k共有アカウントの場合、同じアカウントから最大kプロセスが引き出し可能になるようにモデルを拡張し、コンセンサス番号がkであることを証明している。
  • Byzantine故障を伴うメッセージパassingモデルにおいて、各アカウントごとにBFTサービスを実装し、シーケンス番号を割り当てることで一貫性と順序付けを保証している。
  • アカウント順序性を実現するため、セキュアブロードキャストプロトコルを変更し、グローバルコンセンサスなしで転送間の因果関係を強制可能にしている。
  • クォーラム署名済みシーケンス番号とローカル検証に依存することで、損傷していないアカウントについても安全かつ活性性を保証している。

実験結果

リサーチクエスチョン

  • RQ1分散型暗号通貨における二重支出を防ぐために、本当にコンセンサスが必要なのであろうか?
  • RQ2穏やかな故障を伴う共有メモリ下での単一所有者資産移転オブジェクトのコンセンサス番号は何か?
  • RQ3同じアカウントから複数プロセスが引き出し可能になる場合、コンセンサス番号はどのように変化するか?
  • RQ4コンセンサスフリーで、決定論的かつ非同期的であり、コンセンサスベースの代替手法よりも効率的なByzantine Fault-Tolerant資産移転プロトコルを構築可能か?
  • RQ5グローバルな全順序なしで、アカウント間の因果関係と線形化可能性をどのように維持できるか?

主な発見

  • 単一所有者資産移転オブジェクトのコンセンサス番号は 1 であり、二重支出を防ぐためにコンセンサスが不要であることを証明している。
  • 最大kプロセスが同じアカウントから引き出し可能なk共有資産移転オブジェクトの場合、コンセンサス番号はkである。
  • 提案されたプロトコルは、コンセンサスを解決しないまま、BFTサービスとセキュアブロードキャストを用いて線形化可能性と安全性を達成している。
  • 非損傷アカウントについても、Byzantine故障を伴う非同期システムにおいても活性性が保証されている。
  • このアプローチは、アクセス制御の違いを隠す抽象化を備えているため、許可型および非許可型の両方の暗号通貨に適用可能である。
  • 最新のコンセンサスベースのソリューションよりも単純で効率的であり、コンセンサスモジュールの複雑さとパフォーマンスのボトルネックを回避している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。