ニュートンには、あらゆる機密を扱うための暗号化システムが1つだけあると思い込んでいました。
CLIのドキュメントを読んでみると、それは違います。2つあり、それぞれが異なる人・異なる目的のために異なるものを保護しています。
1つ目はシークレットを扱います。つまり、WASMデータプロバイダが外部サービスを呼び出すために必要なAPIキー(インデクサーキー、課金されたAPI認証情報など)です。X25519/ChaCha20-Poly1305でクライアント側HPKEにより封緘し、newt_getSecretsPublicKeyで取得、newt_storeEncryptedSecretsで保存します。これにより、プロバイダの認証情報がオンチェーンで読み取られることを防ぎます。
もう1つはプライバシーデータを扱います。ポリシーが評価する実際の機密入力(身分証明書、クレジットスコア、ブラックリストなど)です。別の鍵で、newt_getPrivacyPublicKeyにより取得します。これにより、ユーザーまたはプロバイダのデータがオンチェーンで読み取られることを防ぎます。
鍵が違う、エンドポイントが違う、目的が違う。1つはデータプロバイダの“配管”を非公開に保ちます。もう1つは、実際の判断のための入力を非公開に保ちます。
些細な違いですが、ここを混同すると、ニュートンが「インフラを保護すること」と「人を保護すること」の間に意図的な線引きをし、それぞれに別々の仕組みを用意して、1つの汎用的なブラックボックスにまとめなかったことを見落とします。
@NewtonProtocol $NEWT #Newt
CLIのドキュメントを読んでみると、それは違います。2つあり、それぞれが異なる人・異なる目的のために異なるものを保護しています。
1つ目はシークレットを扱います。つまり、WASMデータプロバイダが外部サービスを呼び出すために必要なAPIキー(インデクサーキー、課金されたAPI認証情報など)です。X25519/ChaCha20-Poly1305でクライアント側HPKEにより封緘し、newt_getSecretsPublicKeyで取得、newt_storeEncryptedSecretsで保存します。これにより、プロバイダの認証情報がオンチェーンで読み取られることを防ぎます。
もう1つはプライバシーデータを扱います。ポリシーが評価する実際の機密入力(身分証明書、クレジットスコア、ブラックリストなど)です。別の鍵で、newt_getPrivacyPublicKeyにより取得します。これにより、ユーザーまたはプロバイダのデータがオンチェーンで読み取られることを防ぎます。
鍵が違う、エンドポイントが違う、目的が違う。1つはデータプロバイダの“配管”を非公開に保ちます。もう1つは、実際の判断のための入力を非公開に保ちます。
些細な違いですが、ここを混同すると、ニュートンが「インフラを保護すること」と「人を保護すること」の間に意図的な線引きをし、それぞれに別々の仕組みを用意して、1つの汎用的なブラックボックスにまとめなかったことを見落とします。
@NewtonProtocol $NEWT #Newt