AVM: Adding sumhash and falcon_verify#5599
Conversation
ac0b426 to
7817578
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #5599 +/- ##
==========================================
- Coverage 55.95% 55.92% -0.03%
==========================================
Files 477 477
Lines 67436 67455 +19
==========================================
- Hits 37736 37727 -9
- Misses 27149 27168 +19
- Partials 2551 2560 +9 ☔ View full report in Codecov by Sentry. |
25f1155 to
62f4349
Compare
2e0607a to
9892c58
Compare
|
It is likely that a state proof checking AVM contract would also need access to this: as an opcode. |
|
Out of curiosity would this enable:
|
|
The intention was to allow 1. But this is a low priority thing I did for fun one day. We'd need someone to put in the effort to show it could be done before pushing this into mainnet. I don't think it gives you 2, unless you implement fast catch-up by going through state proofs in an AVM contract. Maybe? |
9892c58 to
b39a610
Compare
b39a610 to
ca021c0
Compare
ca021c0 to
a2b23cb
Compare
This should allow the AVM to check state proofs
a2b23cb to
b0c449d
Compare
This should allow the AVM to check state proofs and/or create PQ safe Algorand accounts
AVM state proof checking would still be a lot of work. State proofs are really big, so the verification would have to be incremental, by feeding in parts of the proof a little at a time.
It should be possible to create PQ safe accounts today with
falcon_verifyby creating a logicsig that approves if the logicsig args conatin a falcon signature of the transaction. An extra precaution would be to ensure that the logicsig address (formed by hash of program) is an invalid ed25519 public key.There is at least a little interest in
sumhash512on its own as well, since it is a zk friendly hash.These opcodes would be kept "experimental" (always one version beyond mainnet) until they are proven sufficient for something useful.