NEC、「世界最速」ブロックチェーン技術を開発 毎秒10万件超の取引が可能に



ニュース

» 2018年02月15日 16時48分 公開



NECは、200ノード程度の大規模接続環境下で、毎秒10万件以上の記録が可能なブロックチェーン向け合意形成アルゴリズムを開発したと発表した。「ビジネス用途でのブロックチェーンの本格的な活用を加速する技術」としている。



 NECは2月15日、取引記録に参加するノード数200ノード程度の大規模接続環境下で、毎秒10万件以上の記録が可能なブロックチェーン向け合意形成アルゴリズムを開発したと発表した。世界規模のクレジットカード取引システムに必要な毎秒数万件を超える性能で、「ビジネス用途でのブロックチェーンの本格的な活用を加速する技術」としている。

 ブロックチェーンは、複数のノード(参加者)がデータの記録と共有を行い、データの保証や改ざん防止を行う技術だが、記録速度や参加ノード数の拡張性に課題があった。

 例えば、ビットコインのブロックチェーンは毎秒7件の書き込みが性能限界とされているほか、ビジネス用途を想定した参加者限定型のブロックチェーンでも、数十ノードを超えると性能が極端に悪化するという。また、全ノードが全記録を見ることができるため、個人情報や企業秘密を記録するには問題があった。

 同社は、最近の汎用プロセッサが備える「TEE」(メモリ空間の一部を特定のプログラムからしか読み書きできない領域として保護する機能)のセキュリティ機能を活用し、参加ノードが合意形成するために必要な通信量・通信回数を削減する。これにより、200ノード程度の大規模環境下で、毎秒10万件以上の記録性能を実現したという。

 さらに、取引情報の公開ノードを限定できる仕組みを開発。特定グループ内の取引情報はグループに属するノードにのみ公開する――などの制御を可能にした。

 また、IoTデバイスがブロックチェーンのデータを参照する際にも、各参加ノードのTEEを活用することで、IoTデバイスでも高速な検証を可能にしたという。

 新技術により、記録性能やノード数の制約によってブロックチェーンの適用を断念していたケースにも対応が可能になるほか、取引情報のセキュリティ・プライバシーが保証でき、個人情報や企業秘密にあたる取引も扱えるとしている。

 同社は、現在取り組んでいる金融機関との実証実験を進めるとともに、金融以外への応用も視野に入れ、研究開発を進める。


Copyright © ITmedia, Inc. All Rights Reserved.

‘; html += ‘

‘; e_dlv.innerHTML = html; cX = cX || {}; cX.callQueue = cX.callQueue || []; cX.callQueue.push([ ‘insertAdSpace’, { adSpaceId:adid, width:’100%’, height:190, initialHorizontalAdUnits:1, initialVerticalAdUnits:1, resizeToContentSize:true, renderTemplateUrl:render } ]); }; var insert_ok = function(_target,_str){ e_body.insertBefore(e_dlv,_target); set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = ‘none’; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY 直下子要素 var e_tags = []; // BODY 直下タグ var p_num = []; // BODY 直下 P タグ位置 var p_target_num; // 枠挿入基準位置 var o_float = {}; // 回り込み要素 var o_this = {}; // アクティブタグ var o_next = {}; // アクティブタグの次のタグ var flag_insert = 0; // 挿入フラグ // 回り込み要素チェック var check_float = function(_e){ var e = 0; if(_e.id.match(/^col¥d{3}(l|r)$/)){ e = _e; } return e; }; // 要素の Y 座標と高さの合計値 var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === ‘P’){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) – 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; for(var i = p_num[p_target_num]; i = _threshold){ try_insert(); }else{ insert_ng(‘P タグ ‘ + _threshold + ‘ 以下’); } }; if(e_body){ main(); }else{ insert_ng(‘記事本文なし’); }
})(document,4,5);

Related Post