ブロックチェーンを用いたソフトウェアビルドプロセス記録手法の提案

吉上 康平


ソフトウェア・トレーサビリティはソフトウェアの品質を向上させる要素の1つである.特にビルドプロセスにおけるソフトウェア・トレーサビリティを確保し,複数組織間で共有することは,ライセンス遵守の証明や事後的な紛争解決を行う 際の証拠として重要である.ソフトウェアは複製・改ざんが容易なため,技術の漏えいや悪意ある改ざんの可能性に常に晒されている.したがって,共有するソフトウェア情報を必要最低限にしながら,共有した情報に改ざんがないことを証明する必要がある.本研究では,ビルドプロセスを自動的に監視し,ビルドに使用されたファイル,およびビルドによって生成されたファイルの関係をブロックチェーン上に記録することで,複数組織間のソフトウェア情報の共有を,改ざんの恐れなく,検証可能な形で実現するための手法を提案する.また,提案手法の実現可能性を評価するために,Ethereum上でスマートコントラクトとして実装し,ビルドプロセスの記録に要する時間,データ量,ブロックチェーンシステムの手数料を計測した結果から,現実的なコストで提案手法が実現可能であることを示した.