Crypto Life

Tech in X

ブロックチェーンを中心にテクノロジーや東南アジアのスタートアップ情報を提供

Bitcoinは民主的?Bitcoinのガバナンスの危険性

Bitcoinは民主的な通貨であるとよばれていますが、本当にそうなのでしょうか。そもそも、民主的とはどのようなことを指して言っているのでしょうか。ニュースサイトなどを見ると、あまり深く考えずに「民主的」というワードを使用してしまっている気がしてなりません。

今回は「民主的な通貨」という意味について考えてみます。

 

まずはよく言われる「民主的」という意味から

そもそも「民主的」とはなんなのかという話をすると、Wikipediaによれば社会の構成員全員が権力を保持し、意思決定が合議により実現される社会形態をいうとのこと。

民主主義 - Wikipedia

 

これをBitcoinの世界に当てはめると、Bitcoin世界の構成員が皆権力を保持していて、意思決定に参加できるかどうかが民主的というためには考えなくてはならないポイントと言えそうです。

 

Bitcoin世界の構成員の権力状況

権力を保持しているということの定義は難しいですが、ここではBitcoinの世界に何かしらの変更を加える際に、意思決定に参加できることを権力を保持していることの定義としたいと思います。さて、権力の行方をさぐるためには、どのような構成員がいて、その構成員がどのように意思決定に参加しているかを分析する必要があります。

 

Bitcoinの構成員

Bitcoinの構成員が誰かと考えると、大きく2種類の人たちにわけられます。一つはBitcoinの利用者。ここにはBitcoinをただ利用するだけのLightweight Node(通常の利用者)から、マイナーのブロックの検証なども行うFull Node、そして採掘を行うマイナーが含まれます。もう一つはBitcoinの開発者。Bitcoinオープンソースソフトウェアの一つであるため、もちろん開発者グループが存在しています。

 

Bitcoinの変更プロセス

まず、誰かしらがBitcoinの仕組み変更の提案(Pull Request)をして、それを開発者グループのコアメンバーと呼ばれる人が承認(Merge)し、マイナーがその仕組みを受け入れることで仕組みの変更が行われます。仕組み変更の提案は誰でもできますが、コアメンバーかマイナーがアイデアを拒否すると仕組み変更は発動されないため、アメンバーとマイナーの選出が民主的なプロセスに則っているかが、Bitcoinを民主的ということができるかどうかのキーポイントだと言えます。ちなみに最近では Segwit導入が95%以上のマイナーの受け入れを条件に発動されましたが、マイナーの多くがまだ受け入れておらず、発動が延期されている状態です。

cryptocoin.hatenablog.com

 

アメンバーとマイナーの選出プロセス

さて、構成員とプロセスを整理したところで、権力を保持しているコアメンバーとマイナーの特徴を考えていきます。

 

まずコアメンバーについては、これは完全に民主的ではありません。今現在Bitcoinのコアメンバーは、 Bitcoin UnlimitedとBitcoin Coreに別れてしまっていますが、いずれにせよ民主的なプロセスで選出されたメンバーではなく、Bitcoinスタートからの中心メンバーであるにすぎません。

 

一方、マイナーはどうかというと、こちらについては資本力のあるものがその資本に応じて投票権を持つ一種の制限選挙状態になっています。現在では通常のPCではマイニングが全くできず、実質ASICという専用ハードウェアによる採掘が必須であることから、当然Lightweight Nodeの皆さんはマイナーに参加できません。

 

さらに、最近ではマイナーが中央集権化しているという意見もあり、投票権の寡占化が進んでいると言えます。

「ビットコインは中央集権化している」ハーバード大の研究者らが発表 - CoinPortal

 

結論と提言

ということで、我々Lightweight Node集団(=一般大衆)は、専制君主制同様何の権力も持っていない状態です(笑)。専制君主制と唯一異なる点は、一種の目安箱(徳川吉宗で有名なあれ)のような改善要望を出す権利が認められている点ですが、地方自治における解職請求権のような、コア開発者やマイナーの解職請求権は持ちあわせていない状態です。Bitcoinの世界は民主的というよりは、フランス革命前後にブルジョワジー(マイナー)が台頭してきて、王(コアメンバー)と貴族として取り立てられたブルジョワジー(マイナー)が両立している状態に近いといえます。

 

唯一、Lightweight Node集団に残された手段はBitcoinネットワークを見捨てて、現実の通貨や他のコインに乗り移ることです(現実世界における革命)。革命の発生はイコール、Bitcoin世界の終焉を意味するため、コアメンバー、マイナーとしてはなんとか防ぎたいインセンティブが働きます。そのため、そのような変更は行われづらいとは思いますが、開発者・マイナーと一般利用者の思惑が大きく異なる場合にはその問題が顕在化するおそれがあります。

 

より安定的な仕組みにするためには、少なくともFull Nodeには変更にあたって投票権を持たせることが考えられます。Full Nodeはマイナーが採掘したブロックの検証などを行うため、一定程度の計算量を求められますが、マイナーのコスト負担と比べるとたいしてことはないため、誰でも参加することができます。もちろん意識せずに変更後のバージョンにアップデートしていないNodeもいることから、投票にあたっては過去の取引状況などでアクティブ状況が一定程度上回った場合のみ投票権を持つというスキームが考えられます。

 

まとめ

少し批判的な論調でBitcoinを書きましたが、今までのところは開発者は誠意を持ってBitcoin界を引っ張っており、BIPという意見収集の仕組みにより充分なコンセンサスを取ったうえで、Bitcoinプログラムの変更を行っています。ただ、現在のガバナンス体制はコアメンバー内で意思決定が割れた場合や、一部のメンバーが辞職した場合に途端に綻びを見せる体制であるということは認識しておいたほうがいいでしょう。現在も、Bitcoin UnlimitedとBitcoin Core派に分裂しており、将来的にはBitcoinのハードフォークを引き起こす懸念もあります。

 

