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.

Functionality
Management
TokenBridge
MessageBridge

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