読者です 読者をやめる 読者になる 読者になる

fedoraxのブログ

人工知能(AI)、ブロックチェーン、プログラミングネタ、ITニュースネタなどについて書いています。

DragonBoard+IoTアプリコンテスト meet up!に参加してきました。

こんばんわ、fedoraxです。

昨日、「DragonBoard+IoTアプリコンテスト meet up!」に参加してきました。

f:id:fedorax:20170514215439p:plain


抽選で28名にDragonBoadが無料で頂けるということなので、応募してみたら抽選に当選していました。

会場は、横浜の岩崎学園。土砂降りの雨の中ノートパソコンを片手に、乗り込んできました。
すでに、山積みのDragonboard.

f:id:fedorax:20170514215832p:plain

そして、ひとつDragon Boardをいただきました。

f:id:fedorax:20170514220052p:plain

さて、コンテストに向けてアプリを少しずつ作っていくか。。。

Blockchainの技術要素

Blockchain の技術要素

Blockchainは大きく4つの技術要素の分類できます。

分散台帳

前回の記事でもご紹介しました、Blockchainといえば分散台帳が一番の技術要素になります。 Blockchainネットワーク上の取引結果はブロックとして分散され、各端末の台帳に記録されます。

暗号化技術

Blockchainのブロックは暗号化されて台帳に記録されています。
これは、Blockchainネットワークには認証局が存在し、公開鍵と秘密鍵を発行します。 証明書の発行は、ユーザの証明書だけでなく取引が行われるたびにもトランザクション証明書が発行されています。 さらにトランザクション結果のブロックには、前のトランザクションハッシュ値が記録されておりブロックが数珠繋ぎになっています。

コンセンサス(合意形成)

トランザクションの結果は、コンセンサスが取れた結果のみ分散台帳に記録されます。 コンセンサスの取り方は、Blockchainのプラットフォームによって異なります。

長いものを正とする

Bitcoinや、Ethereumなどの誰でも参加可能な(オープン型)Blockchainはこちらを採用している場合が多いです。 具体的には、別々のサーバ上で同時にブロックができた場合、次のブロックが先にできたほうを正とします。 そのため、Bitcoinは10分以内にマイニングした最初の人がBitcoinを得られる仕組みになっています。

すべての端末で合意された場合に正とする

Blockchainネットワークに参加されるすべての端末で同じ結果が得られた場合に分散台帳に記録します。 この場合は、はじめから限られた端末のみ(コンソーシアム型・プライベート型)Blockchainネットワークへの接続を許可することで、端末台数を減らし合意形成が得られる時間を短縮しています。 そのため、Bitcoinに比べて取引に掛かる時間を短縮することが可能です。

スマートコントラクト

契約条件・ビジネスルールなど組み込む仕組みです。 このルールを元に、トランザクションの結果が正か否かを判別します。

Blockchainについて語ってみる

どうも、fedoraxです。

突然ですが、Blockchainについて語りたいと思います。

Blockchainとは

「Blockchain (ブロックチェーン)」と聞いて、先ずはじめに連想されるのが、「Bitcoinビットコイン)」ですよね。 「Bitcoin (ビットコイン)」と言えば、「仮想通貨」ではないでしょうか?

確かに、「Blockchain」は「Bitcoin」から生まれた技術ですが、一旦、言葉を整理したいと思います。

Bitcoin

Bitcoinの公式ページには以下のように説明されています。

Bitcoin mining is the processing of transactions on the Bitcoin network and securing them into the blockchain.
(What is Bitcoin Mining and How Does It Work)

つまり、BitcoinはBlockchainのセキュアなネットワークを活用して、トランザクション(取引)を行うことなのです。

Blockchain

BitcoinWikiには、Blockchainについて以下のように説明されています。

A block chain is a transaction database shared by all nodes participating in a system based on the Bitcoin protocol.
(Block chain)

つまり、BitcoinのBlockchainは、Bitcoinプロトコルを使って、Bitcoinネットワークに参加している端末間でシェアされるトランザクションのデータベースのことなのです。
もっと簡単に言うと、Blockchainは「トランザクション(取引)」の「分散台帳」のシステムとも言えますね。

さらに、Blockchainの語源は、以下のように説明されています。

トランザクション(取引)が成立するたびに、トランザクションの記録を一つのブロックにまとめて、そのブロックをチェーン(鎖)のようにつなげて保存したもの

なるほど、だから「Block」:(取引の記録) -「Chain」: (鎖のように繋げて保存すること)というのですね。

Blockchainとセキュアネットワーク

ここで、ひとつの疑問が残ります。
「なぜ、Blockchainはセキュアなネットワークなの?」  

その答えは、Blockの構造とChainとして保存する仕組みにありました。
Blockの中には、トランザクションの結果として毎回、トランザクションハッシュ値が記録されています。 さらに、チェーンとして保存するために、ブロックの記録の中には、前の記録のハッシュ値も保持されています。 そして、ブロックはデータベースに格納され、ネットワークに接続された端末(ノード)上に分散して管理されています。

よって、従来の一元集中管理では、ある取引のひとつの記録を改ざんすることで、改ざんが成功していましたが、 分散管理されたネットワークでは、たとえ1台のノードで改ざんされたとしても、ネットワーク全体の改ざんが成功したとは言えませんよね。

だから、Blockchainはセキュアなネットワークだったんですね。

転職したので突然ブログをはじめてみる。

どうも、fedoraxです。

 

突然ですが、昨年の年の瀬に転職しました。

転職理由はいろいろありますが、「最先端の技術を使って仕事がしたい」が一番ですかね、だって新しい技術とかって楽しいじゃないですか。

 

特に、最近の「先端技術」といえば、「AI」ってことで、今は「AI」の仕事をしています。あと、「Blockchain」の仕事もやっております。

 

ってなわけで、気が向いたらブログを書いていこうと思います。