バリデータのセット回転
プラットフォームブロックチェーンのコンセンサスを得るために、バリデータと呼ばれる特定のマスタノードのセットがブロックを検証し、署名します。 バージョン0.19までは、バリデータセットが静的で、DCGが管理するノードにホストされていました。 バージョン0.20では、ロングリビングマスターノードクォーラム(LLMQ)を用いて、バリデータセットを全マスターノードに動的に分散し、ローテーションを行うことができるようになりました。 この方法により、負荷が均等に分散され、ネットワークの安全性と信頼性が格段に向上します。
暗号化証明
従来は、プラットフォームネットワークから取得したデータの有効性と完全性を確保するために、クライアントは信頼できるフルノードを使用する必要がありました。 このバージョンでは、DAPIはプラットフォームのデータとともに効率的な暗号証明を提供し、ライトクライアント(モバイルウォレット等)がDashプラットフォームと安全にやり取りできるようにします。
プラットフォーム状態のしきい値署名
バリデータは以前までプラットフォーム状態の暗号ダイジェストの非集約EdDSA署名を使用して、暗号的な証明の提供とネットワークのコンセンサスの保証をしていました。 これらの署名の数と全体のサイズが、ライトクライアントが使用する証明にリソースを集中させることになりました。 バージョン0.20では、BLSのしきい値署名メカニズムを利用して、モバイルウォレットやその他のライトクライアントが簡単に検証できる1つの署名のみを生成しています。
P2Pレイヤーの最適化
従来は、バリデータだけでなくフルノードもあらゆる種類のP2Pメッセージに依存し、検証していました。 つまり、フルノードもコンセンサスに到達するためにバリデータにのみ関連するメッセージを含むネットワークトラフィックを受信したことになります。 新バージョンでは、フルノードはバリデータが生成する中間コンセンサスメッセージを受信しなくなりました。 その代わり、バリデータはBLSしきい値署名を含む1つのメッセージのみを生成し、その結果得られたコンセンサス決定をネットワークのリマインダーに伝搬します。 これにより、多くのメッセージをフルノードに伝搬する必要がなくなり、ネットワークの負荷が大幅に軽減され、帯域幅の使用量が99.5%削減されました。
プラットフォームのメタデータ
Dashプラットフォームは、現在のプラットフォームブロックチェーンの高さや、ネットワークコンセンサスに参加しているすべてのノードが観測し合意した同期済のコアブロックチェーンの高さなど、追加のメタデータをDAPI応答に付加するようになりました。 プラットフォームとコアブロックチェーンは非同期なため、プラットフォームはこのコアの高さを利用して、すべてのプラットフォームノードがコアネットワークの状態を決定的に把握できるようにしています。
厳密で安全なデータ契約の有効化
Dashプラットフォームプロトコルの新バージョンでは、データコントラクトの定義に使用するJSON Schemaの仕様を最新の2020-12バージョンに更新し、ネットワークに送信されるデータコントラクトに潜在するユーザーのエラーを防ぐために厳格な検証ルールを採用しています。 また、ReDoS攻撃を軽減するために、特殊な正規表現エンジンを採用しています。
強固なJSウォレット同期
以前のバージョンのJS Walletライブラリは、同期中にDAPIから要求されたすべての取引とインスタントロックメッセージを受信しないことがありました。 この問題はバージョン0.20で解決されました。
Dashmateの改良
最新版のDashmateには、20個の修正と改良が含まれています。 その中で最も大きなものは、ローカル開発ネットワークの構築をより便利により信頼できるものにし、パフォーマンスの改良やWindowsのサポートも含まれています。