RP for plugin-tee-verifiable-log-api
Relates to:
- Run verifiable Eliza in the TEE.
- Verifiable log for Eliza in the TEE
- https://github.com/ai16z/eliza/pull/1331
Risks
Low
Background
What does this PR do?
This PR builds upon plugin-tee-verifiable-log by modifying the direct client to add remote attestation and query interfaces for verifiable logs.
To better understand what verifiable logs are and why we implemented this feature, it is necessary to refer to the preceding PR that introduces plugin-tee-verifiable-log and provides the context for its development.
What kind of change is this?
- Feature
- TEE plugin
- Verifiable feature
Documentation changes needed?
Yes, we will add documentation about api detail.
Testing
Where should a reviewer start?
-
Understand the existing
plugin-tee- We rely on Eliza's existing
plugin-teeand use its key derivation interface.
- We rely on Eliza's existing
-
To better understand what verifiable logs are and why we implemented this feature, it is necessary to refer to the preceding PR that introduces
plugin-tee-verifiable-logand provides the context for its development. -
Understand what
plugin-tee-verifiable-logdoes- Derive a key pair for verifiable logs: It uses the TEE to derive a key pair specifically for signing verifiable logs.
- Remote attestation: The public key of verifiable logs is embedded in the remote attestation report, making it accessible for external verification.
- Sign logs: This plugin accepts logs passed in from external modules (e.g., tweets sent and received by a Twitter client, or executed actions), signs them with the TEE-derived key pair, and stores them in the database.
- Verification: External entities can use the remotely attested public key to verify these logs, ensuring that certain actions were indeed performed by TEE Eliza.
Detailed testing steps
It have completed the integration tests and can run the xx file in the test directory.
is this a duplicate of #1260 or a progression? should we close #1260 ?
@madjin I noticed that PRs https://github.com/elizaOS/eliza/pull/1331 and https://github.com/elizaOS/eliza/pull/1333 were reopened and the #1260 PR closed, which has left me a bit confused about the current direction. Should I merge my changes into the develop branch, or is there a different branch we should treat as the standard? I’ve submitted https://github.com/elizaOS/eliza/pull/1369. both cpppppp7 and I have been working diligently to make progress on this code contribution. I’d appreciate any clarification to ensure we align our efforts effectively. 😊
Closing in favor of #1369