08/07/2018

カルダノコードを超えて

2017年12月、カルダノ財団は、Haskellソフトウェア開発とDevOpsの有名コンサルタントであるFP Complete を、カルダノの決済レイヤーの独立第三者監査の実施のために指名しました。 監査には、IOHK、カルダノ開発チームのコード、技術文書および操作手順も含まれます。

コードのレビューとエンジニアリングの慣行に対しこのような独立的で徹底したアプローチを行う目的は、研究主導で、科学的なベストプラクティスと厳密なピアレビューを実施するカルダノの開発哲学と整合させることにあります。

FP Complete とのパートナーシップは順調に実施され、FP Completeは以降、カルダノの監査レポートをいくつも作成しています。 こうしたレポートには、プロジェクト内で使用する詳細な「プライベート」監査(すなわち、FP Completeが機密性の高い可能性のある問題を強調する場合)と、一般公開に向けて若干の修正を加えたバージョンの「パブリック」バージョンが含まれます。 これらの包括的で極めて個別的な監査レポートは、プロジェクトとコードベースの多方面を対象としており、またこの深い監査作業は現在も続いています。

監査プロセスは、プロジェクトがリリース段階を経てさらに進化する中、カルダノのソフトウェアビルドの開発とエンジニアリングの慣行を継続的に追跡しています。 監査の終了日は予定されていませんが、当社の意図は最低でもロードマップに記載されている完全な分散化と機能性という中核的な目的が達成されるまで継続されます。 最新のパブリック監査報告リリースのアップデートと今後の公表プロセスは近く提供される予定です。

しかし、今は、カルダノ財団が興奮し、情熱を費やしているものを共有したいと思います。 それは、監査イニシアチブの拡張であり、既存のプロセスの補完、拡張であり、私たちはこれがカルダノとHaskellの両方のコミュニティに深い価値を提供すると確信しています。

カルダノ・Haskellライブラリ依存関係の監査

ソフトウェアは、最高度の保証基準で設計、開発できますが、それでもライブラリの依存関係によるコードを介して脆弱性の影響を受けやすいものです。 したがって、私たちは、こうしたライブラリの依存関係を、監査にとっての特別な重点領域と特定しました。 ソフトウェアライブラリの重要性と、カルダノのコードベースに存在する個別のライブラリ依存関係は、この記事でトピックとしてさらに詳しく述べます。

大まかに言えば、ソフトウェアライブラリは、多くのプロジェクトで使用されるリソース(コードと文書)の集合体で、共通の機能と動作をよく定義されたインターフェースのセットを通じて実装します。 ライブラリは、複数の独立プログラムに再利用可能なコンポーネントを提供し、コードの配布を容易にしたモジュール式のコードの共有を促進するよう構築されています。

ソフトウェア開発に対するこのモジュールでのアプローチは十分に確立されており、オープンソースのソフトウェア開発プロセスの基本的な部分であり、これによって、協調開発とクラウドをソースとする専門知識の結果としての効率性、セキュリティー、相互運用の向上が可能になります。

ソフトウェアライブラリの使用はオープンソースのソフトウェアプロジェクトに限定されるものではありませんが、ライブラリの使用とオープンソースソフトウェアの動きとの間には深い関係があります。 私たちは、オープンソースソフトウェアのイニシアチブを支える基盤として、このオープンソースの理念に根本的に整合し、それを強化するための努力をサポートしようと努めてます。

ライブラリの保守管理はこの進行中の改善プロセスの重要な部分であり、かつ、バグが解決され、新しい機能が開発され、共通のコードがプログラミング言語とともに進化するにあたって必要なものです。

一般に、ライブラリには定期的にパッケージを保守する個々の保守担当者がおり、場合によってはライブラリの保守管理のための正式な機関が存在することもあります。 個々の保守担当者は個別の問題への対処に責任があり、これらの保守担当者にはしばしばそのライブラリに関し一方的な決定を下す権限が与えられています。

これが問題を提起します… ライブラリはどのように保守管理すべきでしょう、またベストプラクティスはどんなものでしょう?

開発者は今日特定の問題に使用する適切なライブラリを識別する必要があります。 FP Completeのコード監査には、冗長または重複したソリューションの特定、不要な依存関係の使用のハイライト、ライブラリの成熟度の評価、ライブラリの保守管理の品質と頻度のレビュー、および、未解決の問題の追跡による、ライブラリの妥当性の分析とレビューが含まれます。

この高度な分析の他にも、現在、これらのライブラリと潜在的な脆弱性に対する徹底的なコードレビューがFP Completeによる個別の正式な監査として行われています。 これには、自動化されたテスト手法、手動のコードレビュー、およびHaskellの既存の静的解析ツールの活用が含まれます(コンパイラ自体はもちろんです!)。 こうした監査が続く中で、FPComplete’のチームからは彼らが取り組んでいる技法のいくつかについてもっと聞けると期待しています。

カルダノSLのコードベース内には、現在372個以上の個別のライブラリ依存関係があり、すべてコード監査の一部としてレビューされています。

したがって、FP Completeのコード監査は、Haskellコミュニティでより広く使用されているライブラリやコードをレビューするユニークな機会を提供しており、場合によっては、同じライブラリの複数のバージョンにまたがるコードをレビューする機会でもあります。

Haskellコミュニティとオープンソースソフトウェアの一般的な動きに対するコミットメントとして、カルダノ財団は、FP Completeと共に、カルダノの開発に対するより詳細なレビューを継続しつつ、各種Haskellライブラリをレビューする定期的な監査報告書をリリースする予定です。

これらの監査リリースが幅広いHaskell開発者コミュニティに利益をもたらし、共通に使用されるコードに関する公開ディスカッションを促し、安全性とセキュリティに関する懸念に向けて、依存関係を検証するプロセスのサポートと促進の支援となるよう願っています。

上述の最初のレポートはここ cardano.org で利用可能です。高性能で純粋なバイナリシリアル化を提供するHaskell バイナリパッケージをレビューします。

バイナリパッケージも、最もよく使用されるネイティブのHaskellコンパイラであるGHCの中核ライブラリの1つですので、Haskellコミュニティにおいて広範な影響をもたらしつつ広く使用されています。 このバイナリパッケージは、次の領域でカルダノプロジェクトによって使用されます。

カルダノ財団は、幅広いブロックチェーンコミュニティにサービスを提供し続けており、私たちは、カルダノプロジェクトの強化と保護で直接的な利益を見込むだけでなく、堅牢で安全なパブリックブロックチェーン技術を全員の利益のために構築するべくカルダノプロジェクトに基盤となるツールを提供している、Haskellと実用的なプログラムコミュニティーに対して強力で前向きな貢献をすることからのそれを見込んでいます。

LATEST FROM AUTHOR