進展状況 2018年10月2日の週間
アプリケーション・ロジック
APIはすべてのリクエストに対してランダムリクエストID(シード)を生成するため、システムは詐欺リクエストから安全です。システムは、以前に受け入れられたシードを含む要求を単純に拒否します。
insolarユーティリティの新しいコマンドには次のものがあります。
- 公開キーと秘密キーのためにgen_keys
- ノード証明書のgen_certificates
RootMemberというシステム管理者ユーザーがブートストラップシステム上に作成されます。
RootMemberは、拡張特権を持つ一般的なメンバースマートコントラクトインスタンスです。 それ以降のブートストラップアクションおよび新しいメンバーインスタンスの作成を実行できるのは、この権限のみです。
メンバー接触にリクエストの名付のAuthorizedCall検証を追加しました。すべてのリクエストが名付け、名付は検証のための特別なパラメータとして使用されています。
ネットワーク
パルサーとネットワークの完全統合:
- パルサーがパルスを送信
- ノードがパルスを受信
- パルスがレジャーに格納.
アクティブノードリストが実装されています。このリストは、3つのノードタイプがあります。:
- Unsync List includes new nodes currently unknown to the other nodes. Unsyncリストには、他のノードにとって不明で新しいノードが含まれます。
- Syncリストには、次のパルスの広がりとともに起動するノードが含まれます。
すべてのノードは、アクティブなすべてのノードとコンセンサスに達した後にSyncリストに移動します。
- Currentリストは、仮想(ストレージ)またはマテリアル(コンピューティング)という特定のシステムロールを受け取るキュー内でのノードで構成されます。
ノードアーキテクチャの設計:
- ノードリストを管理するためのNodeKeeperコンポーネント。
- 最近接続されたノードを同期させるためのBFTのようなコンセンサスインタフェース。
- ノード間のノードリストの提出。
- レジャーにある公開キーとノードにある秘密キーの存在を同時に検証することによるノードの応答認証。
- ディスカバリノードのためのマジョリティルール。マジョリティルールは、新しいノードをネットワークに接続できるディスカバリノードの正確な数を定義します。マジョリティルールは新しいノードが1つではなく複数のネットワークに結びつくというエラー(ブレーンスプリット状態)を防ぎます。ディスカバリノードの正確な数量は、新しいノードがプラットフォームに登録した後に取得した特別な証明書によって定義されます。
レジャー
Record Referenceの代わりにストレージキーとしてレコードIDに切り替えることで、ストレージの最適化。Record ReferenceのレコードIDとドメインIDの2つのIDのうち、ドメインIDはデータ記憶には関係ありません。
新しく作成されたオブジェクトに関するデータを、別のJet(ノード)に格納されていても、親オブジェクトのストレージインデックスに追加しています。これにより、繰り返し中にリモートマシンからリストをアップロードして、親オブジェクトの子オブジェクトのリストを取得することができます。
リクエストレコードを格納するメソッドがArtifactManagerに追加されました。このレコードには、オブジェクトのメソッドを実行する要求、新しいオブジェクトを作成する要求などのデータが含まれています。 実行中にエラーが発生しました。
要求レコードを格納すると、その実行中にエラーが発生したなどの機能を再生することができます。
パルサー
パルサーのコンセンサスメカニズムは開発中です。1つのネットワーク内の複数のパルサーは同時にエントロピーを生成してから、パルサーはエントロピー値を予測する可能性がありません。エントロピーが生成された後、パルサーによって名付け、ネットワークに送信されなければならない。
スマートコントラクト
テストでは、コントラクトの実行を検証するメカニズムが適切に機能していることが証明されています。これで、すでに実行されているコントラクトの実装プロセスが正しく行われたことを保証します。スマートコントラクトを持つすべての暗号プロジェクトでは、初期コントラクト実行者に制御不能な他のノードでの実行を検証します。入力規則メカニズムが「最初の実行者と同じ実行結果がありますか」との質問に答えます。これはメカニズムの最終バージョンではありませんが、実行を再生して結果を比較することができます。