スマートコントラクトのリスクを自動検出し、ブロックチェーンの安全性を向上――富士通研究の新技術
富士通研究所と中国富士通研究開発中心は、ブロックチェーン基盤「Ethereum」上でスマートコントラクトのリスクを自動検出し、ソースコード上の該当箇所を特定する技術を共同で開発。より安全性の高いスマートコントラクトを効率的に開発できるようになるという。
富士通研究所と中国富士通研究開発中心は2018年3月7日、ブロックチェーン上の取引自動処理プログラム「スマートコントラクト」のリスクを事前に検証し、プログラムのソースコード上の該当箇所を特定する技術を開発したと発表した。
ブロックチェーンでは、取引処理が多数の場所で分散実行されるため、一度実行すると簡単には停止できず、スマートコントラクト内にリスクがあっても簡単に修正できないという課題がある。また、スマートコントラクトのリスクを事前に検証する従来の技術では、検出できるリスクに漏れがあったという。
今回、ブロックチェーンアプリケーション実行基盤の1つである「Ethereum」上で、シンボリック実行(プログラムが実行しうるパスを網羅的に抽出する技術)を利用し、リスクのある取引の流れを自動的に特定するアルゴリズムを開発。これにより、人手を必要とする従来の方法では見逃す恐れのあったスマートコントラクトの6種類のリスクを、網羅的に検出できるようになった。
さらに、発見したリスクがスマートコントラクトプログラムのソースコードのどの部分に該当するかを、高精度に特定する技術も開発。この技術により、より安全性の高いスマートコントラクトを迅速に開発できるようになるという。
今回開発した技術を用いることで、従来の検証ツール(Ethereum向けスマートコントラクト分析ツールの「Oyente」)では67%の検出率だったところ、一部の項目を除き100%の検出が可能になり、さらに精度として最大88%の正解率を実現したという。
高精度のリスク検出とソースコード上のリスク箇所特定が可能になったうえ、リスクの過剰指摘が少ないため、より効率的にスマートコントラクトの開発ができるようになり、仕様理解、コード調査・修正などの開発に関わる作業の削減効果も期待されると説明する。
富士通研究所は今後、Ethereumだけではなく、The Linux Foundationが主催するHyperledgerにおけるブロックチェーンフレームワークの1つ「Hyperledger Fabric」向けの検証技術の開発も進め、2018年度中の実用化を目指す。また、スマートコントラクトの検証技術だけではなく、ブロックチェーンを活用したセキュアなシステム構築に関する技術開発も幅広く進めていくとしている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ブロックチェーンのトランザクション処理を約2.7倍高速化 富士通研から新技術
富士通研究所は、これまでボトルネックとなっていたブロックチェーンのトランザクション処理を高速化する技術を開発。オンライン取引システムなどへの適用を見込む。 - 徹底入門:ブロックチェーン〜Ethereum(イーサリアム)とは?
ブロックチェーン技術の入門として、「Ethereum」(イーサリアム)、分散型自律組織(DAO)、スマートコントラクトについて解説する。 - 分析データの前処理を自動化する2つの新技術、富士通研から
富士通研究所が、さまざまな形式のデータを連携させてデータ分析に活用するためのデータ準備作業を自動化する技術を開発した。 - 参加ノード数200、毎秒10万件超の取引を可能にするブロックチェーンの新技術 NECから
NECとNEC欧州研究所は、参加ノード数が200程度の大規模環境下で毎秒10万件超の取引を可能にするブロックチェーン技術を開発。記録性能やノード数の制約によってブロックチェーンの適用を断念していたケースでも対応可能になるという。 - ブロックチェーン技術と決済データを用いた信用情報基盤 インサイト、SBT、シビラが共同開発へ
インサイト、ソフトバンク・テクノロジー(SBT)、シビラの3社は、ブロックチェーン技術と、家賃や電気料金などの生活決済データを組み合わせた信用情報プラットフォームを開発する。ブロックチェーンの対改ざん性などのメリットとクラウドの冗長性を備えた可用性の高い信用情報管理が可能になるという。 - 保険契約申込書の照会業務にブロックチェーンを活用し、保険発行を迅速化――三井住友海上とbitFlyerが共同実証
三井住友海上火災保険は、bitFlyerのブロックチェーン技術「miyabi」を活用した情報共有システムにより、保険契約申込書の確認業務を効率化する実証実験を開始。セキュリティを強化するとともに、保険証券発行手続きの効率化に向け、実用性を検証する。