富士通研究所と中国富士通研究開発中心は、ブロックチェーン基盤「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.