Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External Entity: Account State Attestation #149

Closed
hendrikhofstadt opened this issue Jan 11, 2021 · 1 comment
Closed

External Entity: Account State Attestation #149

hendrikhofstadt opened this issue Jan 11, 2021 · 1 comment
Assignees

Comments

@hendrikhofstadt
Copy link
Contributor

To allow external chains to use and verify state data from Solana such as DEX prices, balances (TVL) and other information, there needs to be an attestation mechanism.

Wormhole EE-VAAs (#147) allow for new message types to be implemented. This proposal introduces a message type that attests on-chain state for Solana, more specifically it approves that at a certain slot S the data in an account A had the sha-256 hash H.

uint64 slot
[32]byte account
[32]byte hash

In order to make attestations trustworthy despite them being an External Entity VAA, we'll deploy a standardized emitter that will handle an instruction AttestAccountInstruction which takes any solana account, calculates its data hash using the sol_sha256 syscall and CPIs to the Wormhole contract EmitEEVAAInstruction to emit a EE-VAA event with the body as specified above.

Guardians will pick the log message up, attest the event emitted and subsequently produce a VAA containing the attester program as emitter and account and hash as data.

Due to such events being emitted regularly, the resulting VAAs will not be persisted on-chain (as per EE-VAA convention). Consumers need to actively listen to the Wormhole P2P network and propagate VAAs to where they should be consumed.

@hendrikhofstadt hendrikhofstadt added this to the Data attestation milestone Jan 11, 2021
@hendrikhofstadt hendrikhofstadt self-assigned this Jan 11, 2021
@leoluk
Copy link
Contributor

leoluk commented Jul 18, 2021

Part of the v2 design 🎉

@hendrikhofstadt Please re-open if I'm mistaken - but it looks like this is superseded by the emitter design?

@leoluk leoluk closed this as completed Jul 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants