ブロックチェーンの処理速度の計算式

こんにちは、ロードローラーです。本日はブロックチェーンの弱点といわれている処理速度についてまとめました。





現在のブロックチェーン仕様では最大7tps(取引/秒)

まず、ブロックチェーンのキラーコンテンツであるビットコイン仕様では最大7tps(取引/秒)とされています。これはどのようにして計算されているのでしょうか?

ポイントは以下3点です
・ブロック承認時間
・最大ブロックサイズ
・トランザクションの平均サイズ

ブロック承認時間
採掘者たちによってブロックが生成されるまでの経過時間。

採掘と呼ばれるブロック生成作業は、Nonce値を総当たりで変更しながらハッシュ計算を繰り返して、条件を満たすハッシュ値を見つけ出すというマシン処理性能にモノを言わせた単純作業です。そのため条件設定によって難易度を調節できます(例:ハッシュ値の先頭にゼロがX桁並ぶなど)。こうしてブロック承認時間を設定します。

ブロック承認時間は長すぎると取引がいつまでも完了しません。かといって早すぎると同時に採掘完了するユーザが大量発生してしまい、ブロックの正当性確認や合意形成のプロセスに時間がかかり過ぎてしまいます。これらの背景からバランスが重要と言われています。

最大ブロックサイズ
1つのブロックに格納できる取引データ量。

ブロック承認時間が10分だった場合に、10分間に最大ブロックサイズを超える量の取引が発生すると、ブロックに格納しきれず後回しにされてなかなか完了できない取引が出てきます。実際にブロックサイズ問題はビットコインで顕在化しており、ブロックサイズを大きくするための議論が何度もされています。

トランザクションの平均サイズ
1取引あたりのデータ量。これは特に説明不要ですね。


というわけで、現在仕様と照らし合わせてこれらを基に計算すると
・ブロック承認時間:600秒
・最大ブロックサイズ:1MB
・トランザクションの平均サイズ:250Byte
 
1,024 × 1,024(バイト)/(250(バイト)× 600(秒))≒ 6.99(取引/秒)
 
ただしトランザクションの平均サイズが300Byteとも言われていて、計算しなおすと
 
1,024 × 1,024(バイト)/(300(バイト)× 600(秒))≒ 5.83(取引/秒)
 

…………遅っ!!!

※ちなみにVISAカードの性能は最大45,000tpsと言われていて、このことからもブロックチェーンが比較的に遅いのがよくわかります。

 

ブロックチェーンの活用案として、開発用にユーザ情報やセンサ情報を取引するといったことが提案されていますが、そのためにはプライベートブロックチェーンにして仕様変更しないと難しいのかもしれませんね。。。

※ここでいう仕様変更とは
(1)最大ブロックサイズを増やす
(2)トランザクションのサイズを削減する
(3)ブロック承認時間を短くする

過去のブロックチェーン記事

Kabylake+Z270搭載ボードでUbuntuを立ち上げるとイーサネットが繋がらない

こんにちはロードローラーです。タイトルに記載した通り、開発用にGPU搭載マシンを購入したのですが、OSインストールを終えた時点でネット接続できないという問題がありました。どうやらイーサネット(NIC)が認識されていない様子。

試行錯誤の末に解決しましたが、非常に疲れた。。。。同じトラップによる被害者を減らすべくここに記します。


Intel公式サイトからドライバ(Linux用)をインストール

ドライバ
https://downloadcenter.intel.com/ja/download/15817/-PCI-E-Linux-

インストールされていることは以下コマンドから確認できます

 

しかし、ドライバインストールしたにもかかわらず繋がらない。のコマンドで確認したところドライバは入っているのに、、、なぜ??


問題はサムチェック

アレコレと試行錯誤を繰り返した結果、サムチェックが問題と分かりました。

まずダウンロードしたファイルから「nvm.c」を開きます。

次にサムチェック関数(e1000e_validate_nvm_checksum_generic)が動作しないように中身を空にします。似たような名前の関数がたくさんあるので注意してください。

 

編集が完了したらファイルを閉じて以下コマンドを実行。

これでイーサネット認識して無事にネット接続できました。

Ubuntuで日本語入力が突然できなくなった時の対処法

こんにちはロードローラーです。

プログラマや開発者では『急におかしくなった!!』、『何もしてないのに動かなくなった!!』というのはご法度ですが、それでも意図せず変な異常事態に直面することは頻繁にあります。

その1つがUbuntuで日本語入力が突然できなくなるという現象です。

対策は以下のコマンドを実行して、ibusを再起動することです。

だいたいこれで解決します。

SORACOMのサービスを辿るとトレンドが見えてくる