日本でのBitcoinの第1人者である大石さんは、ヴェンサス・カサーレスの言葉を引用して、「私たちは、私たちによる、私たちのための、私たちが管理する、初めての通貨を手にしたのだ。」と述べています。つまり、政府債務削減のために通貨価値の希薄化やインフレを発生させることが現実世界ではありますが、Bitcoinでは通貨発行量が固定で決まっているため、中央銀行による恣意的な介入を回避できるということをポイントにあげています。

 

そのような意味においては確かに既存通貨に比べると民主的なのかもしれませんが、通貨発行量自体もコア開発者とマイナーによるハードフォークによって変更可能だという点は注記しておく必要があるでしょう。

 

追記 2017年3月4日

実際にETC (Ethereum Classic)では開発者グループによる、発行量調整が行われました。

www.cryptocoinsnews.com

 

将来的にBitcoinを崩壊させるのは、テクノロジーそのものではなく、そのガバナンス体制にあるのかもしれません。

 

暗号通貨の上場ゴール問題とその規制

2016年に爆進したMoneroを調べようと以下のYoutubeの動画を見ました。見ていて何か似たようなものを見たことがあると思ったら、IPO(新規上場)前のベンチャー企業のロードショー(IPO承認後の投資家向け説明会)みたいだなと気づきました。MoneroがBitcoinのプラバシーに関する問題を克服したものであるというコインそのものの優位点の説明だけでなく、開発体制についても半分近くの時間を費やして説明している点が印象的です。


Monero Talk at Bitcoinference

 

今回は暗号通貨とIPOの類似点とその問題点を考え、そこに対する規制の現状、あるべき姿を考えてみたいと思います。ちなみにMoneroを例に書いていますが、Moneroをおとしめる意図はありません!

 

暗号通貨の上場ゴール問題

Moneroの歴史を簡単に振り返ると、thankful_for_todayというニックネームのメンバーが2014年4月に最初にコインを作り出しました。その後、thankful_for_todayが他メンバーの意見を聞かなくなったことから、現在のコア開発メンバーがMoneroをFolkして別のブロックチェーンを生み出したのが現在のMoneroです。

Moneroの開発メンバーは7名でしたが、それ例外にも25名のContributorや協力者がいて、Moneroのアップデートを続けています。

 

当然この中心メンバーはMoneroにほぼ全力を傾けているため、開発を続けるには資金が必要になります。資金源は基本的には募金で賄われているようですが、今後も開発を続けるには、継続的にMoneroの価値をあげて、コイン(≒株式)を公開市場で取引して現在保持しているMoneroを売却するなどして利益をあげる必要があります。もちろん、個人間でも暗号通貨の取引はできますが、株式同様公開市場での取引の方がはるかに簡単に取引のマッチングが可能です。

 

ベンチャー企業の上場の場合には、上場前に引受証券会社や取引所による審査があります。近年は上場ラッシュで審査があまく、以下のような事件も起きていますが、基本的には上場不適合な企業は上場できない仕組みができあがっています(例えば、詐欺を働いているような犯罪企業や、ネズミ講企業など)。

diamond.jp

 

さらに、当然ながらベンチャー企業の場合は本業によって収益をあげてそれを運営資金とするということができますが、暗号通貨の場合には自分の開発した通貨を他の通貨(円、ドルだけでなく、Bitcoinなども含む)に変換することで"上場ゴール"する以外に収益化の方法がないため、詐欺行為や体制が不十分な状態での取引所上場に対するインセンティブが働いてしまいます。

 

それに対して、第三者が最後の歯止めとしての役割を果たせているかというと、暗号通貨の上場の場合には、当然引受証券会社はなく、取引所の審査も法律で縛られているわけではないので、コイン利用者にその利用可否の審査が委ねられている状態になってしまっています。

 

日本における暗号通貨規制の現状

個人的には、審査を個人以外の第三者が行った上で公開市場に流通させることで、コイン利用者が詐欺に遭う可能性を減らしてあげることが、暗号通貨の普及にあたっては重要になると考えています。

 

日本でその規制を主に担うことになるのは、資金決済法及び監督官庁である金融庁です。

www.itmedia.co.jp

仮想通貨に対する改正資金決済法等の動向と課題|2016年7月号|金融ITフォーカス|刊行物|NRI Financial Solutions

 

2016年5月の法改正(6月4日公布、1年以内に施行予定)により、仮想通貨の取引所が登録制になり、原則として登録していない取引所は仮想通貨の取引が禁止されることになりました。またこの法律の制定をうけて、金融庁が取引所規制の内閣府令の案を提出しており、ガイドラインの中で以下のように述べています。

(I-1-2 仮想通貨交換業の該当性及び取り扱う仮想通貨の適切性の判断基準)当局は、仮想通貨交換業に係る取引の適切性及び取り扱う仮想通貨の適切 性等について、申請者に対して詳細に説明を求めるとともに、認定資金決済事業者協会の 公表する情報等を参考としつつ、登録の申請の審査等を実施する
つまり、認定資金決済事業者協会の情報をもとにして、取引所の登録申請時に取り扱っている仮想通貨の妥当性を金融庁が審査したうえで、取引所としての登録を認めるということです。当然登録された後も、金融庁による定期的な監査の中で取り扱い対象通貨に対する監査も含まれることが予想されることから、日本国内においては詐欺行為を目的とした暗号通貨の流通に一定の歯止めがかかることが予想されます。
 
このことは、一部のアナーキーな界隈では政府による介入と批判的に受け止められていますが、私としては暗号通貨を一般に広めるうえで重要なポイントになるかと思います。利用者のコインへの知識、ITへの知識に関わらず、あるレベルまでは安全性を保証することで(もちろん完全な保証はIPO同様無理ですが)、暗号通貨の裾野を広げることができると考えているからです。
 

まとめ

以上のように、これまで無秩序だった暗号通貨の取引に、2016年は一定の規制が加えられた年でした。今年中には施行になるので、認定資金決済事業者協会がどのような暗号通貨を取引対象として適切と判断するかは、注目していきたいと思います。
 
ちなみにMoneroについては、coincheckやKraken(2017年1月3日から)など限られた取引所のみで取引されていますが、取引内容を第三者が見れないことが強調されたコインであるため、取引所の取り扱いコインとして適切ではないと判断される可能性が高いのではないかと考えています。 

Bitcoinを安全に使うための基礎知識

Bitcoinの安全性を理解するため、今回はどのような場合にBitcoinを盗まれてしまうのかを、トランザクションの観点から説明していきたいと思います。

 

なお、今回の記事は以下の記事の知識+公開鍵暗号の概要理解を前提としています。

cryptocoin.hatenablog.com

より詳しいトランザクションの解説はこちら。

cryptocoin.hatenablog.com

 

上記記事で述べた通り、トランザクションは「受取人のBitcoinアドレス」、「送金額」、「送金者の情報」という3つの情報を組み合わせることで成り立っていました。

 

つまり、「受取人のBitcoinアドレス」と「送金額」に対して、「送金者の持つ秘密鍵で署名する」ことで、送金者以外の第三者が、送金者になりすまして送金をしていないということを証明しています。

 

ここから以下の疑問が生まれます。

  1. 秘密鍵が送金者のものであることをどのように証明しているのか」
  2. そもそも秘密鍵が漏れ出してしまったときの対処法はあるのか」

 

秘密鍵が送金者のものであることをどのように証明しているのか

Bitcoinで使用されている公開鍵暗号方式は、秘密鍵と公開鍵がペアになっています。この暗号方式には面白い点があり、「公開鍵で情報を”暗号化”すると、対応する秘密鍵のみで解読できる」という点と、「秘密鍵で”署名”すると、対応する公開鍵でのみその秘密鍵で署名されたことがわかる」という、暗号化と電子署名の両面を実現することができる仕組みになっています。

 

Bitcoin電子署名に即して考えると、送金者が秘密鍵を利用して署名した送金情報は、送金者の公開鍵でしか検証できないから、送金者の公開鍵で検証できた場合には、この送金情報は間違いなく送金者によって生み出されたものだということができます。

 

と、ここで話が終われば簡単なのですが、まだ話は続きます。送金者の「公開鍵」が送金者の「秘密鍵」のペアであることを、どのように証明できるのでしょうか?

 

例えば悪意を持った第三者が「これが送金者の公開鍵だから使ってくれ」といって、その人の秘密鍵で署名した送金情報の検証に使用させた場合、送金情報を偽装することができてしまいます。

 

従来は、この公開鍵の配布には、PKIと呼ばれる中央集権的な仕組みを利用していました。中央集権的なPKIとよばれる機関に公開鍵の情報を登録して、PKIがその公開鍵が本当に送信者のものであることを証明していました。

 

しかし、Bitcoinにこの仕組みを導入してしまうと、分散型の仕組みに中央集権的な混在することになってしまい、PKIが悪意を持った場合にBitcoinの仕組みが崩壊してしまいます。言い換えると、PKIが単一障害点になってしまいます。

 

この問題の解決のため、送金時に送付されてきた公開鍵が、前回の取引でBitcoinを受け取ったBitcoinアドレス(=公開鍵にハッシュ関数をかけたもの)と一致しているかを検証しています。トランザクションを受け取ったノードは、送付されてきた公開鍵にハッシュ関数をかけて送信者のBitcoinアドレスと一致することを検証します。こうすることで、偽の公開鍵を利用した不正送金を防いでいます。

 

そもそも秘密鍵が漏れ出してしまったときの対処法はあるのか

結論から書くと、秘密鍵が漏れ出してしまった場合の対応方法はありません。たとえば、2013年にはBitcoin秘密鍵の情報を保持しているQRコードをテレビのキャスターが放送してしまい、Bitcoinを盗まれてしまうという事態が発生しています。

gigazine.net

 

これを防ぐには、一般的には秘密鍵を無効化するということが考えられます。前述したPKIを使用している場合には、PKI上でCRL (Certificate Revokation List)とよばれる無効となった公開鍵を管理する仕組みがあるため、PKIに申請を行うことで秘密鍵の無効化が可能です。

 

翻ってBitcoinを見てみると、PKIのような中央集権的な仕組みはないためこの手法をとることはできません。考えられるのは、CRLをブロックチェーンに組み込んでしまうことですが、無効化するアドレスに蓄積されているBitcoinをどのように取り扱うかを考えると、「漏えいしたアドレスから急いで別のアドレスに退避する」という現在の方法が、結局のところ理にかなっているかと考えています。

 

以下のサイトでは、ブロックチェーンにおけるPKIを提唱していますが、以上のロジックから実現は難しいかと、私は考えています。

www.cybertrust.ne.jp

 

まとめ

秘密鍵が漏えいしない限りは、トランザクションのなりすましは不可能であることがわかりました。そのため、

  • 秘密鍵を漏えいしないための管理
  • 漏えいした場合にすぐに送金できるためのバックアップアドレスの用意

の2点がBitcoinをセキュアに使うためには重要になってきます。相場は上昇していますが、秘密鍵が漏えいしたら利益もふっとんでしまうので、みなさん秘密鍵の管理はぬかりなく!

リアル通貨に比べた暗号通貨利用の2つのメリット

Bitcoinの相場が2017年も引き続き上昇し、ついに1000ドルの壁を突破しました。Bitcoinは投資目的で語られることも多いですが、実際の取引でもいくつかの点でリアルな通貨(円、ドルなど、Flat Currency)や送金手段に比べて優れている点があります。

今回は、Bitcoinに代表される暗号通貨の実取引上のメリットをまとめてみました。

 

1) セキュアな取引

ご存知の通り、現在最も一般的なオンライン取引での決済手段は、クレジットカードです。しかし、クレジットカードを利用した取引の場合には、クレジットカード番号、セキュリティコード(CVVなどと呼ばれている3桁のコード)など秘密情報をインターネットを経由して送信しなければいけないという危険性があります。

 

通常、ネットワークレベルの暗号化の仕組みである、SSLなどを使用して取引の安全性を担保していますが、SSL脆弱性がある場合や情報送信後に送信先から流出した場合には、自分のクレジットカードを使用されてしまうおそれがあります。事実送信先から情報が流出した事件は毎年起きており、2016年に発生した以下の事件ではセキュリティコードも含めての情報流出が疑われています。

www.itmedia.co.jp

 

一方、Bitcoinなどの暗号通貨を使用すると、Bitcoinの流出につながる"秘密情報"を送らなくても取引を行うことができます。

簡単に理由を説明すると、Bitcoinトランザクションには「送信者の情報」、「送信額」、「送信先」という大きく3種類の情報が含まれており、「送信者の情報」はセキュリティ用語では署名と呼ばれています。その送信者が"署名"を行ったかどうかは世界中の誰もが検証できますが、署名自体は送信者のパソコン内部で行われるので、署名に必要な秘密情報を外部に発信する必要がありません。

 

Bitcoinトランザクションの関する説明 

cryptocoin.hatenablog.com

 

ちなみにこの署名に公開鍵暗号方式とう暗号理論を使用しているため、一般にBitcoinなどの仮想通貨一般は暗号通貨(Crypto-Currency)と呼ばれています。よく勘違いされてますが、「暗号によりプライバシーが保護されるから暗号通貨と呼ばれている」わけではありません(むしろBitcoinは全トランザクション情報が公開される仕組みになっているため、非常に透明度の高い仕組みになっています)。ちなみに公開鍵暗号自体はIT系の技術者なら誰でも知っているものであり、Bitcoinによる発明ではありません。

 

2) すばやく安価な送金

日本国内での送金の場合は日銀内の当座預金残高を銀行間で付け替えるだけで送金が完了するため、即座にそして安価に送金が完了します。しかし、国際送金の場合は数日かかってしまう場合が一般的です。例えば、楽天銀行を例に挙げると、送金完了までに送金を実施した日+1〜3日時間がかかってしまいます。

 

これは、国際送金の場合には相手行に送るまでにいくつかの金融機関(コルレス口座)を中継するパターンが一般的であるためです。これにより、送金完了までには時間がかかってしまうだけでなく、最悪途中の中継銀行で資金が止まってしまうことすらありえます。

RTGS(即時グロス決済)とは何ですか? : 日本銀行 Bank of Japan

コルレスバンク - Wikipedia

 

これに対して、Bitcoinを使用すると約10分で送金が完了できるうえ、送金がキャンセルされてしまうリスクを受信者が負担する場合は、即座にBitcoinの送金が完了します (zero-confirmation transactions)。また、手数料についてもほとんど無視できる金額で送金が可能です。仮に10分待つとしても、通常の国際送金に比べて圧倒的に早く、そして安く送金ができるため、主に新興国での需要が高まっています。

 

ただ現在は送金されたBitcoinをそのまま店頭で使用することがほぼできないため、実際にBitcoinを送金してから現地で使えるようになるまでには、1日から2日程度かかると想定されます。また、Bitcoinから現金に変換する過程で仲介手数料を取られるケースが多いため、送金手数料も数百円ほどかかってしまうのが現状のようです。例えば、取引所サービスを運営しているbitFlyerの場合は、216円から756円の出金手数料を課しています(2017年1月現在)

 

bitflyer.jp

 

今後、店頭でもBitcoinでの支払いを認める企業が増えた場合には、この問題も解決されていくと想定されますが、そうなるにはまだまだ時間がかかりそうです。何より、Bitcoinを法定通貨として認めている国はごくわずかであることから、企業にとっては支払い手段として認めることは大きなリスクとなっています。店頭での支払いを本格的に普及させていくには、いくつかの判例を通してBitcoinの法的位置付けが明確になっていくことが必要かと思います。

 

ちなみにですが、日本国内でもBitcoinの支払いを認めるお店は徐々にではありますが増えてきているようです。

日本のビットコインが使えるお店(ビットコイン決済対応店舗) | Bitcoin日本語情報サイト

 

3)まとめ

Bitcoinにはセキュアな取引とすばやく安価な送金手段という二つの実際上のメリットがあります。そのほかにも中央機関による金融操作や、預金封鎖などを通した資産の収奪リスクが低いことは、新興国などの政情不安定な国で生活するにあたってはメリットになります。

 

しかしながら、政情不安定な国が多いアフリカ地域では、インターネットの普及率も依然として30%を下回っています。そのような国でのインターネット普及が今後進むかどうかは、Bitcoinが投資だけでなく、実生活に根付いたものとして普及するかどうかの大きな決め手のひとつといえるでしょう。

www.garbagenews.net

 

 

参考サイト

www.coindesk.com

Ethereum基礎 どのようにプログラムが実行されるのか?

以前の記事に書いた通り、Smart Contractとは国や登記所、銀行などの中央機関の執行なしで、事前に取り決めたプログラム(Contract)を執行する仕組みです。今回は、Smart Contractの実行基盤として注目されているEthereumの基礎的な仕組みをまとめたいと思います。

 

Smart Contractに関してはこちらもどうぞ

cryptocoin.hatenablog.com

 

そもそも中央機関がないと何がいいの?

中央機関なく執行できることのメリットは以下の2点に集約されます。

  1. 中央機関維持のためのコスト削減
  2. 取引信頼性の向上(中央機関による恣意的な運用の排除、ダウンタイムの削減)

 

中央機関維持のためのコスト削減

中央機関を置いて取引の安全性を担保するためには、当然中央機関を担う人件費やシステム投資費用がかかってきます。それに対して、Ethereumを使用すると、取引のたびに取引手数料(gasと呼んでいます)がかかりますが、固定費としてかかる費用は発生しなくなります。

 

さらに、中央機関を置く場合は取引種類ごとにそれぞれを担当する中央機関を置く必要があります(例えば、お金の決済には銀行、不動産登記には登記所)が、Ethereumは様々な取引(プログラム)を管理するプラットフォームとしての役割を持っているため、取引種類が増えたとしても新たなプラットフォームを構築する必要はありません。

 

