-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #37 from core-coin/cip-712
CIP 712
- Loading branch information
Showing
1 changed file
with
69 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
--- | ||
cip: 712 | ||
title: Core Signature Verification Standard | ||
description: Standard for Securely Encoding and Verifying Structured Data Signatures in Core Blockchain-Based Applications. | ||
keywords: [cip, cip-712, standard] | ||
author: Moji | ||
lang: en-US | ||
tags: [draft] | ||
categories: [cbc] | ||
date: 2023-11-27 | ||
--- | ||
|
||
Core Signature Verification Standard | ||
|
||
<!--truncate--> | ||
|
||
## Abstract | ||
|
||
CIP-712, the Core Signature Verification Standard, defines a standard for securely encoding and verifying structured data signatures in Core Blockchain-based applications. Core Signature Verification Standard enhances security and usability by allowing users to sign structured data, making it resistant to replay attacks and improving user experience. | ||
|
||
## Motivation | ||
|
||
The motivation behind CIP-712 is to provide a standardized method for encoding and verifying structured data signatures in Core Blockchain-based systems. This standardization simplifies the process of signing and verifying data, making it more secure and user-friendly. | ||
|
||
We have aliased EIP712 to CIP712 and created this CIP. | ||
|
||
## Specification | ||
|
||
Core Signature Verification Standard defines the following key components and processes: | ||
|
||
### Typed Data | ||
|
||
Core Signature Verification Standard introduces a structured data schema called "Typed Data," which includes a list of data types and their field names. This schema provides a clear definition of the data being signed. | ||
|
||
### Encoding | ||
|
||
The data specified in the Typed Data schema is encoded into a binary format before signing. This encoding ensures consistency in how data is presented to users for signature. | ||
|
||
### Hashing | ||
|
||
Core Signature Verification Standard defines a specific hashing mechanism for hashing the binary data. This ensures that the data hash remains consistent across different implementations. | ||
|
||
### Signatures | ||
|
||
Users sign the hashed data, creating a unique signature that represents their approval of the structured data. | ||
|
||
### Verification | ||
|
||
Smart contracts or applications can then verify the signature against the original Typed Data and public keys to ensure the authenticity of the data. | ||
|
||
## Usage | ||
|
||
Core Signature Verification Standard can be utilized in various Core Blockchain-based applications, including decentralized finance (DeFi), governance systems, and more. Users can sign structured data, and smart contracts can validate these signatures to enable secure interactions. | ||
|
||
## Backward Compatibility | ||
|
||
Core Signature Verification Standard is designed to be backward-compatible with existing Core Blockchain standards, ensuring seamless integration into the Core Blockchain ecosystem. | ||
|
||
## Security Considerations | ||
|
||
Security audits and reviews are crucial for any implementation of Core Signature Verification Standard to identify potential vulnerabilities and ensure the robustness of the signature verification process. | ||
|
||
## Conclusion | ||
|
||
CIP-712 provides a standardized approach to structured data signature verification in Core Blockchain-based applications. Its adoption can enhance security and usability in a wide range of decentralized systems. | ||
|
||
## Copyright | ||
|
||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |