Verifier Registry smart contract
shaharyakir opened this issue · comments
Summary
Write a smart contract ("Verifier Registry") for forwarding signed messages to other contracts
Context
We run computations on off-chain nodes that produce data which needs to be stored on chain in various contracts.
In order for these contracts to accept the data, they require it to be signed by the off-chain nodes, each of which has a public/private keypair.
The verifier registry holds the list of keypairs and verifies signatures of arbitrary data passed on to the contracts downstream.
Flow
- An entity stakes a certain amount (10K TON) in the verifier registry contract, for which it receives the ability to store its verify configuration (node addresses, public keys for verification, multi-sig threshold)
- Once the configuration is in place, the entity can send a signed message and an address to forward the message to.
- The verifier contracts checks the signatures and forwards the message
Detailed spec can be found in this gist
Goals
Develop a smart contract ("Verifier Registry") for forwarding signed messages to other contracts
Deliverables
- Github repo with contract (func 0.2.0 using latest syntax)
- Full tests (typescript, tvm-contract-executor)
- Code for deploying the contract (typescript)
Definition of Done
The contract can be integrated to the Ton Source project (a smart contract that accepts messages only from the verifier registry)
Reward
- 2.000 TON
This grant is funded by Orbs as part of its ecosystem grant program.
Total: $2600
Im ready to implement
It is done already, waiting for reward :)
It is done already, waiting for reward :)
Have you opened a PR ?
Thank you, investigating