Introduction
Welcome to the Observing Optics Workshop, hosted by Conor Swan from C Labs. In this workshop, Conor will discuss the deployment process and observability system of Optics, the inter-chain bridge communication channel. Optics is designed to provide a simple, gas-efficient interoperability standard for cross-chain communication. It is cost-effective, offers a standard for building cross-chain applications, and is relatively easy to implement compared to other existing blockchain bridges.
Understanding Optics
Optics is a unidirectional communication channel between two blockchains that enables the transfer of any type of data. Think of it as a TCP connection, but with some distinctions. The goal is to connect Celo with various other blockchains, expanding its reach and interoperability.
Observing Distributed Systems
Observability is crucial for monitoring the behavior and outputs of a system over time. It helps detect regressions and abnormalities. In the case of Optics, you can monitor smart contract data, agent behavior, transaction latency, message latency, and the internal call graph of the application.
Tools for Observability
To monitor Optics, logging is primarily used. Additionally, a distributed tracing system is being developed to provide an overarching view of the system. Metrics and a blockchain-aware monitoring agent are also being built to gain insights into the smart contracts.
Monitoring Dashboard
The workshop showcases a monitoring dashboard used at C Labs to detect bugs and track the behavior of agents. The dashboard displays interactions, confirmed transactions, and logs from the agents. It helps identify errors and provides visibility into different parts of the system.
Deployment Process
The deployment of Optics involves running Docker containers in a Kubernetes infrastructure. Kubernetes is a tool used to run Docker containers at scale. Smart contract deployments are done using Hardhat, a popular TypeScript development environment. C Labs has provided Helm charts for easy deployment and management of the bridge.
Running Optics Bridge
While running an Optics bridge is not necessary to enjoy its benefits, if you’re interested, you can discuss it with the team. However, most developers would prefer to build cross-chain applications using Optics rather than running the bridge themselves.
Current Deployment and Future Plans
At present, there is a deployment between Covan (Ethereum testnet) and Alpha Horus (Celo testnet). The goal is to establish a bi-directional channel between Celo and Ethereum mainnet. X-apps, or cross-chain applications, can be built on top of Optics, with a simple token bridge being a popular example.
Incentives and Decentralization
Currently, the updater is the only incentivized agent in the system. It requires enrollment in the home and replicas and is bonded with a fee. The Optics team will initially operate the bridge, but the plan is to introduce incentives that will lead to decentralization over time.