株式会社ソラコムは、MVNOのデータ通信 SIMや、AWSを活用したクラウドサービスによって、IoT のためのモバイル通信とクラウドを一貫して提供する企業です。少ない初期コストによって人気を集めています。

既にたくさんのサービスを展開していて(各サービスは頭文字が『A』からアルファベット順になっている点が面白いですね)、これらのサービスの歴史を辿ることでIoT業界のトレンドやニーズが非常に明確にわかってきます。

(画像:https://soracom.jp/)


『A』:SORASOM Air

格安のSimカード。携帯電話用と異なり初期費用が小さく、IoTのような通信データ量が少ない場合に安く手軽に利用可能。様々なデバイスに通信機能を持たせてIoTを開始したいという需要に応えたサービスといえる。

(画像:https://soracom.jp/)


『B』:SORASOM Beam

デバイスからクラウドに収集したデータを、ユーザ端末から取得する際の経路を暗号化するサービス。デバイスからクラウドへの通信はSORACOM Airを用いるとモバイル閉域網なのでセキュリティ安全性が高い。その一方で、ユーザ端末からクラウドにアクセスするときにはインターネットを経由せざる得ないためセキュリティ対策の需要がある。それに応えたサービスといえる。


(画像:https://soracom.jp/)


『C』:SORASOM Canal

世界で最も利用されているクラウドサービスことAWS。IoTで収集したデータをクラウド上に構築したアプリケーションで利用したいという顧客は多い。この場合はSORACOMクラウドと顧客クラウドとのセキュアな接続が必要となる。そのときにインターネットを経由してしまうとセキュリティの懸念が出てくるので、インターネットを経由せずにAWS内の閉じた環境でクラウド同士を接続するサービス。というのも、そもそもSORACOMクラウドはAWSをベースにしているので、こういうことも可能であろう。

(画像:https://soracom.jp/)


『D』:SORASOM Direct

IoTで収集したデータを用いたアプリケーションをクラウドではなくオンプレ環境(例えば本社サーバ上など)に構築するユーザもいる。そういったオンプレユーザ向けのセキュアな専用線接続サービス。SORACOM Canalのオンプレ版ともいえる。

(画像:https://soracom.jp/)


『E』:SORASOM Endorse

通信回線が安全になっても、接続相手が誰かわからなかったり、なりすましがあったり、未知のデバイスが勝手に繋がってしまっては困る。そのためにデバイス認証機能を提供するサービス。認証にはSIMを用いる。

(画像:https://soracom.jp/)


『F』:SORASOM Funnel

IoTで収集したデータを用いたアプリケーションをクラウドに構築したといっても、全ユーザがAWSを使っているとは限らない。クラウドのビッグスリーであるAWS、GCP、Azureについて、SORACOMクラウドとセキュアに接続させるサービス。SORASOM Canal が AWS以外にも対応したVerといえる。(ただ、内容を見てみるとAWSとの接続に比べてGCPやAzureとの接続は若干粗末に見えてしまう。)

(画像:https://soracom.jp/)


『G』:SORASOM Gate

デバイスからクラウド、そしてクラウドからユーザ環境へとデータが送られる。その逆方向の通信を可能にするのがこちらのサービス。膨大な数のデバイスを現地に赴いてメンテナンスすることはコストがかかるが、こちらのサービスを用いればデバイスのアップデートや設定変更が遠隔から可能となる。技術的にはもちろん可能なことだがIPアドレスの割り当てやNAT機能の設計などが職人芸で難しく、それらをサービスとして提供したことは「お見事!」と言わざるを得ない

(画像:https://soracom.jp/)


『H』:SORASOM Harvest

バスワードとなって大きな期待がされているIoTだが、実際に何をすればいいのかわからないという声が近年多い。そこで、まずは簡単なプロトタイプを作成して発想を膨らませるという開発やマーケティングが多くなっている。こちらはそのような需要に応えて、簡単にデータ収集と可視化ができるサービスとなっている。(ただ、個人的には『H』くらいからだんだん他企業と似たようなことをし出したように感じており、勝手ながら少々悲しい。)

(画像:https://soracom.jp/)


『I』:SORASOM Inventory

デバイスを認証するSORASOM Endorse に対して、こちらはデバイスを管理するサービス。稼働状況などを遠隔地から監視できる。

(画像:https://soracom.jp/)


『J』:SORASOM Junction

ミラーリング、リダイレクション、インスペクションの3つの機能を提供するサービス。(デバイスの次はパケットまで確認したいという声が出てきたのだろうか?このあたりから背景や狙いがわからなくなってきました。)

(画像:https://soracom.jp/)

 

今日はここまで