少しだけ易しいMastering Bitcoin【第9章】
Bitcoinの技術面を学ぶにはこれしかないと言われているほどの名著Mastering Bitcoin を今更読んだので、自分の中での復習を兼ねて、ところどころ解説付きでまとめを書いていきます。
元の本ではサラッと流されているところもしっかり解説するつもりでお節介に書いたので初学者の人には分かりやすいかもしれません。
日本語版PDFはここで無料公開されているので翻訳者の方々への感謝を常に感じながら読みました。
無料公開版ということもあって誤字脱字もたまにあったりするので、
しっかり製本されたものが読みたいという方はAmazonで買って読むことをお勧めします。
前回↓
第9章 その他のチェーン、通貨、アプリケーション
(1)Bitcoinのレイヤー
Bitcoinのブロックチェーン上にはいくつものプロトコルのレイヤーがあります。
これには、メタコイン 、 メタチェーン 、 ブロックチェーンアプリケーションなどがあります。
⑵MetaCoin
Bitcoinのメタデータを利用した仕組み。
①Colored coin
特定のとても少額の bitcoinを他のアセットを表している証明書に変換(色をつけているイメージ)して用いるというbitcoinのメタプロトコルです。
Colored coinは特別なウォレットで管理され、このウォレットを使ってユーザ ーは特別な意味を持つラベルをbitcoinに追加して、色がついていないbitcoinから色がついているbitcoinへ変換します。例えば、株式の証明、クーポン、不動産、日用品、収集可能なトークンを表すラベルなどの情報を付与できます。
また色がつけられたbitcoinを色のついていないbitcoinに戻すことも可能です。
②Mastercoin(マスターコイン)
MastercoinはMSTという通貨をトランザクションを行うためのトークンとして使用します。しかし、それは通貨としては使われません。
MasterCoinは主に、ユーザー通貨やスマートプロパティのトークン、分散型のアセット取引所などを構築するためのプラットフォームです。
③Counterparty
Counterpartyは、ユーザー通貨や交換可能なトークン、ファイナンシャルツール、分散型 アセット取引所などを可能にしています。(Counterpartyトークンという言葉は有名ですね)
CounterpartyはBitcoinのScript言語にある OP_RETURN オペレーターを主に使って実装されており、このオペレータはBitcoinのトランザクションに追加の意味を持たせるメタデータを記録するために使われています。
Counterpartyは、Counterpartyのトランザクションを 実行するためにXCPをトークンとして用いています。
⑶AltCoin
AltCoinには「Bitcoinから"フォークして"作られたもの」と「スクラッチ開発(雛形などを参考にせずに0から開発すること)で作られたもの」の大きく2種類があります。
このページで様々なAltcoinがどのようにフォークして生まれてきたかが見れます。
以下で様々なAltCoinを見ていきます。
(a)通貨パラメータの代替案
Bitcoinの各通貨パラメータは
- ブロック生成時間: 10分
- 通貨総発行量: 2140年までに2100万bitcoin(2100兆satoshi)
- コンセンサスアルゴリズム: SHA256 proof of work
でした。
これらの通貨パラメータに対する代替案として以下のようなAlt coinが提案されています。
①Litecoin(ライトコイン)
2011年にBitcoinからフォークしてリリース
- ブロック生成時間: 2.5分
- 通貨総発行量: 2140年までに8400万litecoin
- コンセンサスアルゴリズム: Scrypt proof of work
という通貨パラーメータを持ち、
・メモリを多く消費するscryptという計算をproof of workに用いていて、GPUやASICでのマイニングがしにくい
・Bitcoinよりもブロック生成間隔が短い
・総発行量が多い
という特徴からBitcoinよりも小売店の決済での使用に向いていると言われている。
②Dogecoin(ドージコイン)
2013年にLitecoinからフォークしてリリース
- ブロック生成時間: 60秒
- 通貨総発行量 : 2015年までに 100,000,000,000 (1000億) doge
- コンセンサスアルゴリズム: Scrypt proof of work
速い通貨発行速度と高い通貨時価総額を通貨ポリシーとして持ち、チップとして使われることを推奨しています。
③Freicoin(フレイコイン)
2012年7月にbitcoinからフォークしてリリース
- ブロック生成時間: 10分
- 通貨総発行量: 2140年までに 1億コイン
- コンセンサスアルゴリズム: SHA256 proof of work
demurrage通貨(時間とともに減価する通貨)で、保存している価値に対してマイナスの利子率を持っています。
Freicoinでは消費することを奨励しお金を所持し続けることを抑制するために、Freicoinを持っていると年率4.5%の手数料が課されるようになっています。
(b)コンセンサスのイノベーション
Bitcoinのコンセンサスアルゴリズムは SHA256 proof of work でした。
2011年9月に Tenebrix という通貨でscrypt proof of workというBitcoinのSHA256 proof of work以外のアルゴリズムが登場した後、Scrypt-N、Skein、Groestl、SHA3、X11、Blakeなどの様々なアルゴリズムを採用したAlt coin(proof of workと結びついている)が登場しました。
そして、2013年にproof of stake というproof of workに変わる新たなアルゴリズムが発明されました。
Proof of Stakeは、
①Peercoin(ピアコイン)
2012年8月にbitcoinからフォークしてリリース
- ブロック生成時間: 10分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: (ハイブリッド)proof of workで始まり、後にproof of stake
proof of workとproof of stakeのアルゴリズムを両方取り入れた通貨として最初に発行されたAlt coinです。
②Myriad(ミリアド)
2014年2月にリリース
- ブロック生成時間: 30秒が平均(マイニングごとに2.5分がターゲット)
- 通貨総発行量: 2024年までに20億コイン
- コンセンサスアルゴリズム: 複数proof of workアルゴリズム
5つの異なるproof of workアルゴリズム(SHA256d, Scrypt、Qubit、Skein、Myriad-Groestl)を同時に使っており、マイナーの参加状態に応じてそれぞれのアルゴリズムごとに異なるdifficultyを 持っています。その目的は、多数のマイニングアルゴリズムを同時に攻撃しなければならないようにすることによって、MyriadをASICによる専業化と中央集権化に対して耐久性のあるものにし、さらにコンセンサス攻撃に強くすることです。
③Blackcoin(ブラックコイン)
2014年の冬にリリース
- ブロック生成時間: 1分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: proof of stake
proof of stakeのコンセンサスアルゴリズムを用いています。特筆すべき点は「利益に応じてどのAlt coinをマイニングするかを自動的に変更するマイニングプールの一種」である”multipools"を導入したことです。
④VeriCoin(ベリコイン)
2014年5月 にリリース
- ブロック生成時間: 1分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: proof of stake
供給と需要のマーケットバランスに基いて動的に変更される金利レートを持つproof of stake コンセンサスアルゴリズムを用いています。また、これはウォレットからbitcoinで支払いをする際に、自動的にbitcoinに両替をする機能を導入した初めてのAlt coinでもあります。
⑤NXT(ネクスト)
スクラッチから実装(既存の製品や雛形などを流用せずに、まったく新規にゼロから開発すること。)された暗号通貨
- ブロック生成時間: 1分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: proof of stake
NXT (発音は"Next")は、proof of workによるマイニングを用いていないという点で"純粋な"proof of stake のAlt coinです。NXTはたくさんの先進的な機能を実装しており、例えば、名前登録機能(Namecoinと似ている)や、分散型アセット取引所(Colored Coinsと似ている )、安全な統合型分散メッセージング(Bitmessageと似ている)、そしてstake デリゲーション(proof of stakeを他人に委任すること)があります。
(c)2つの目的を持ったマイニングのイノベーション
Bitcoinで用いられているProof of Workは大量の電力を消費して”Bitcoinネットワークをセキュアに保っています”。
しかし、実際にはその電力でSHA256をひたすら計算しているだけであり、これは現状何の役にも立ちません。このことから”電力を無駄にしている”環境問題だと批判されることも多いです。
そこで、いくつかのAltCoinでは、”Bitcoinネットワークをセキュアに保っています”という目的の他にもう一つ別の有用な目的をProof of Workに持たせているものがあります。
①Primecoin(プライムコイン)
- ブロック生成時間: 1分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: 素数列の発見を伴うproof of work
素数探索は、カニンガム鎖(第1カニンガム鎖と第2カニンガム鎖)とbi-twinチェーンという素数列を計算することで素数を探索しています。
素数はさまざまな科学の領域でとても有用です。Primecoinのブロックチェーンにはproof of workで発見された素数が含まれており、このためパブリックなトランザクション元帳の生成と並行して科学的な発見の公的記録を生成することにもなっています。
②Curecoin(キュアコイン)
- ブロック生成時間: 10分
- 通貨総発行量: 無制限
- コンセンサスアルゴリズム: タンパク質フォールディングの研究を伴うproof of work
病気を治す新薬の発見のために使われている、タンパク質の化学的な相互作用の解析をコンピュータ ーによる膨大なシミュレーション計算で行うタンパク質フォールディングという研究(Folding@Home プロジェクト)のためにProof of Workを使っています。
③Gridcoin(グリッドコイン)
• ブロック生成時間: 150秒
• 通貨総発行量: 無制限
• コンセンサスアルゴリズム: BOINCのグリッドコンピューティングに対する参加報奨金を伴うproof of work
BOINC(Berkeley Open Infrastrucure for Network Computing)という科学的なグリッドコンピューティング(複数のコンピュータを結びつけて仮想的に一つの高性能コンピュータと見なし、それを必要なだけ利用するというシステム)のためのオープンプロトコルに計算資源を提供するものです。特定のプロジェクトではなく、計算資源が必要な人全体に計算能力を提供することになります。
(d)匿名性に集中したAltCoin
Bitcoinは”匿名”の通貨ではありません。ブロックチェーン上に記録されたトランザクションのBitcoinアドレスは全てのノードから閲覧することができますし、Bitcoinアドレスと個人を紐づけることは通常はできませんが、ビッグデータ解析などを用いたり、大きな額を扱っているなどで個人が特定されることは起こり得ます。
そこで”強い匿名性”を重視して開発されたAltCoinも多く存在します。
①Zerocoin/Zerocash
Zerocoinは、2013年にJohns Hopkins大学の研究者によって 発表された論文にあるBitcoin上で匿名性を保つためのメタコインです。
ZerocoinのAlt coinとしての実装がZerocashという通貨です。
②CryptoNote(クリプトノート)
CryptoNoteは、2013年10月に発表された匿名性を持つデジタルキャッシュの基礎技術を提供するオルトコインです。異なる様々な実装にフォークできるように設計されており、一定周期で通貨として利用できなくなるようにリセットするメカニズムを備えています。Bytecoin (BCN)、Aeon (AEON)、Boolberry (BBR) 、duckNote (DUCK)、Fantomcoin (FCN)、Monero (XMR)、MonetaVerde (MCN)、そして Quazarcoin(QCN)などのアルトコインはCryptoNoteから生まれてきたものです。
CryptoNoteはBitcoinのフォークではなく、別枠として完全な形でまとめられた暗号通貨です。
③Bytecoin
- ブロック生成時間: 2分
- 通貨総発行量: 1840億BCN
- コンセンサスアルゴリズム: Cryptonight Proof of work
Bytecoinが使用しているCryptonight proof of workアルゴリズムでは、少なくとも2MBのRAM(メモリです)をインスタンスごとに必要としており、GPUやASICのマイニングには適さないようになっています。
BytecoinはCryptoNoteのリング署名、リンク不可能な トランザクションを使用しており、ブロックチェーン解析に対する対策としての匿名性を持っています。
④Monero(モネロ)
MoneroはCryptoNoteの実装の一つで、Bytecoinよりも幾分フラットな発行曲線を持っていて、80%の通貨は最初の4年間の間に発行されるようになっています。同時にByte coinと同様の匿名性の機能を持っています。
- ブロック生成時間: 1分
- 通貨総発行量: 1840万XMR
- コンセンサスアルゴリズム: Cryptonight Proof of work
⑤Darkcoin
- ブロック生成時間: 2.5分
- 通貨総発行量: 最大2200万DRK
- コンセンサスアルゴリズム: 複数のラウンド関数を持った複数proof of workアルゴリズム
Darkcoinはステルスアドレスと、匿名性のためのトランザクションのre-mixingを行っています。 Darkcoinはこの技術により、匿名性を持つ通貨として実装されており 、DarkSendと呼ばれる全てのトランザクションに対してre-mixingを行って匿名化するプロトコルを使っています。また、proof of workアルゴリズムに 11個のハッシュ関数 (blake、bmw、groestl、jh、keccak、skein、luffa、cubehash、shavite、simd 、echo)を用いています。
(4)AltChain
ブロックチェーンを通貨ではないものを目的として使用したものをAltChainと言います。
現在はここに上がっているものだけではなく、星の数ほどあります笑
①Namecoin(ネームコイン)
Namecoinは実は、Bitcoinコードの最初のフォークです。
Namecoinはブロックチェーンを使った 分散型のキーバリューの登録・移管プラットフォームです。
Namecoinは現在の DNS(domain name service:ドメイン名からIPアドレスを返すサーバと思ってもらえれば)の代替として作成されており、ルートレベルのドメイン名は .bit となっています。
DNS以外にもEmailアドレスや、暗号キー、SSL証明書、ファイル署名、投票システム、株式証明書、そして他の沢山のアプリケーションに使われています。
Namecoinの基本的な通貨パラメーターはBitcoinと同一です。
②Etherum
ブロックチェーンの台帳上において、チューリング完全な契約処理と、それを実行するプラットフォームです。
<感想>
たくさんのブロックチェーンの応用例が紹介されていましたが、2016年時点のものであり、現在(2018年9月時点)で頻繁に議論されているものは少ないです。
なので、このまとめでは簡単な紹介に止めました。
星の数ほどのブロックチェーンプロジェクトがありますので、それに関する詳しい記事もこのブログで書いていきたいと思います。
続き↓