以上の理由から、Ethereumを採用することで、取引コストが削減されると期待されています。

 

取引信頼性の向上

信頼性の向上はビジネス的な観点と、システム的な観点の両面から説明できます。

 

まず、ビジネス的な観点では中央機関が恣意的に契約条件を変更するなどの運用ができなくなるため、取引の透明性が向上します。

 

システム的な観点では、分散的な仕組みを採用しているため、あるノードが壊れたとしても、他のノードが生きている限り取引を継続することができるため、耐障害性が中央的な機関に依存する方式よりもすぐれています。もちろん、中央的な機関内でシステムの耐障害性を高めることも可能ですが、中央的な手法をとっている以上耐障害性の向上には限界があり、またコストもより多くかかってしまうのが現状です。

 

Ethereumの仕組み -Bitcointとの違いをベースに-

それでは次に、Ethereumの特徴を確認していきたいと思います。

 

Ethereumは上で述べた通り、分散型アプリケーションのプラットフォームとして設計されています。コンピュータに例えると、EthereumはOSにあたるもので、その上に様々なアプリケーションを搭載できるように設計されています。これにより、アプリケーション間の連携を促進できたり、アプリケーション作成の高速化が期待されています。

 

EthereumをBitcoinとの比較で考えると、大きく異なるのは以下の点です。

  1. アカウントの構造
  2. トランザクションとメッセージの構造

はじめに概略を書くと、各アカウントはトランザクションを生成することで、メッセージをContractに送信し、メッセージに応じてContractで定義された条件が執行されます。

 

アカウントの構造

アカウントはEOAと呼ばれる通常のアカウントと、Contractと呼ばれる契約執行のためのアカウント(=プログラム)に分けられます。EOAはBitcoinにおけるアドレスとほぼ同義で、それぞれのEOAの残Ether (Ethereum上のCoin)がいくらであるかを管理します。

 

一方、Contractは契約条件を記載したプログラム(正確に言うと、データとファンクション、JavaでいうClassのイメージ)のことであり、各EOAはこのプログラム内のファンクションをメッセージを通して呼び出すことで、契約を執行することができます。ちなみに、Contract自体もEthereumを管理するアドレスを持っているので、Contract独自にEthereumを保持することが可能です。

 

なお、大きなBitcoinとの違いとして、Ethereumの場合はブロックチェーン上にアカウントの最新の状態が記録されます。Bitcoinの場合はUTXO(未使用の過去のトランザクション)の合計値がそのアカウントの保持するBitcoin額となるわけですが、Etherumの場合は単純にブロックチェーン上の当該アカウントの残etherを見れば残高が分かる仕組みになっています。

 

トランザクションとメッセージの構造

Bitcoinでいうところのトランザクションは、Ethereum上も同様にトランザクションという名前で扱われます。ただ、Ethereumを理解するためには、トランザクションに加えて”メッセージ”というコンポーネントを理解する必要があります。

 

Bitcoinトランザクションには、「送信者の署名」、「送信するBitcoin量」、「受信者のアドレス情報」が記載されています。そして、そのトランザクションを束ねたものを、ブロックとしてブロックチェーンに接続することで取引を永続化していました (=Bitcoinの二重譲渡が起こらない)。

 

詳しくはこち

cryptocoin.hatenablog.com

 

EthereumではBitcoinで管理している情報に加えて、Contractに受け渡す引数(Message)を保持する形で、トランザクションブロックチェーンに記録されて永続化されます。つまり、Bitcoinトランザクションを通してBitcoin送信先に送っているのに対して、EthereumではEtherとMessageの2つのコンポーネント送信先に送っているわけです。

 

例えば、ある引数を渡すと、それを2倍にして返すContractを想定してみます。

 

この場合、トランザクションの中で5というValueをMessageに指定してこのContractに送信すると、Contractが実行されて、10という戻り値を返してくれることになります。このとき、Contractに対して必ずしもEtherを送る必要はありません。ちなみに、Contractをはじめて作成する際も、トランザクションを通してContractが作成されます (ブロックチェーン上にContractを永続化する必要があるため)。

 

ちなみに、Ethereum上でContractを実行するには、トランザクションを経由する方法以外に、Callと呼ばれる方法もあります。Callの場合は、Contractが保持している情報を変更せずに読み取るだけなので、変更された情報を全ノードにブロードキャストするというステップがなくなり、Etherを消費しないという特徴があります(=マイニングが行われない)。

 

Transaction = プログラムの作成、変更、状態変化を伴う実行

Call = 状態変化を伴わない実行

 

上の例でいうと、本来であればトランザクションを作成する必要はなく、Callするだけで戻り値を取得できます。

ethereum.stackexchange.com

 

参考

Ethereumに関する基本情報(Whitepaper)。ただ、メッセージやトランザクションなどは、この記事だけだとイメージしにくい。

github.com

 Whitepaperの次にこの記事を読むと、メッセージやトランザクションなど内部的な話の理解につながるかと思います。

github.com

2016年 暗号通貨時価総額ランキング トップ5

2016年はBitcoinではSegwitの導入、EthereumではThe DAOの事件などいくつか事件がありました。2016年6月時点での取引量ランキングをまとめた以下の記事では、Ethereumが2位、The DAOが5位と高いポジションにありましたが、2016年末時点で仮想通貨の世界でどのような順位になったかを振り返ろうと思います。

 

2016年6月時点の情報

gigazine.net

生データはこちら

coinmarketcap.com

 

2016年末時点 暗号通貨時価総額ランキング (カッコ内は2016年6月時点)

1位 Bitcoin (1位) 155億ドル 1BTC=961.4ドル

2位以下と2桁以上の差をつけて、圧倒的な王者であることを見せつけたBitcoin。時価総額も2016年6月時点の約109億ドルから1.5倍に上昇しています。ちなみに時価総額155億ドルは日本円に換算すると約1.8兆円になり、三菱重工や住友商事、キリンHDなどとほぼ同じ時価総額になります。

www.nikkei.com

 

最近のBitCoinの価格上昇に関する分析はこちら。

cryptocoin.hatenablog.com

 

2位 Ethereum (2位) 7.1億ドル 1ETH=8.15ドル

2位も前回同様Ethereum。しかし、時価総額は前回15億ドル程度あったのが、約半分の7億ドルと半年で半減しています。これは、The DAO事件の影響で6月にEthereumの価値が暴落したこと、Ethereum自体がハードフォークによりEthereum (ETH)とEtherum Classic (ETC)の二つに分裂してしまったことが原因としてあげられます。ちなみにEthereum Classicはランキング6位 (1.2億ドル)と依然として暗号通貨の世界で大きな割合を占めています。

bebesan.net

 

時価総額が大幅に低下したものの、依然暗号通貨の世界では2位の時価総額をキープしているため、Smart Contractの実行基盤として引き続き注目を集めています。ちなみに、The DAOは前回5位でしたが、価値は暴落しこの半年で事実上暗号通貨の世界から消えてなくなってしまいました。

 

3位 Ripple (4位)  2.4億ドル 1XRP=0.006ドル

3位はRipple。前回は4位でしたが、時価総額自体は前回の調査からほとんど変わっていません(前回は約2億ドル)。どちらかというと前回3位だったLite Coinの時価総額が若干前回よりも少なくなったことが、順位上昇の原因と言えます。

 

4位 Litecoin (3位) 2.2億ドル 1LTC=4.38ドル

4位に前回3位のLitecoinがランクインしました。LitecoinはBitcoinの代替通貨とよばれており、Bitcoinが前回から大きく時価総額を伸ばした一方、代替通貨であるLitecoinへの資金流入が限定的であったのではないかと想定されます。

 

RippleやLitecoinに関する簡単な解説

bitcoin-matome.info

 

5位 Monero (不明) 1.9億ドル 1XMR=13.62ドル

Moneroは前回調査から急上昇したコイン。Bitcoinが他人の取引履歴を誰でも見ることができるのに対して、Moneroは他人が取引履歴を見ることができないため、より匿名性が高い設計になっています。

ここまで匿名性を高めた設計になると、当然薬物売買やマネーロンダリングなどの需要があるため、規制当局が黙っていないはずです。短期的には急上昇していますが、リスクは他のコインに比べて高いため、安易に購入することはあまりオススメできません。

btcnews.jp

 

2017年1月1日追記

