As of today, the Liquid Network’s functionary source code is free and open-source to the public. The release allows anyone to audit the code that runs the functionaries and to create their own Liquid-like network with similar features, such as Confidential Transactions and asset issuance.

More specifically, with the functionary code, independent parties and users can now review how:

  • Unsigned Liquid blocks are produced (in Elements)
  • Liquid blocks are distributed and signed
  • DynaFed transitions, which update the set of functionaries who operate the network, are coordinated
  • Network parameters are added to the block headers to update consensus rules
  • UTXOs are swept back to the Federation address when they are close to expiring
  • Peg-outs are analyzed and delivered

This fulfills a long standing goal to release the code after the Dynamic Federations (DynaFed) update. DynaFed enables the dynamic addition and removal of functionaries from Liquid, allowing the number of functionaries to be changed more elegantly and securely without needing to fork. If one functionary is unavailable, the network remains unaffected by seamlessly substituting one functionary for another to sign blocks.

Head of Liquid Engineering, Pablo Greco discusses the new FOSS functionary code, creates his own LIquid-like network, and takes questions from the community.

What is a Liquid Functionary?


As a refresher, let's revisit how the Liquid functionaries operate and how Liquid works overall.

Liquid is governed by its federated model of geographically and geopolitically distributed members. Of these 67 members, 15 operate functionaries that run custom-built hardware security modules (HSMs) and specialized software to produce blocks and manage the pegged bitcoin in an 11-of-15 multisignature wallet.

Each functionary has two security components: the hardware and software. The Federation member’s host and the custom-built HSMs at the hardware level. And second, at the software level, the Blocksigner and Watchmen, which communicate with each other inside the HSM.

The Blocksigner software asks Elements for an unsigned block and then distributes it to the other functionaries so each can sign, combine the signatures, and add them to the Liquid Network. The Watchmen software manages the multisignature wallet that handles the pegged bitcoin, delivering peg-outs, and sweeping the controlled UTXOs before they expire.

Read here for more information on Liquid's security and governance model.

What’s Next for Liquid Development?


Liquid has taken significant steps toward transparency and resilience by open-sourcing its Watchmen and Blocksigner code and activating DynaFed. While Elements has always been FOSS, releasing the functionary code represents an important milestone for Liquid and for Elements development.

We invite community feedback on further improvements via the official Liquid Telegram channel or the Liquid Build On L2 (BOL2) community. Continue to check in, as we are preparing a more technical explainer of the functionary code release next week on BOL2.