Skip to content

SIMD-0152: Precompiles#152

Merged
joncinque merged 3 commits intosolana-foundation:mainfrom
0x0ece:precompiles
Jun 20, 2024
Merged

SIMD-0152: Precompiles#152
joncinque merged 3 commits intosolana-foundation:mainfrom
0x0ece:precompiles

Conversation

@0x0ece
Copy link
Copy Markdown
Contributor

@0x0ece 0x0ece commented Jun 4, 2024

Summary

Define a unified behavior for precompiles, and highlight a few minor
changes to the existing precompiles to minimize differences.

Motivation

Precompiles are special native programs designed to verify additional
transaction signatures.
They run without the VM and without loading any account, and they can access
data from other instructions, within the same transaction.

At the time of writing, two precompiles exist to verify Ed25519 and
Ethereum-like Secp256k1 signatures, and another one is being proposed to
support Secp256r1 signatures for FIDO Passkeys.

Historically, the two precompiles were built at different times and
by different people, so naturally there are some subtle differences
in how they behave, especially in edge cases.

The main goal of this document is to provide a specification for how
a precompile should behave, remove differences and provide guidelines
for future proposals.

In addition, we highlight 3 minor changes to the existing precompiles
that will simplify their behavior and make it easier to develop
alternative validator clients.

Copy link
Copy Markdown
Contributor

@samkim-crypto samkim-crypto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me and sorry for the delay on this.

Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md Outdated
Comment thread proposals/0152-precompiles.md Outdated
Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
Copy link
Copy Markdown
Contributor

@topointon-jump topointon-jump left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Left some minor comments 😄

Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
Comment thread proposals/0152-precompiles.md
@samkim-crypto
Copy link
Copy Markdown
Contributor

@jacobcreech, it seems like we have reached consensus, but I cannot seem to merge it. Can you help with merging 🙏 ?

@joncinque joncinque merged commit ad5c150 into solana-foundation:main Jun 20, 2024
@lheeger-jump
Copy link
Copy Markdown
Contributor

Yay great work @0x0ece!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants