Roles and Responsibilities
The bridge involves several distinct roles that are managed in the BridgeManagement contract. Besides the already elaborated Validator and Relayer role, there exist the following additional roles:
Owner
Governor
SecurityGuard
The owner is a multi-sig account consisting of keys stored in cold wallets. Its main responsibility is assigning roles as well as performing contract updates. On Neo X exclusively, the responsibility of updating the contracts lies with the Neo X committee, ultimately reducing the owner's responsibility on the bridge contracts on Neo X to role assigning only.
The governor is responsible for pausing/unpausing, updating parameters, and registering tokens.
Finally, the security guard is allowed to pause contracts with the intention of using this role for emergency intervention.
The table below provides an overview of the main functionalities of the smart contracts and who is allowed to use them.
Update Contract (N3/Neo X)
Owner/Committee
Owner/Committee
Owner/Committee
Assign Roles
Owner
-
-
Pause
-
Governor and SecurityGuard
Governor and SecurityGuard
Unpause
-
Governor
Governor
Update a Parameter (e.g., fee)
-
Governor
Governor
Register a Token
-
Governor
Governor
Request Bridging Tokens/Messages
-
Anyone
Anyone
Relaying Requests
-
Relayer (incl. enough Validator signatures)
Relayer (incl. enough Validator signatures)
IMPORTANT:
Although only the relayer is authorized to use the distribution/relaying functionality, it requires sufficiently enough signatures of validators. The required threshold of validator signatures is set in the BridgeManagement contract.
Last updated