LogoLogo
  • πŸͺ™Introduction
    • Overview
  • πŸ”©System Components
    • Architecture
    • Custodial Addresses
    • Onchain Smart Contracts
      • FBTC Bridge
      • FBTC Minter
      • FBTC Token
      • Fee Model
    • Offchain Service
  • πŸ’‘Ecosystem
    • Locked FBTC Token
      • Locked FBTC Protocols Information
  • πŸ”Security
    • Roles
    • Contract Permission
    • Bitcoin Reserve Address
    • Risk Management
      • Pausing
      • Upgradability
      • Custody
  • πŸ‘‰PROOF OF RESERVE
    • Proof of Reserve
    • FBTC-BTC Price Feed
  • πŸ› οΈDevelopers
    • Smart Contracts
  • πŸͺ¬More
    • FAQs
    • Audit Reports
Powered by GitBook
On this page
  1. Security
  2. Risk Management

Upgradability

PreviousPausingNextCustody

Last updated 11 months ago

The contract upgrade mechanism is a fundamental feature of the FBTC project, allowing the system to evolve and improve over time without disrupting existing operations. By leveraging proxy contracts and a well-defined upgrade process, FBTC ensures that contract upgrades can be implemented smoothly and securely.

Upgradability

FBTC achieves on-chain logic through a combination of proxy contracts and implementation contracts:

  • Proxy Contract: This is the contract with which users and other system components interact. All data is stored in the proxy contract.

  • Implementation Contract: This contract contains the core logic but does not store any data.

FBTC uses the OpenZeppelin TransparentUpgradeableProxy contract to enable contract upgradability. During an upgrade, the proxy contract points to the newly deployed implementation contract without changing the proxy contract's address.

For more details, please refer to:

πŸ”
Upgrades via the Proxy Pattern
Transparent Proxies