Orbis-Tertius / Orbis

A general-purpose layer 2 zk-rollup scaling solution for Cardano
Apache License 2.0
21 stars 1 forks source link

Create spec of extended TinyRAM ISA #77

Open morganthomas opened 2 years ago

morganthomas commented 2 years ago

Specify Orbis V1's fork of the TinyRAM 2.0 ISA, to include the following extensions: SHA2-256, SHA3-256, Blake2b-256, verify Ed25519 signature, verify ECDSA Secp256k1 signature, verify Schnorr signature, and field arithmetic in the native prime field of the containing circuit.

Questions. Do we have a separate address space for field elements, or do we use the same address space? If we use the same address space, does a field element occupy one address or more than one address? Do we have separate registers for field elements and for words? If so, what instructions do we offer for casting between word registers and field element registers?

morganthomas commented 2 years ago

Let's also remove NOT; it's redundant.

moreSocratic commented 2 years ago

WIP here: https://github.com/Orbis-Tertius/tinyram-extended-instruction-set