(推定読了時間:06分40秒

近年、Bitcoinに端を発する暗号通貨やブロックチェーンに関する研究が益々増えてきております。 その中には、暗号通貨のセキュリティに対する研究・各種改善提案・Bitcoinやブロックチェーンを超えた枠組みの模索など様々な内容がありますが、こうした研究論文の中から特に重要で一読の価値があると思われる論文を一覧にして掲載しております。

Bitcoin関連

  • Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, https://bitcoin.org/bitcoin.pdf (2008)
    すべての始まり。 Bitcoinを勉強するならまずはじめに読んでおきたいところ。
  • Alex Biryukov and Ivan Pustogarov, Bitcoin over Tor isn’t a good idea, arXiv:1410.6079v2 [cs.CR] (2014)
    Torを利用して通信元を秘匿したとしても、悪意あるTorノードを多数引き連れて来られてしまうと通信内容が攻撃者に分かってしまう可能性があることを指摘。
  • Ittay Eyal and Emin Gun Sirer, Majority is not Enough: Bitcoin Mining is Vulnerable, arXiv:1311.0243 [cs.CR] (2013)
    「51%攻撃」という単語に表れているように、半数のハッシュレートを確保しない限り悪さはできないと言われているが、実はうまくブロック情報の公開タイミングや採掘するブロックを調整しネットワークのレイテンシを利用することで、過半数のハッシュレートがなくともブロック採掘権を独り占めすることが出来てしまうことを指摘。
  • Ghassan O. Karame and Elli Androulaki, Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin, In Proc. of Conference on Computer and Communication Security (2012)
    Bitcoinでの0検証時での二重支払い成功率を実験により検証した論文。ちょっと古いので今でも同様の議論が通用するか微妙だけど、本番環境での実験データという意味では非常に貴重。

コンセンサス系

  • David Schwartz, Noah Youngs and Arthur Britto, The Ripple Protocol Consensus Algorithm, https://ripple.com/consensus-whitepaper/ (2014)
    支払いシステム「Ripple」のコンセンサスアルゴリズムの解説。 Rippleの一番の売りはBitcoinのようにコンセンサス部分ではないので、Rippleの本質的な理解にはつながらないかもしれないが、Rippleを理解する上では必読。
  • Serguei Popov, The tangle, https://iotatoken.com/IOTA_Whitepaper.pdf (2016)
    トランザクションをクモの巣状につなげていくことで、ブロック生成を伴わずにBitcoinと同等のセキュリティを担保する電子マネーが作れるんじゃないか?という内容。 明確な根拠がなかったり、今後の課題として残されている部分が多々あり正直なところ理論的には実用に供するレベルではないが、ブロックチェーンではない分散合意台帳システムを構築するというテーマは非常に野心的。

支払いチャネル

  • BitPay inc, Inter-Channel Payments a.k.a., “Impulse”, http://impulse.is/ (2015)
    支払いチャネルをうまく利用することで、二重支払いの可能性を排除し即座に認証が行えるような仕組み。ただし、決済システム提供事業者をある程度信用する仕組みになっているため、Lightning Network が発明された現時点では微妙。
  • Joseph Poon and Thaddeus Dryja, The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments, http://lightning.network/ (2015)
    原始的な支払いチャネルはあらかじめ定められた二者間でしかやり取りすることは出来なかったが、中継ノードを作成することで任意の相手とやり取りすることができるようにするという手法。 スケーラビリティの改善に有効だとして話題を集める。

マイニング関連

  • Meni Rosenfeld, Analysis of Bitcoin Pooled Mining Reward Systems, arXiv:1112.4980 [cs.DC] (2011)
    プールマイニングの払出報酬額の決定手法を網羅的に解説し、それぞれの問題点や改善策を論述した、いわゆる「レビュー論文」的なやつ。 PPSとかPPLNSとか詳しく知りたいならこれを読むべし。

基礎知識系

暗号通貨やブロックチェーン自体に関する論文ではないですが、これらを理解するのに有用ないし極めて近しい内容の論文たちです。

  • Gregory Maxwell, Andrew Poelstra, Borromean Ring Signatures, https://github.com/Blockstream/borromean_paper (2015)
    例えば「(A or B or C) and (A or D)」という形の条件を表す電子署名を作りたい場合にはリング署名を用いて「A or B or C」「A or D」という二つの独立したリング署名を作ればいいが、データ量的に非効率なため、これらをオリンピックの輪みたいな形でうまいことつなぎ合わせることで効率化をはかる話。Confidential transaction に利用できる。
  • Jeremy Rubin, Manali Naik, Nitya Subramanian, Merkelized Abstract Syntax Trees, https://github.com/JeremyRubin/MAST (2014)
    手続き型の低水準言語とかをシリアライズするときに、単純にやるのではなく条件分岐をノードとする木構造の構文木を作って格納するアイディアとシリアライゼーションフォーマットの提案。 一見するとなんじゃこれ?って感じだが、Bitcoinのスクリプト(※プログラミング言語)をこの形でシリアライズしてうまくやることで複雑な条件分岐のあるプログラムの実質的なデータサイズを削減することができる。
  • John Tromp, Cuckoo Cycle: a memory bound graph-theoretic proof-of-work, https://github.com/tromp/cuckoo (2015)
    Proof-of-Work にはハッシュ関数を使うった問題(hashcash)を考えるのが一般的だが、これは乱数を用いて作られたグラフに対して巡回路を見つける問題を使うといいのでは?という内容の論文。 グラフを探索するため、メモリに対してランダムでアクセスする必要性が発生するため単純な実装ではGPUやASIC等で高速化するのはかなり難しく、いわゆる耐GPU/耐ASICを謳ったPoWアルゴリズム。