ビットコインの記事を読んでいて、「ビットコインコア」という単語に出くわした人がいると思います。読者のみなさんは次のことを考えているのではないでしょうか?
「ビットコインコアってなんだろう?」
「ビットコインコアでできることは?」
「ビットコインコアの歴史も知りたい」
「ビットコインコアの最新バージョンを知りたい」
この記事は上記に当てはまる人に向けて書いています。記事の前半はビットコインコアについて書いておりますので、ビットコインコアの最新バージョンの内容のみ知りたい方は記事の後半から読み進めてください。
ビットコインコアとは
一言でいうと、ビットコインコアはビットコインのソフトウェアです。当初、ビットコインコアはビットコインの発明者であるナカモト・サトシさんよりビットコインと呼ばれていました。しかし、ソフトウェアとネットワークでビットコインを分けて名付けたほうが誤解を防げるため、ソフトウェアは「ビットコインコア」、ネットワークは「ビットコイン」と改名されます。
ビットコインコアには大きくわけて2つの機能が備わっています。一つ目は、取引を検証する機能です。ビットコインコアには取引を検証するシステムは搭載され、ビットコインネットワークに「フルノード」として接続されています。
「フルノード」とは、過去から現在までのすべてのブロックチェーンをダウンロードして、検証を行なう「ノード」のことです。また「ノード」とはつなぎ目という意味で、スマホやパソコンのこと指しています。繋いでいるのはオンラインであるビットコインネットワークとオフラインであるスマホとパソコンです。つまり、ビットコインコアはすべてのブロックチェーンをダウンロードし、取引を検証しているパソコンであると言えるでしょう。この機能を利用して、ビットコインコアでビットコインのマイニングを行なうことができます。
ニつ目の機能は、ビットコインの「ウォレット」です。ウォレットとしてのビットコインコアは、ビットコインを送金と受け取りができます。しかし、ビットコインを購入したり、売却したりすることはできません。あくまでビットコインの財布として役割をしています。他のウォレットと比べると、パソコン上で管理していることからセキュリティが高いと言われています。またビットコインの公式ウォレットですので信頼性もあります。
ビットコインコア開発の歴史
最初に「Bitcoin 0.1」がリリースされたのは2009年1月9日です。ナカモトサトシさんにより公開されました。当時はWindows版のみでした。その後、2009年12月16日には「Bitcoin 0.2」が公開され、Linuxでもビットコインコアを使用することができるようになります。
しかし、「Bitcoin 0.3.9」を公開したのをさいごにナカモトサトシさんはビットコインコア開発のプロジェクトを去り、連絡も取れなくなりました。その後は有志のデベロッパーたちによって、開発が続けられます。
2011年から2013年にかけて、ビットコインコアの最新バージョンは「Bitcoin.org.」から発表されるようになりました。というのは、ビットコインの支援者のため開発というより、デベロッパーたちが自分が作りたいビットコインのほうに気持ちを優先させてしまったからです。現在は「bitcoincore.org」がビットコインコアの開発を管理しています。
その後、「バージョン0.9.0」からソフトウェアとしてのビットコインは、正式に「ビットコインコア」と改名されます。2015年2月16日には「バージョン0.10」を発表し、コンセンサスライブラリーも紹介しました。このライブラリーを通じて、プログラマーはネットワークで合意を得ているビットコインのルールにアクセスすることができるようになりました。このようにビットコインは技術をシェアし、多くの人を巻き込むことで発展してきたことが分かります。
ビットコインコアの最新バージョンの概要
最新バージョンである「Bitcoin Core0.16.0」が2018年2月26日にリリースされました。注目すべき改善点は、セグウィットが標準化されたことではないでしょうか。「セグウィット」とは、取引履歴を圧縮してデータ量を小さくする技術のことです。データ量を小さくすることで、「スケーラビリティ問題」と「トランザクション展性」を解決できると考えられています。
ビットコインコアのスケーラビリティ問題とトランザクション展性
スケーラビリティ問題とは、ブロックチェーンのブロックの容量に余裕がないために送金などで時間がかかりすぎてしまうことです。ビットコインの取引量は2017年の年末から急激に増えているので、早期にスケーラビリティ問題に対処する必要がありました。そこでセグウィットを標準化すれば、データ容量はちいさく圧縮されるため、取引時間を短縮できます。
具体的には、セグウィットは取引データのうち「電子署名データ」を圧縮しています。取引データにはつぎの3つが内訳にあります。
1.送信元データ
2.送信先データ
3.電子署名データ
この3つのデータの中で、セグウィットは電子署名データだけを圧縮し、別の場所に管理します。これによって、既存の取引データの60%を圧縮できると言われています。
つぎにトランザクション展性とは、ビットコインのトランザクションIDを変更されてしまうかもしれない脆弱性のことを言います。ビットコインで取引をすると、その取引ごとにトランザクションIDがつけられます。しかし、このトランザクションIDは外部から改ざんされる恐れがあるのです。もし、改ざんされれば二重取引を引き起こす可能性があります。
そこでセグウィットを導入することで、トランザクションIDの改ざんを予防することができます。具体的には、取引データのうち電子署名データを「Witness領域」という別の場所で管理することで、トランザクションIDの改ざんを予防します。
ビットコインコアでは今後オフチェーンなど新しい技術が採用
最後に要点をまとめます。まず、ビットコインコアはビットコインのソフトウェアのことで、大きくニつの機能を持っていました。一つは、すべてのブロックチェーンをダウンロードし、取引を検証する機能。これによりマイニングもできました。もう一つは、ビットコインのウォレットです。ウォレットとしてのビットコインコアは、パソコン上でビットコインを管理しているため、セキュリティが高いと考えられています。
つぎに、ビットコインコア開発の歴史です。初めてビットコインコアがリリースされたのは2009年1月9日。ナカモトサトシさんにより開発されました。その後、ナカモトさんは消息を経ちますが、有志のデベロッパーがビットコインコアの開発を進めます。誰もがビットコインの技術を応用できるようにソースコードやライブラリーを公開するなど、ビットコインコアは技術をシェアし、人々を巻き込むことで開発が進められてきました。
その後、ビットコインコアの最新バージョンでセグウィットが標準化されることになります。ビットコインには従来から、スケーラビリティ問題とトランザクション展性が指摘されいました。
スケーラビリティ問題は、ビットコインの利用者が増えたことで取引処理能力が低下している問題で、セグウィットを導入することで取引データを圧縮し、解決することができました。またトランザクション展性は、ビットコインの取引で記録されるトランザクションIDが改ざんされる問題でした。この問題に対しても、セグウィットを導入することで、取引データの一部を「Witness領域」という別の場所で保存することで、改ざんを予防することができます。
今後、ビットコインコアにはオフチェーンなど新しい技術が採用されるのでは言われています。私たちユーザーは、ビットコインコアがバージョンアップされるたびに、その背景を知ることで仮想通貨業界で求められているものが見えてくるかもしれません。