集中データベースからの分散セキュリティ


ブロックチェーンの技術は、私は間違って取得しない伝統的なピアツーピアのブロックチェーンはほとんどのビジネスケースに合うか?大部分の企業は公的に分配されたデータから利益を得ません、そして、民間のブロックチェーンサービスは非常に高価です.
これは質問をする.どのように私は私の集中データベースから同様のセキュリティ機能を得ることができますか?
Blockpoint 暗号化ダイジェストをエクスポートすることによってレコードの信頼性を証明することができます:外部ソースは、データへのアクセスを許可せずにデータを検証することができますデータのユニークな、数学的表現.本稿ではこの検証手法のライフサイクルを検討する.

ダイジェストのエクスポート

エクスポートダイジェストコマンドは、指定されたデータベースオブジェクトからデータダイジェストを読み込みます.

構文
READ DIGEST { <datbase_object> }

database_object ::=  
{   
   database_name.blockchain_name   
   | datbase_name    
}  


引数
データベース名
ダイジェストを読むターゲットデータベース.
ブロック名
ダイジェストを読むターゲットブロック.

備考

  • 読み取りダイジェストコマンドは、ページハッシュ、タイムスタンプ、および以前のハッシュを読み取り、クエリ形式でデータを出力します.コマンドは以下のレスポンスを返す
    列:

  • BlockChahId id :ブロックの内部ID.

  • pageHIRID :ブロック連鎖のページID.

  • タイムスタンプ:ページが封印された時刻.

  • Url 64としてそのページのハッシュ.

  • 前のページハッシュ:前のページのハッシュ;ブロックチェーンの最初のページに0として格納されます.
  • アーカイブ内のブロック連鎖ページのみが読み込まれます.ページがいっぱいで、現在開いているトランザクションがそのページに書かれていないときに、ブロック連鎖ページはアーカイブにプッシュされます.これはROLLBACK アーカイブされたデータを変更することはできません、ページをリシールし、ハッシュを変更します.
  • Aを走るCHECK VALIDITY ダイジェストを読む前に、ダイジェストがデータベース内で有効であり、値が不正に変更されていないことを保証します.

  • A .ブロックからのダイジェストを読む
    次の例は、価格設定ブロックからダイジェストを読み取ります.
    READ DIGEST financial.pricing;
    

    出力
    返された出力は、アーカイブされたページがない場合、2つのアーカイブされたページを読み込みます.前のページの前のハッシュが0であることに注意してください.
    BLOCKCHAIN_ID [UINT16]  PAGE_ID [UINT64]    TIMESTAMP [TIMESTAMP]   CURRENT_HASH [UINT64]   PREVIOUS_HASH [UINT64]
    19                      0              2021-05-24 16:46:05.991142800    6006725463818420546  0
    19                      1              2021-05-24 16:46:05.992201900    3175351712536806224  6006725463818420546
    

    ダイジェストの配布

    ダイジェストを配布するのは本当に組織の侵略です.ダイジェストファイルを複数のテクノロジで配布するのはより安全です.これは、電子メールや他のメッセージングまたはファイル共有サービスを介してすることができます.

    ダイジェストの検証

    validate digest現在のダイジェストを指定したものに対してチェックする.

    構文
    VALIDTATE DIGEST { <datbase_object> } PATH "file_path";
    
    database_object ::=  
    {   
       database_name.blockchain_name   
       | datbase_name    
    }  
    
    

    引数
    データベース名
    与えられたダイジェストに対してチェックするターゲットデータベース.
    ブロック名
    与えられたダイジェストに対してチェックするターゲットブロック.
    パス
    指定されたダイジェストへのファイルパス.提供されたダイジェストはCSV形式でなければなりません
    the READ DIGEST コマンド.

    備考
  • アーカイブ内のブロック連鎖ページのみが有効になります.ページがいっぱいで、現在開いているトランザクションがそのページに書かれていないときに、ブロック連鎖ページはアーカイブにプッシュされます.
  • データがダイジェストがエクスポートされた後にブロックチェーンのアーカイブに追加された場合.新しいデータは検証されません.
  • Aを走るCHECK VALIDITY ダイジェストを検証する前に、ダイジェストがデータベース内で有効であり、値が不正に変更されていないことを確認します.
  • データベースまたはブロックチェーンダイジェストを使用して、ブロックチェーンを検証できます.
  • データベースダイジェストだけを使用してデータベースを検証できます.
  • DISCONNECTED 彼らがデータベースに再接続されることができるので、blockchainはまだ検証されます.

  • A .ブロックチェインダイジェストの検証
    次の例は、価格設定ブロックのダイジェストを検証します.提供されるダイジェストは、ブロックチェーンまたはデータベースダイジェストです.
    VALIDATE DIGEST financial.pricing PATH "digests/may_5_digest.csv";
    

    出力
    有効な場合、出力はダイジェストが有効な時間を提供します.
    Database object financial_1.pricing is valid against the stored digests for archived pages before 2021-05-24 16:46:05.992201900
    

    データベースダイジェストの妥当性検査
    次の例では、データベース全体のすべてのブロック連鎖ダイジェストを読み取ります.
    VALIDATE DIGEST financial PATH "digests/may_5_digest.csv";
    

    無効なダイジェスト
    無効なダイジェストを有効なデータベースと比較した例を次に示します.
    VALIDATE DIGEST financial PATH "digests/may_5_bad_digest.csv";
    

    出力
    不正なダイジェストが失敗したデータの詳細を返します.この場合、システムブロックチェーンsyscolumnsの最初のページのタイムスタンプは、データベースかインポートダイジェストのどちらかで変更されました.
    Blockchain syscolumns: timestamp mismatch when verifying digest page 0, digest timestamp 2021-05-21 19:14:14.9512269 +0000 UTC not equal to system timestamp 2021-05-24 16:46:05.9175726 +0000 UTC
    

    結論
    上記のダイジェストライフサイクルでは、外部ソースが中央データベース内のデータが不正に変更されていないことを検証できます.ニフティ!