スマートコントラクト・DAG・非中央集権などのブロックチェーン周りの技術の話

2018.01.15

どうも、hikaruya8 です。

仮想通貨。世間を賑わしてますね。
ただ今日は仮想通貨が儲かる・儲からないって話ではなく、仮想通貨を支える技術について書きたいと思います。

※ここから先は筆者の理解が浅かったりして間違っている情報もあるかもしれません。もしあればご指摘いただければ幸いです。

ブロックチェーン

まずはブロックチェーンについて。これは仮想通貨の代名詞とも言えるビットコインの根幹を支える技術・考え方です。
ブロックチェーンはその名の通り、取引のデータ(トランザクション)をまとめたもの「ブロック」を「チェーン」のように連なって保存されることを言います。

P2P方式 (分散型取引台帳)

ブロックチェーンが今までと違うのは、金融機関が一手に管理するのではなく分散しておりユーザー同士で管理しているという点です。

ブロックはハッシュ関数で暗号化

さて取引データ(トランザクション)はもちろん暗号化されなければいけません。どうするかというと、一定数の不規則な文字列(ハッシュ値)を生成します。これをハッシュ関数といい、生成された文字列は元のデータを読み取れない不可逆性を持っています。
ブロックのデータにはハッシュ関数で暗号化された取引データと直前のブロックデータのハッシュ値が含まれています。この時、直前のハッシュ値と、ナンス値(使い捨てのランダムな数字)を見つけ出すことで整合性が取れ、それを承認と呼びます。

取引履歴は公開されている

全ての取引履歴は時系列で公開されています。これは取引の履歴は記録されても内容の詳細は確認できません。この取引履歴が公開されるという点も不正がしづらい要因の一つでしょう。

マイニング

先ほど承認という言葉を使いましたが、この承認作業は膨大な計算をしなければならず、その作業のことをマイニング(採掘)と言います。ビットコインはこのマイニングに関してPoW(Proof of Work) という仕組みを採用しており、その名の通り仕事量(Work)が多ければ恩恵が与えられます(ビットコインがもらえます)。ちなみにこの他にPoS(Proof of Steak)、PoI(Proof of Importance)、PoC(Proof of Consensus)といった仕組みもあります。

サトシ・ナカモト

ちなみにブロックチェーンはサトシ・ナカモト(ハンドルネーム: 実際はだれか分かっておらず、日本人かどうかも不明です)がビットコインに関する論文をネット上で発表したのが始まりです。
うーん、こんなの考えるなんて天才です。個人的には日本人だったら嬉しいですね。

ブロックチェーンのメリット

ここまでブロックチェーンの仕組みに関して書いてきましたが、これらの仕組みによる凄さは3つあります。

1, 非中央政権

そのうちの一つが非中央政権という特徴です。P2P方式 (分散型取引台帳)のところでも書いたのですが、これはつまり一元管理しなくてよいということです。例えば今までセキュリティが強固な必要のあるシステム(銀行など)は中央集権型でした。しかしブロックチェーンの仕組みであれば大量のユーザーがブロックチェーンを共有するため、何かあってもすぐに復旧できるのです。
また
中央集権とは違い、管理者が独裁的に管理できないというのもユーザーにとっては大きな安心材料となります。
(※ ちなみにブロックチェーンの考え方とは裏腹にビットコインは現在では非中央政権とは言い難くなっています。気になる方はBTC BCH マイナー 争い 等でググると出てくると思います。)

2, 海外送金の低コスト化

銀行などの金融機関を通さないため、海外送金の低コスト化がはかれます。
(※ただビットコインは諸々の理由により、最近は手数料が跳ね上がってしまいました。送金は他の通貨を使ったほうがいいですね。)

3,  データの改善が不可能

上記で説明した仕組みにより、データの改ざんは実質不可能です。マウントゴックスの事件は有名ですが、あれは取引所が不正をしただけで、実際のブロックチェーンやビットコインのデータが改ざんされたわけではありません。
ちなみに取引所が破産や不正をし、ビットコインなどが取引所から引き出せなくなることをGOXしたとか言いますw

ブロックチェーンから派生した技術の話

ブロックチェーン等の革命的な理論が発表されると、もちろんそれに派生した考え方が出てきます。
それがスマートコントラクトDAG(Directed Acyclic Graph)等です。

スマートコントラクト

上のブロックチェーンに関しては主にビットコインなどの通貨に関してのメリットについて書きました。このブロックチェーンの理論を契約や登記など社会のインフラに応用できないかと考えられたものの一つとしてスマートコントラクトがあります。
スマートコントラクトはその名の通りコントラクト(契約)をスマートに行えるプロトコルのことをいいます。具体的にはコントラクト(契約)の自動化を目指した理論で、契約の条件確認から履行までを自動で実行できるようにしようというものです。ブロックチェーン上でスマートコントラクトが実行されれば契約が改ざんされず、他人を介さずに契約ができるというわけですね。
実はこのスマートコントラクトの考え方自体はブロックチェーンよりも前に出てきていて、それの最初の事例は自動券売機と言われています。あくまでブロックチェーン上でスマートコントラクトを応用すると良いのではないかという考え方です。
ちなみにスマートコントラクトの考え方を使用した環境を提供するものの一つとしてEthereumがあります。

DAG(Directed Acyclic Graph)

ブロックチェーンに取って代わるのではないかと言われている理論もあります。それがDAG(Directed Acyclic Graph)です。日本語に訳すと有向非巡回グラフ・・・だそうです。これだけだとわけが分からないですよね。
DAGは具体的には下図のような理論で、これによりスケーリングに優れていて、トランザクションが多くなっても耐えられると考えられています。

引用:Wikipedia

DAGの考え方が使用されているものとしてIOTAやByteball等があります。
ただ僕の疑念はセキュリティ的な問題とフォーク(分裂)したときにどうなるかということです。これよく分からないので、だれか知ってる方いたら教えて頂ければありがたいです。

最後に

いかがでしたでしょうか。世間では「仮想通貨・ビットコインが儲かる!」という話も増えてきました。それは否定はしないのですが、ブロックチェーン等の技術周りの話は個人的には革命的でとても面白いと思うので、ぜひ一度見てみると楽しいと思います。

国内でも仮想通貨取引所を運営する企業など、徐々にブロックチェーンまわりの求人も出てきていますね。

読んで頂きありがとうございました! 宜しければ、エンジニアの皆様はFindyでご自身のスキル偏差値を測定してみてください。

[正社員の方]
ハイスキルなエンジニアのプレミアム転職サービス Findy

[フリーランスの方]
フリーランス・副業エンジニア向けの単価保証型の案件紹介サービス Findy Freelance

また、Findyでは年齢や勤務形態を問わず、様々な働き方で採用をしています。興味のある方は、こちらからご応募どうぞ!

Findyブログを購読してみませんか?
エンジニアの働き方やFindyの技術的な話などをお送りします!

GitHub連携するだけで、スキルを解析。
スキル偏差値やプロフィール情報を基に、人気のテック企業からオファーが届く

https://findy-code.io/
  • Category

  • About

  • Service

    フリーランス・副業向け
    単価保証型案件紹介サービス

    ハイスキルなフリーランス・副業エンジニア向けに案件紹介

    https://freelance.findy-code.io/
    ハイスキルなエンジニアの
    プレミアム転職サービス

    スキル偏差値が高いエンジニアに、人気のテック企業からオファーが届く

    https://findy-code.io/
    リアルタイムAI求人票採点サービス

    AIを使ってリアルタイムに求人票を採点

    https://findy.us/