Orchestrator designated signers
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 155
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
Orchestrators should be able to designate different signer addresses for a few reasons:
- Multi node setups
- Improved key security since the master key controlling stake can be held in cold storage
- Different keys for different responsibilities i.e. one for signing transcoded results, one for calling reward, etc.
For previous discussion on this topic:
- Orchestrator specific: https://github.com/livepeer/LIPs/issues/7
- Focused on broadcasters, but the point about why we can't allow users to bring their own contracts for signature verification holds here as well https://github.com/livepeer/LIPs/issues/13#issuecomment-436807948 This was not as relevant in the V1 protocol because O/T signatures did not need to be verified, however, in Streamflow O's signatures will likely need to be verified as a part of on-chain verification (B would submit O's signatures with challenged segments).
Broadcaster designated signers is already being implemented as a part of PM (#262 #265). We can follow the same approach for enabling orchestrator designated signers.
There are a few options here to avoid logic duplication:
- Extract the signer approval/revocation logic into a SignerRegistry contract that can be inherited from any contract that needs to support this type of logic. Both TicketBroker and the staking contract could inherit from this contract
- Extract the signer approval/revocation logic into a SignerRegistry contract that serves as a global registry that TicketBroker and the staking contract would use to check signatures
I'm currently inclined to use the first approach to avoid additional external contract calls and the requirement for TicketBroker and the staking contract to know about an additional contract address.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation files or tests are named. Start by reviewing the broadcaster designated-signer work in PM issues #262 and #265, then read LIPs #7 and #13 for the protocol context and compare the proposed registry approaches. Done requires an agreed design and implemented orchestrator signer approval and revocation behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- solidity
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100