ZDL (ZAKShare Distributed Ledger)とノード

ノードの役割

ルートノード

ルートノードは、ZDLの根本となるノードで、ここから全てのノードが派生します。マスターノードのアドレスおよび公開鍵の真正性を確認するための署名および署名したノード情報配信サービスを提供します。

ミントノード(造幣局ノード)

ZDLを暗号通貨、トークン等デジタル通貨として利用する場合、造幣局として暗号通貨またはトークンの発行サービスを提供します。全てのトークンはミントノードから発行され、送金処理を通して流通します。金額やポイントを使用しない場合は、不要です。

マスターノード (承認ノード)

台帳データの検証および署名サービスを提供します。クライアントから送信されたトランザクションについて、またはノードから送信されたトランザクションについて台帳データの整合性を検証し正しければ署名、送信元へ応答しトランザクションを完了します。

エージェントノード

クライアントまたはノードから送信された台帳データの分散保存サービスを提供します。台帳データおよびノード情報をブロードキャストしコミュニティ内のデータを同期します。 ゾーン内のデータはハッシュチェーンとして履歴を保管。ゾーン外のデータは、同一アドレス内の最新の台帳のみを保管します。

トランザクションの分散管理
クライアントにより署名されたトランザクション情報をマスターノードで検証、署名、ゾーン内およびゾーン外の各ノードへブロードキャストし分散管理します。

ゾーン毎の総量管理
ゾーン毎にトークン量を管理、ゾーン内でのトークンの移動は送金元および承認ノードの署名のみで実現します。ゾーン内では、トークンの送信における承認は、送信者の署名に加えてゾーン内の承認者の署名を持って完了します。ゾーンを超えたトークンの移動には、相手ゾーンとの相互承認を要します。

コンフィグレーション配信
ZDLのノード情報配信する。をルートノードで署名されるマスターノード情報をルートノードから配信またはエージェントノード間で同期する。

コンフィグレーション情報の検証
コンフィグレーション情報に記述されるルートノード情報およびマスターノード情報をルートノード署名により検証する。検証によりアドレスおよび公開鍵の真正性が確認された場合にシステムを継続起動する。真正性が確認されない場合は、コンフィグレーション情報改ざんの恐れがあるため、システムを停止する。

秘密鍵・公開鍵・ノードアドレスの生成
エージェントノードは、利用者のリクエストにより、秘密鍵、公開鍵およびノードアドレスの一連の鍵セットを生成しリクエスト元へ提示する。

◆秘密分散法による秘密鍵管理(国際特許出願済み、台湾特許取得済み)
シャミアの秘密分散法による秘密鍵の分散を行い、N個の秘密鍵の分散値を提示する。ノード起動時には、入力されたT個の秘密鍵の分散値から秘密鍵を生成しノード内に保持する。トランザクションへの署名の際に、生成した秘密鍵を用いてデジタル署名を行う。

秘密鍵のリカバリー(国際特許出願済み、台湾特許取得済み)
秘密鍵の紛失または秘密鍵を保存しているデバイスの故障により、一部の秘密鍵の分散値が喪失した場合でも、残りの分散値を元に秘密鍵を復元することができます。

起動時のデータ同期
ノード起動時には、ノード情報の同期、ゾーン内の台帳の同期、ゾーン間の台帳の同期を行い、最新の状態を保持します。

同期データのハッシュチェーン検証
同期する台帳データは、ルートノード署名、マスタノード署名および台帳のハッシュチェーンを検証し、情報の改ざんがなされてない事を証明します。

改ざんの検知
データの改ざんを検知した場合、そのノードおよびゾーンからの情報による処理を一時的に停止します。情報が正しく復元された場合には、処理を再開します。