【 丑三つ刻の囁き LISK編 】
【 丑三つ刻の囁き LISK編 】
2017年 4/23 blogを開始。
暗号通貨マニアのランです。
現在 ブロックチェーン技術は世界を巻き込んで、すごいスピードで金融の世界を変えています。
遠くない将来、学校の授業で教えていく必要があると考えています。
仕組みを作る側も、教える側も、覚える側も、ついていくのが大変な時代に突入すると本気で思っています。
少しでも誰かの為になれば嬉しいな。
ーーーーーーーーーーーーーーーーーーーー
夜中に目が覚めました。
明日の朝、liskという暗号通貨に関しての生放送があるそうです。
おそらくラン以外の方でも、この情報を入手したマニアの方がいるかと思います。
テレビで放映されたら、値上がりするんだろうなぁ〜
買い増そうかな〜
現在 1枚 63.2円。
でも、めんどくさい(笑)
世間のほとんどの方がliskを知らない。
暗号通貨に興味ある人でも知らない。
暗号通貨を保有している人でも、あまり知らない。
LISKを保有している人でも、本当の価値を知っている人は、これまた少ない。
先日世界の暗号通貨の時価総額ランキングを調べた時は、21位でした。
今は、もう少し上がってるのかな?
調べてない〜
liskという暗号通貨の単位はLISK。
単位は大文字。
良く覚えてね。
ゴールデンウイークに生放送されたら、どんなことになるんでしょうね〜
気が向いたら、コインチェックという取引所でアカウント作ってコンビニで入金するといいですね。
早いのでお勧め。
手数料高いけど。
コインチェックのblogの内容にliskについて触れているので、引用させていただきますます。
めっちゃ長い引用ですが、かなりわかりやすいです。
たぶん。
『 要約すると、セキュリティに特化しているということ。』
blog書いてたら、丑三つ刻が過ぎちゃったwww
以下、引用っす!
ーーーーーーーーーーーーーーーーーーーー
Liskとは
2016年5月に本番ネットワークでの運用が開始された仮想通貨です。Microsoft Azureとパートナーシップを結んだことが話題になり、2016年8月現在で時価総額約25億円に成長しています。DPoSと呼ばれるコンセサンスアルゴリズムを採用しています。
Liskを支える技術
サーバサイドアプリケーションにnode.js、データベースにPostgreSQLが採用されています。コアな部分はC++で実装され独自のデータベースをローカルストレージ上に構築する仮想通貨が多いなか、web系のエンジニアにとって馴染みやすい仮想通貨です。nodeの豊富なライブラリを導入することで他の仮想通貨に比べ驚くほど少ないコード量で実装されています。
アカウント作成時に起こっていること
Liskにおけるアカウント作成はランダムな128bitのデータを生成することに過ぎません。アカウント作成時にランダムな単語のリストはmnemonicと呼ばれ、次回のログイン時に必要になります。単語リストはBIP39と呼ばれる仕様で定義されたもので、12個の単語の羅列が128bitのデータ量を持っています。これを元に秘密鍵と公開鍵を生成し、さらに公開鍵からアドレスを生成します。秘密鍵、公開鍵はすべての取引の署名に使います。アカウントの残高はブロックチェーン上に記録してあるのでP2Pネットワークのどのノードでログインしても同じアカウントで送金が可能です。mnemonicからアドレスに関するすべての鍵情報が決まるので、他人に教えてしまうとすべての権限を譲り渡すことになります。
Liskにおけるアカウント作成はランダムな128bitのデータを生成することに過ぎません。アカウント作成時にランダムな単語のリストはmnemonicと呼ばれ、次回のログイン時に必要になります。単語リストはBIP39と呼ばれる仕様で定義されたもので、12個の単語の羅列が128bitのデータ量を持っています。これを元に秘密鍵と公開鍵を生成し、さらに公開鍵からアドレスを生成します。秘密鍵、公開鍵はすべての取引の署名に使います。アカウントの残高はブロックチェーン上に記録してあるのでP2Pネットワークのどのノードでログインしても同じアカウントで送金が可能です。mnemonicからアドレスに関するすべての鍵情報が決まるので、他人に教えてしまうとすべての権限を譲り渡すことになります。
ちなみにLiskでは電子署名にエドワーズ曲線デジタル署名アルゴリズムの「ed25519」という実装を採用しています。
LiskのWebUIは現在対応していませんがBIP39では日本語の単語リストも規定されています。
送金ボタンを押した時に起こっていること
送信者はトランザクションと呼ばれるオブジェクトを生成し、Liskネットワーク上の、他のノードにPOSTします。トランザクションには送金元アドレス、送金先アドレス、送金額と送金者の公開鍵と電子署名が含まれています。電子署名を含めることで送金者にしかトランザクションが生成できないことが担保されます。ブロックに取り込まれていないトランザクションはノードからノードへと伝播していき、ブロック生成者まで到達するとブロックチェーンに取り込まれ送金が確定します。送金確定まで時間がかかりそうな印象を受けますが実際には数秒後には到達します。ブロック生成者は生成したブロックを同じように他のノードにPOSTしてネットワーク上に伝播させていきます。ブロックチェーン上には過去のすべての送金履歴が残っているのでアドレスの残高を計算するときはすべての送金履歴を足し合わせていきます。
最上位にブロックがあり、ブロックにトランザクションが紐づき、さらにトランザクションが送金以外のデータに紐づいています。
まずは中核をなすトランザクションからみていきましょう。トランザクションには送金額、送金先のアドレスと送金者による署名が記録されています。アドレスの残高の増減にかかわる情報はすべてトランザクションに記録されています。DappにはLisk上で動作するアプリケーション、DelegateはDPoSのための情報が記述されていますが残高の増減には直接関係ないので別テーブルに切り出されています。別テーブルに切り出しているのはトランザクションのデータ量を節約するためとトランザクションに拡張性を持たせるための工夫でしょう。残高が増減するのはユーザ同士の送金だけでなくブロック生成者への投票などいくつかパターンがあります。トランザクションの種類の違いをTypeで区別しています。
次にブロックを見ていきます。ブロック生成者のところにはブロックに取り込まれていないトランザクションが次々に飛んできます。それぞれのトランザクションの内容に不備がないことをチェックしたうえでトランザクションのリスト全体に自分の署名を施しブロックを生成します。全体のダイジェストを計算してブロックIDにして、ひとつ前のブロックを参照する形で鎖のようにつなげていきます。gitのコミットログのように途中のデータが少しでも違えば、その後のブロックのハッシュは全く異なるものになっていくわけです。ブロック生成者には送金手数料と生成の報酬が手に入ります。