bumblefudge / ethereum-eip712-signature-2021-spec

Home Page:https://w3c-ccg.github.io/ethereum-eip712-signature-2021-spec/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ethereum EIP-712 Signature 2021

This is a specification draft for a linked data signature suite using Ethereum EIP-712.

Linked data signatures are used to cryptographically sign and verify linked data documents, such as Verifiable Credentials (in their linked data proof format), and Authorization Capabilities for Linked Data (ZCAP-LD).

EIP-712 defines a way to cryptographically hash and sign a typed data structure. Its hashing (digest) algorithm is keccak256, and signature algorithm is secp256k1. The data structure type system is based on that of the Solidity programming language.

Cryptocurrency wallet and browser extensions such as Metamask support EIP-712 signing requests. A web application, using APIs such as web3, can request a user of such a wallet to sign a message using their private key. The wallet prompts the user to sign the message or reject the request. By using EIP-712, the message can be a data structure, typically appearing like a JSON object, rather than text or a byte string.

EthereumEip712Signature2021, the type of linked data signature defined in this specification, uses EIP-712 for its cryptographic operations. With this signature suite, a EIP-712 signing request can represent a request to issue a Verifiable Credential, or to present a Verifiable Credential in a Verifiable Presentation, or to sign linked documents for other purposes, such as to delegate and invoke Authorization Capabilities.

🚧 This linked data suite specification is under development; DO NOT use this in production without thorough review.

Breaking changes may be pushed regularly.

Latest rendered editor's draft: https://w3c-ccg.github.io/ethereum-eip712-signature-2021-spec/

About

https://w3c-ccg.github.io/ethereum-eip712-signature-2021-spec/

License:Other


Languages

Language:HTML 100.0%