直近のチャートを見ると、12月26日時点では1.3億ドル程度であったのが、翌々日には約2億ドルに急騰していたようです (https://www.coingecko.com/ja/時価総額/monero/usd/90日)。急騰の原因は不明です。

f:id:steinith310:20170101130054p:plain

 

2016年年末時点ランキング(Crypto-Currency Market Capitalizations

f:id:steinith310:20170101120124p:plain

まとめ

いかがだったでしょうか。まとめてみると、上位陣は様々なことがありながらも順位は大きく変動せずという結果でした。ただ、Bitcoinの一人勝ちという感じが大きく、Bitcoinの代替とよばれるアルトコイン系はあまりぱっとしない半年だったようです。

 

Segwit導入により引き続きBitcoinの優位性は保たれていくことが想定されますので、私は来年もBitcoinが1位、その次をBitcoin以外の機能を持つコイン(Smart Contract実行基盤としてのEthereumなど)が追うという構図は変わらないと予想しています。

 

ちなみに、2016年6月時点では日本発のCoinであるMonacoinが44位にランクインしていたと書かれていましたが、年末時点では63位と大きく順位を下げています。時価総額自体も212万ドルから105万ドルと約半減しており、他のコインと比べると魅力度が下がってきているようです。

 

最新記事(2017年3月時点情報)

cryptocoin.hatenablog.com

 

Segwitの効果 Third Party Malleabilityへの対応

Segwitが2016年11月15日に公開され、95%以上のマイナー(採掘者)がSegwit導入版のBitCoinプログラムを承認した場合、SegwitがBitCoinの世界に導入されます。本日時点(2016年12月31日)では約30%のマイナーが承認した状態で、SegWitの導入にはもうしばらく時間がかかりそうです。

bitcoincore.org

 

Segwitの目的は大きく二つあります。ひとつはThird Party Malleability(別名、Transaction Malleability、トランザクション展性)と呼ばれる脆弱性への対応、もうひとつはScallability問題への対応です。

 

BitCoin界では後者のScallability問題への対応が大きく取りざたされていますが、一つ目のThird Party Malleability問題への対応も2015年に対応しようとして失敗した経緯があり、今回対応が成功するかどうかは非常に重要な節目となります。

 

今回の記事では、Third Party Malleabilityへの対応にフォーカスして話をすすめます。

 

Third Party Malleabilityとは

BitCoinトランザクションの基礎の基礎はこちらにまとめていますので、参照してください。

 

cryptocoin.hatenablog.com

 

さて、BitCoinトランザクションはそのままでは扱いづらいため、トランザクションにSHA256と呼ばれる手法で256桁の一意な識別子(ハッシュ値)を付与しています。この識別子のことを、transaction id、略して"txid"と呼びます。なお、ハッシュの特徴として、元となるデータが少しでも変更されると、ハッシュ値も大きく変わる性質があります。

 

Third Party Malleabilityはトランザクションの一部分に誰でも変更を加えられることができてしまう脆弱性のことをさしています。ただし、受取人や金額は変更できず、変更できる部分は取引とは直接関係しない部分になります。しかし、トランザクション自体は変更されてしまっているため、そのハッシュ値であるtxidは変更されてしまいます。

 

受取人や金額は変更できないことから、すべての人が信用できる状態であれば問題となりにくいですが、以下のような場合が問題になります。

bitcoincore.org

 

if Alice pays Bob in transaction 1, Bob uses that payment to pay Charlie in transaction 2, and then Alice’s payment gets malleated and confirmed with a different txid, then transaction 2 is now invalid and Charlie has not been paid. If Bob is trustworthy, he will reissue the payment to Charlie; but if he isn’t, he can simply keep those bitcoins for himself.

 

AliceがBobにTransaction1で支払いを行った後、BobがCharlieにTransaction1で支払われたBitCoinを使用してTransaction2の支払いを行ったとする。このとき、Aliceの支払い(Transaction1)が変更され、txidが変更された場合、Transaction2は無効となり、Charlieへの支払いがなかったことになってしまう。もし、Bobが悪意をもっていなければCharlieに再支払いをするだけであるが、Bobが悪意を持っていた場合、BobはCharlieへの支払いをなかったこととしてAliceから送られたBitCoinを保持し続けることができる。 

 

Third Party Malleabilityへの対応

現在のトランザクションは2つの部分からなっており、ひとつはトランザクションそのもの、つまり受取人や金額に関する情報部分、もうひとつはBitCoin送信者の署名部分に分けられます。

 

Third Party Malleabilityで変更されうる(Malleable)箇所は、後者の署名部分のみであるため、この署名部分をトランザクションから切り離し、Witnessと呼ばれる領域に移すことが対応のポイントとなります。

 

この対応が承認された場合は、Third Party Malleabilityの脆弱性はなくなるため、BitCoin取引の安全性が高まります。また、この対応には副次的な効果もあり、トランザクション量を削減できることから、1ブロックに詰め込むことができるトランザクション量を増やすことができ、BitCoinの取引量が増えた場合でも取引が停止しないようにすることができるようになります(Scallability問題)。

 

ちなみに以前にもこの問題に対応しようとしたことはありましたが(BIP62)、このときは考えられる攻撃をリストアップして、それに対して個別にSolutionを検討するというアプローチをとったため、他の攻撃手法が開発された場合防ぎきれないという問題点があり、採用にはいたりませんでした。今回のアプローチはより根本的な解決策であるため、今回のアップデートが承認されることを願います。

 

BIP62に関するGitHubの情報

github.com

 

参考

www.coin-portal.net 

bitcoinmagazine.com

Bitcoin超概要 トランザクションとブロックチェーンの役割と違い

「ブロックチェーンはBitcoinの裏側の仕組みで、ブロックチェーンはBitcoin以外の暗号通貨でも使用されている。」

 

このことは多くの方が理解されていることだと思いますが、そもそもBitcoinにブロックチェーンが必要な理由とはなんでしょうか。

 

そもそも金銭の授受ってどんな要素がある?

そもそも金銭の授受(=Bitcoinのやりとり)ってどのような要素が絡んでくるのでしょうか。金銭の授受の原因としては、売買契約の対価、贈与などいくつかの法律行為があげられますが、Bitcoinとしては特に金銭授受の原因にはタッチせず、純粋に金銭の授受にフォーカスした仕組みになります。

 

一般に、金銭の授受には、以下の要件を満たす必要があります。

  1. 金銭が受信者に受け渡されること
  2. 授受が送信者に承認されていること
  3. 金銭が送信者から存在しなくなること

 

トランザクションとブロックチェーン

ブロックチェーンを理解するにあたって、まず個々のBitcoinの取引はどのように管理されているかを知る必要があります。この個々の取引は、Bitcoinの世界ではトランザクションと呼ばれています。

 

トランザクション

トランザクションBitcoinの受け渡し履歴になっています。具体的には、以前のBitcoinの保持者が誰であったのか、新しいBitcoinの保持者が誰であるのかという情報に加えて、以前のBitcoin保持者がその取引に同意したという情報が含まれています。

 

お気づきになられた方も多いかと思いますが、この記事の最初に触れた「金銭の授受を成立させる要素」は、ブロックチェーンではなく、このトランザクションで実現されています。

 

それでは、ブロックチェーンの役割はどんなことなのでしょうか?

 

ブロックチェーン

ブロックチェーンは、ある取引が当事者だけでなく、第三者から見ても成立していると確信させるために存在しています。専門用語でいうと、対抗要件を具備することが目的です。

 

通常の金銭であれば、お金そのものを持っていることが対抗要件になります。例えば、私が100円玉を持っていたらそれは私のものですよね?(詐欺などで手に入れたことも考えられますが、そういった違法行為があったとしても今私がその100円玉を持っているという事実は変わりません。)

 

一方、Bitcoinの場合は現実のお金のような実態(モノ)はないので、ひとつのBitcoinを複数人に譲渡する行為、すなわち二重譲渡が発生する可能性があります。しかし、Bitcoinは現実には1つしかないということにしておかないと、無限にBitcoinが増殖してしまうので、どちらが正当な取引なのかを判別する必要があります。このとき、正当な取引であると取引外の第三者に主張できる条件を”対抗要件”といいます。

 

現実世界では、不動産取引に代表されるように、”登記”という仕組みを使用して対抗要件を規定していることが多いですが、Bitcoinで登記を利用してしまうと中央集権的な仕組みになってしまい、Bitcoinが持つ分散的な仕組みを活かすことができません。そこでBitcoin開発者が考えたのが、ブロックチェーンという仕組みです。

 

ひとつのブロックには複数のトランザクションが含まれています。そして、ブロック"チェーン"というくらいなので、"ブロック"がいくつも連結された状態で保持されています。ブロックをブロックチェーンの最後のブロックに接続していくことを”マイニング”といいます。マイニングは複数の人が同時に行うので、時としてチェーンが枝分かれして複数生まれてしまうときがあります。このときどのブロックチェーンが正当なものであるかを判別する方法は単純で、最も長いチェーンが正当なものとしてブロックチェーンの世界では扱われます。

 

つまり、自分のトランザクションが含まれるブロックが最も長いチェーンに含まれている場合は、そのトランザクションは第三者に対抗できる状態ということができます。ここで当然考えられるのが、その後長いチェーンが入れ替わってしまったら自分のトランザクションは無効になってしまうのではないかという疑問です。

 

ここがBitcoinの面白いところで、当然別のチェーンの方が長くなってしまうことはあるのですが、自分のトランザクションを含むブロックの後ろに複数のブロックが連結された場合(一般に6ブロック程度と言われています)、その後で別のチェーンが自分のチェーンよりも長くなる可能性は限りなく低くなっています (PoWという仕組みで実現していますが、それについてはまた別の機会で説明します)。

 

まとめ

Bitcoinの金銭授受情報はトランザクションに記載されていますが、二重支払いを防ぐためにブロックチェーンを使用して、第三者がトランザクションの正当性を検証できるようにしています。

 

 

海外駐在員の投資について

海外駐在員になってからの悩み。それは日本で投資が継続できないことでした。ここで投資といっているのは、ネット証券会社を通した株式投資のことを指しています。

 

法律上は申告などを正しく行えば問題がないようですが、証券会社内の自己規制として国外居住者(もちろん日本の非居住者となった海外駐在員を含む)については、新規株式取引はもちろんのこと、既存株式の保持も認めていないようです。

理由は税金の申告面がやっかいなようで、基本的には国内源泉所得となり課税対象になりますが、租税条約の有無などにより扱いが異なるため、業務上の手間やリスクをおそれて株式取引を全面禁止にしているのが現状のようです。

No.1936 海外転勤中に株式を譲渡した場合|所得税|国税庁

 

とはいえ、これまでは住所を実家などにして取引をしている人もいたようですが(念のためで申し置きしておくと、私はしていませんよ笑)、来年(2017年)からCRSの導入により証券会社は口座保有者の居住国の特定義務が生じるようになったため、ごまかしが効きづらくなることが想定されます。

マイナンバー制度も導入されていることから、少なくとも自己名義での取引は今後完全に不可能となることが想定されます。

http://www.nta.go.jp/sonota/kokusai/crs/pdf/02.pdf

https://海外送金税金.com/blogs/commentary/共通報告基準(crs)に基づく自動的情報交換の動/

 

個人的には海外在住でも取引できるように、証券会社には頑張ってスキームを考えてほしいものです。。。

 

代替手段として、海外の証券口座を開く、現地の定期預金口座を開設する(東南アジアの新興国インドネシア、マレーシアなど)であれば利率3%以上)などいくつか方法はあるかと思いますので、アップデートしていきます。

 

海外駐在時の投資に関して、税制面のまとめはこちら。

cryptocoin.hatenablog.com

 

インドネシアでのBitcoin投資については、こちらの記事もどうぞ。

cryptocoin.hatenablog.com

 

Bitcoinの相場高騰 3つの理由

2016年も残すところあとわずかですが、ここにきてBitCoinの価格変化がとまりません。現在時点で1BTCあたり、約960ドルまで高騰しています。

f:id:steinith310:20161228154237p:plain

BTC USD 証券株式相場 | ビットコイン ドル 相場

 

これはドルベースですが、最近は円安の影響もあり円Bitcoinレートで換算すると1BTCあたり約110,000円まで高騰しています。つい数ヶ月前まで、60,000円程度で推移していたことを考えるとものすごい高騰です。

 

アメリカのBitcoinニュースサイトでは、2017年に向けてBitcoinが1000ドルを突破すると予想しており、その予想が現実のものになろうとしているように思えます。

www.newsbtc.com

このサイトでは、Bitcoinの相場が高騰する要因を5要素にまとめていますが、もう少しシンプルに以下の3要素で説明できるかと思います。

 

Bitcoin価格高騰 3つの理由

1) 実需の増加

新興国での送金需要やインフレ懸念のある自国通貨からの逃避などを通して、実需が増加しています。特に、Bitcoinの長年の課題であったBitcoin利用がこれ以上に拡大した場合の問題(Scalability問題)がSegwit採用の投票開始によってリスク低下したことから、今後実需面での需要は増加していくものと考えられます。

 

Segwitに関する記事はこちら

cryptocoin.hatenablog.com

 

ただ、SegWigが採用されるかどうかはMinerの投票にかかっており、現時点では採用される確信はだれも持てていない状況です。今後この対立が加速し、Unlimited派とCore派(SegWit派)に分裂してしまったときには、Bitcoin価格の下落要因になりえます。

 

2) 投資資金の流入

中央銀行による金融政策の影響を受けない点、また供給量が漸減していく点が投資家に魅力的であるため投資資金が流入していると説明しています。2点目については同意見ですが、1点目についてはイコールリスクでもあるため、個人的には懐疑的です。

 

Bitcoinの値動きの特徴

以下の記事では、Bitcoinの値動きの特徴を、主にBitcoinの供給の観点からまとめています。Bitcoinの供給曲線は通常の財とは異なる特徴を持つので、値動きが荒くなりがちです。

cryptocoin.hatenablog.com

 

3) 投資基盤の確立

投資基盤として取引所サービスが充実してきています。日本だけでも、昔はbitFlyer、Zaifなどと限られた取引所だけであったのが、今では10以上の取引所が設立されるなど基盤が確立されてきています。

取引所 - ビットコインの入手 | Bitcoin日本語情報サイト

 

ただ、2017年5月頃に資金決済法が改正される予定で、現在暗号通貨の取引所はマネーロンダリング対策、KYC (Know Your Customer)など規制対応を迫られています。株式やFXの取引所なみの規制が加えられる予定のため、今後の取引所ビジネスへの新規参入は鈍化することが予想されます。

まとめ

実需の増加、投資資金の流入、投資基盤の確立がBitcoinの価格上昇の要因ということでした。しかし、いずれの観点でも大きなリスクが潜んでおり、2017年に入ってから上昇傾向が続くと言い切ることは難しい状況です。

 

特にSegwitの導入が遅れたり、導入が見送られた場合は、Bitcoinコミュニティの対立が加速し、最終的にBitcoin自体が2つに分裂するおそれもあります(ハードフォーク)。その場合にはEthereumがEthereumとEthereum Clasicに分裂したときのように、価格が大幅に下落することも考えられます。

 

とはいえ、暗号通貨には既存の通貨にもない大きなメリットもあるので、引き続き状況をウォッチしていきたいですね。

cryptocoin.hatenablog.com