KlayOracle January community roundup — Rebuilding KlayOracle
Dear KlayOracle community,
Hello and welcome to the first version of KlayOracle’s monthly updates, a monthly series created for our community to stay informed of everything we’ve been up to over the last month.
Back to the drawing board
Over the past few weeks, we’ve gone back to the drawing board to reorganize the product from the ground up to be more scalable and efficient, in order to achieve our intended growth goals.
Here are some highlights of what we’ve been up to:
1. Organizational updates
1.2 Newly reorganized milestones & OKRs
We have reorganized & modified our original milestones into OKRs (Objectives & Key Results) in order to be more focused & efficient, and link the daily work we do to larger company goals. Here is a summary of our Q1 2023 OKRs:
Objective
KlayOracle to be in active use on Klaytn testnet.
Key Results
- 25 Klaytn projects using KlayOracle on testnet.
- Secure 3 “partners” running public KlayOracle nodes.
- Secure $250,000 seed funding.
In order to achieve the above results by the end of Q1 2023, we have outlined the following key deliverables:
Milestone 1 Engineering & Product Deliverables (Due Date: 14.02.2023)
Engineering
- Integrate at least 10 data feeds into oracle, and implement integrity checks. ⏳
- Node re-architecture (improved security such as message signing, improved aggregator mechanism, etc).⏳
- Initiator package — trigger timers & parameters for updating data feeds.
- Build CI / CD flow for standardization — outsource to DevOps engineer.
- Node Dockerization — node runners can download a docker container and start running nodes quickly.
Product & Marketing
- Company registration ✅
- Updated & comprehensive documentation ⏳
- Community — product updates on Discord, Medium, Twitter & Telegram ⏳
- Partner outreach (secure node runners, developer partners, data sources)
- Updated investor & partnership deck
Milestone 2 Engineering & Product Deliverables (Due Date: 31.03.2023)
Engineering
- Smart contract code audit and fixes implemented for Go and Solidity codes (with help from the Klaytn Foundation).
- Load and PEN Tests
- Improved adapter with UI builder (for node runners to be able to setup & manage nodes and data feeds)
- Visualization Dashboard (Active Nodes, Available Data Feeds, Tokens earned, Token slashed, e.t.c)
- API & SDKs — for wallets & exchanges & public dashboards
Product & Marketing
- Protocol Tokenization (with help from the Klaytn Foundation).
- Investor outreach
- Video tutorials
- New website
You can find a live tracker of our Q1 OKRs and milestones here — https://www.notion.so/OKRs-8aa09ceaad16454a9d50d72ee9818699
1.2 Winning at the Klaymakers 2022 hackathon
We’re pleased to announce that we won first prize in the Public Goods track at the Klaymakers 22 hackathon.
Through this hackathon, we’ve been able to deepen our relationship with the Klaytn Foundation and Dora Hacks, who have pledged their support in helping us achieve some of our key goals for the quarter.
2. Technology Updates
2.1 Proposed Protocol re-architecture
After setting our Q1 goals, one of the things we realized was that in order for KlayOracle to reliably serve 25 projects on the Klaytn blockchain, we’d have to re-architect core parts of the platform.
In KlayOracle’s original architecture, data feeds, oracle contracts, and nodes were tightly coupled. Node operators were required to set up data feeds and define adapters (a list of data feeds) directly within their nodes.
The challenge this brings up is that: (i) there is an additional cost & time responsibility on node operators to source and pay for data sources in order to run data feeds. (ii) in cases where they are unable to acquire enough data sources, CPU resources will be wasted due to a low number of data feeds, hence making the idea of running nodes unattractive.
It would be more difficult to achieve true scale and decentralization if one party (the node runner) is responsible for providing computational resources as well as paying for different APIs to use as off-chain data sources.
This re-architecture includes a complete overhaul of our node platform and adapters, and enables increased decentralization & security, and for us to support the tokenization of the KlayOracle protocol.
Here are a few key changes proposed in the architecture redesign:
- Our proposed architecture update focuses on one key theme — the separation of concerns in order to maximize the resources of each participant in the network. In the new KlayOracle, adapters have been renamed as Data Providers and will run independently from nodes.
- What if Data Providers focus on sourcing data feeds and adding more of them over time, while node operators run as many data providers as are willing to use them, so far as their node(s) have the capacity to fulfill their requests?
- In KlayOracle’s new architecture, data providers can now configure their respective data feeds and oracle contracts and subscribe to one or several verified nodes to fetch & compute these data based on the provider’s configuration.
- They subscribe to these node runners by paying them a monthly fee (either in KLAY, Klaytn’s native token, or KlayOracle’s tokens) to run the computations necessary to fetch data feeds and maintain their truthiness on-chain.
- Data providers and nodes will communicate and exchange information via gRPC and Protocol Buffer.
- Data subscribers (smart contract, API services, Wallets) in turn subscribe to Data Providers in order to access on-chain data, by being whitelisted on the Oracle Contract deployed by the Data Provider.
The image below illustrates the proposed architecture for KlayOracle v1.0.0
You can read a detailed explanation of the proposed changes in the feature’s Architecture Decision Record.
Our estimated launch date for the new release on Klaytn testnet is 07/04/2022.
You can also track the development of this rewrite via our Release Tracker.
2.2 KlayOracle ADRs
We have also adopted ADRs (Architecture Decision Records) — a collection of records for “architecturally significant” decisions: those that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques of the KlayOracle protocol.
These ADRs allow us to share key technology decisions and the rationale behind them, receive early feedback from the developer & open-source community, as well as provide historical reference for any new developers that may contribute to KlayOracle.
Here is a sample of our first ADR — documenting the proposed node re-architecture of KlayOracle.
You can also track all ADRs for all present and future technological decisions on our GitHub.
What’s next?
Over the next 3–5 weeks, we’ll be in core execution mode focused on the following deliverables:
- Begin protocol architecture rewrite
- CI/CD flows for standardized deployments
- Start designing KlayOracle Explorer (public dashboard for nodes & data feeds)
- Update our website and documentation to reflect our new direction.
Thanks for keeping up with KlayOracle! We hope you had a great holiday and wish you an amazing New Year.
Make sure to follow us on all our channels to stay up-to-date on all things KlayOracle.
Connect with KlayOracle: