Timesホーム当サイトについてニュースブロックチェーンソーシャルFacebookページTwitterLINE@お問い合わせ各メディア・ICOデベロッパーの皆様へブロックチェーンに関する様々な情報を発信するキュレーションサイトです。menuホームブロックチェーントランザクションの形式・構造を知る【Bitcoinを理解する-3】ブロックチェーン2017.09.1トランザクションの形式・構造を知る【Bitcoinを理解する-3】さて、前回では秘密鍵と公開鍵についてお伝えしました。「Bitcoinを理解する」シリーズ3回目は、トランザクションの情報についてお伝えします。前回の記事をまだご覧になっていない方は、ぜひ下記リンクからご覧ください。前回ではマイニングについてお伝えしましたが、所有の所在は鍵・アドレス・署名によります。今回はそれらについてお伝えしていきます。前回の投稿についてはこちらです。4....トランザクションは、Bitcoinシステムの中でも「核」ともいえる要素です。マイニングやブロック形成など様々な特徴があるBitcoinですが、基本的にこのトランザクションなくして他の要素は成立しえません。トランザクションとは何かというと、つまるところ、Bitcoinシステムに参加している人々のもつ情報価値の移転をエンコードした「データの構造」ともいえます。それらは常にオープンな状態であり、パブリックであるため、誰でも閲覧することが可能な取引の記録そのものです。実際に、トランザクションがどのように発生し、検証し、記録の一部になりうるかを知っていきましょう。目次1.トランザクションの流れ2.生成3.ネットワークへ4.伝達5.構造1.トランザクションの流れトランザクションは基本的に生成から始まります。この段階でトランザクションには署名(プライベートキーの入力)がされます。署名をするとは、「Bitcoinアドレスの中にある資金の保有者がその資金を送りますよ」という意思を入力することです。大半のアドレスでは見えない形でこの行為が実行されています。署名というものは、アドレスにある資金を利用する許可を発生させるということです。その次にビットコインネットワーク(いろんなトランザクション情報やブロックがある場所)へつながり、伝えられます。その後にそれぞれのノード(Bitcoinネットワークへの参加者)に検証され、(ほとんどの)ノードに行き渡ります。最終的にマイナーらにも検証され、ブロック(台帳の中)に記録されます。基本的にブロックの中に組み込まれ、他のブロックとつながる、つまりブロックチェーンに記録されたとき、ほぼ改ざんは難しくなり、ネットワークに受け入れられます。その情報(=通貨)はまた次の所有者にも「カネ」として利用されます。2.生成トランザクション自体は、小切手を例に考えるとイメージを浮かべやすいです。トランザクションは、「ビットコインを送信するよ」という意思を表すもので、実際に利用されるまではビットコインのシステムからは認識されないものです。小切手同様に、トランザクションをつくりあげる人=トランザクションへ署名している人である必要はありません。いうことかというと、口座への正規の署名している人ではなかったとしても、トランザクションを「作る」ことは可能ということです。具体的に例を考えてみましょう。口座へアクセスすることができる人間は、銀行の社長による署名がはいった小切手をつくることができます。言い換えれば、ビットコインアドレスにアクセスができる人が、Bitcoinのトランザクションを作ることができ、トランザクションを有効にする署名を用いることが可能ということです。小切手は、資金がある口座に情報を参照する一方で、ビットコイントランザクションは、ビットコインアドレス(口座)ではなく、「その前に行われたトランザクションを」参照にします。することで、トランザクションは有効と認められ、送金に必要な情報が含まれていることになります。このトランザクションは、ビットコインネットワークに伝わり、マイナーによってブロックチェーンの一部となります。3.ネットワークへブロックチェーンに紐付けされるためにトランザクションはまず、ビットコインネットワークに届けられなければなりません。ビットコインのトランザクションは、300〜400バイトというデータを持ちます。(1)何万件もあるビットコインノード(ビットコインネットワークを支える中継点や、端末(スマホやPCなどのマシン))のうちに、どこか一つの点(ノード)に到達しなければなりません。送信側はいくつか複数のビットコインノードに広がっていくので、ノード(端末)それ自体を「悪意がある端末」かどうかを随時チェックする必要はありません。その送信者が「どんなの人なのか」ということにもこだわりません。端末(ノード)側でも、送信者がいったいどこの誰なのか、ということを気にする必要もありません。トランザクション自体には「署名」がされており、まったく重要な情報をもっているわけでもないため、広げる方法自体はなんでもかまいません。これが可能なので、ビットコインのトランザクションは、Wifi、Bluetoothなどを利用して、送信することが可能ということです。「ビットコインを送信するよ」という意思表明をしているという情報が、どれか一つのノードに伝わればよい、ということです。逆を言うと、いかなる方法を用いてでもノードに送信する意思がつたわれば、他の誰にも邪魔される心配をする必要がない、ということです。(1)バイト(byte)・・・情報の容量・大きさを表す。バイトとは、情報量の単位で、8ビットと等しい情報量である。1ビットが2通りの値を取ることができるので、1バイトは2の8乗通り、つまり256通りの値を表現することができる。「ビットコインを送るよ」という意思表明をしている人が、他のネットワークにいる人(ノード)に伝わった場合、その確認をした人(ノード)は、それが「間違いのない確かなもの」だということが確認できると、その人(ノード)は別の人(ノード)にもこのトランザクション情報を共有します。ここで同時に、成功したということが、ビットコイン送信者のもとに返事としてかえってきます。このトランザクションが無効である場合、失敗・認められないという意思がネットワークから返されます。一つのノードは複数のノードに接続しており、常にその状態が保たれています。そのためにノードそれぞれに「優れている」・「劣っている」という順位のようなものはありません。有効と認められた新しいトランザクションは、接続されたノードがトランザクションを送るまで、それぞれの近隣ノードは他のノードにも「トランザクションの情報」を伝えるため、ゆっくりと波打ち際に波がくるようなイメージでビットコインネットワーク内にトランザクションの情報が行き渡ります。5.構造トランザクション自体は、前に送金された情報(インプット)から、送り先(アウトプット)への価値の移転を記号化しています。ビットコインは情報というものが、通貨としての役割を果たしているというものです。いかがでしたでしょうか。専門用語が羅列していますが、時折()を入れて伝えてみましたが、ビットコインの専門用語とその仕組みは、新たな仕組みであるため、一つずつ丁寧に理解していくと全体理解に繋がります。今回はトランザクションについて詳しく述べていきましたが、次回もトランザクションのことについてお伝えしていきます。話題となっているICOのChangeですが、こちらは現在確認することが...ブロックチェーンDapps(自律分散型アプリケーション)とは何か。今回はDappsとは一体どういうものなのかについて説明していきます。2017年9月6日、日本銀行(以下、日銀)は欧州中央銀行(以下、ECB...ブロックチェーントランザクションのインプットとアウトプットとは【Bitcoinを理解する-4】さて、以前はビットコインの基本的な仕組みについてお伝えしました。Bitcoin、Ethereum、Blockchain、スマ...2017.09.5Dapps(自律分散型アプリケーション)とは何か。...今回はDappsとは一体どういうものなのかについて説明していきます。関する共同調査【日本...トランザクションのscriptとScript言語とは?【Bi...【ICOを読み解く】ChangeはERC20トークン準拠・A...マクロの視点でBlockchainの動向を理解する。Dapps(自律分散型アプリケーション)とは何か。公開鍵・アドレスを知る【Bitcoinを理解する-2】ブロックチェーントランザクションのscriptとScript言語とは?【Bitcoinを理解する...マイニングBitcoinにおけるマイニング(採掘)とはそもそも何なのか。