Synopsis

The Freeos DAO is a type of democratic Universal Basic Income where participants vote on the monetary policy each week for an equal share of the "mint" for participating.

The vote on the monetary supply is important because it gives the system a fighting chance to help manage the supply, demand, liquidity and volume aspects of the economy—which requires a strong need for trusted oracles.

Our team has started a working proof-of-concept on an oracle system—powered by the Internet Computer and triggered by the activity of the Freeos participants—that we call Cronacle.

This oracle helps Freeos DAO with our needs for oracle services that tie into this important monetary policy vote, and we also aspire to extend this into a cross-chain solution to bring the Freeos DAO to be a cross-chain DAO to be anti-fragile and more resistant.

Our further aspirations are to build Cronacle as a DAO and open oracle service for other, third-party dApps that need oracle—or cross-chain—solutions. The Internet Computer Protocol allows for such aspirations to be achieved—with its focus on bridging Web2 with Web3, as well as signing cross-chain transactions securely on many other blockchain platforms.

Inspiration

Cronacle came about to address a number of needs in the development of the Freeos Economic System—both immediate and long-term.

One of the design principles of Freeos was to create an unstoppable financial system governed by the people, for the people. Without decentralized oracles, a decentralized user interface and being on more truly decentralized blockchain platforms—we would be reliant on centralized services.

We initially explored the Dfinity Internet Computer’s (IC) decentralized frontend hosting and launched our Open Beta's static web frontend using an IC container. The goal was to establish a decentralized and unstoppable frontend to help ensure our dApp was more authentically decentralized.

We then noticed upcoming features of Dfinity that might be used to drive a decentralized oracle and way for Freeos to be cross-chain—utilizing Dfinity’s HTTP Requests and ECDSA Threshold signing—allowing a secure way to read and write to most of the major blockchains.

Additionally, knowing how many frequent transactions that our Freeos system was generating—even in the Open Beta—we surmised that this activity could piggyback the initialisation of our oracle and cross-chain processes. Similar to how Augur leveraged prediction markets to create a crowd-initiated oracle in the Ethereum ecosystem.

The architecture of the Freeos system already included a function we called "tick" that bundled any "automated" processes we needed to kick off, and piggybacked the tick action to our commonly called actions—knowing the incentives of our tokenomics design drove the activity volume to make the system work.

If we could utilize the Freeos participants to drive our own oracle and cross-chain needs—in a similar way to our tick function—then the same activity could be leveraged to drive an open, decentralized, blockchain-native, trustless oracle system.

Thus the concept of Cronacle—a decentralised, blockchain-native oracle—was born and we successfully received a 25K Dfinity Foundation Grant for our primary explorations and proof-of-concept.

Add some of the security features pioneered by other oracles—with the already secure qualities of native ECDSA signing and HTTP Requests provided by Dfinity, then a very valuable service could be built off the back of our proof-of-concept.

What it does

In its proof-of-concept form, Cronacle piggybacks on the high-volume transactions of the Freeos DAO and leverages the front-end hosting features of an Internet Computer cannister to fetch CoinGecko and Protonchain's price data through their APIs and then stamps the price of Bitcoin and the price of FREEOS at the moment the participant signs a transaction (Claim, Unlock, Mint) on the Proton blockchain.

The current way it is doing this is by getting API calls and parsing the JSON in the frontend.

We are very aware that this method is not secure and data could be intercepted and altered, but this technique was used in substitute for the upcoming HTTP Request feature that was not yet available. At the moment, no system relies on this data for anything mission-critical, so this proof-of-concept is merely a placeholder.

Since the Proton blockchain includes an easily accessible, free, KYC service, there could conceivably be a way to have data stamped by verified individuals—with reputation and/or slashing penalties to help mitigate the risk—in addition to the more secure, native HTTP Request feature that is upcoming that would move this logic from the frontend to be directly within the canister.

How we built it

We leveraged the fact that the Proton SDK allowed us to sign transactions within an IC-hosted static web application and allowed us to inject data received from APIs into a Proton transaction.

Having a gas-free blockchain combined with the Freeos DAO that incentivises transactions meant that could have many opportunities to stamp this data on the Proton blockchain.

We experimented with an early NFT oracle bidding system that accepted the freely earned FREEOS tokens to bid on hundreds of NFTs. In this experiment, we noticed that the focus on winning an NFT meant no users were motivated to try to modify the oracle data—despite how insecure it actually was.

We also modified this oracle to also update the price within an IC canister and was able to have the same data available on the Internet Computer.

We also explored allowing users to tie their Proton account with their Internet Identity—since Proton includes KYC—this verification could be utilised by IC dApps.

Challenges we ran into

At first, one of the main challenges we ran into was deployment. We would often come across errors in deploying our code that we could not find any documentation support that clearly explained what the issue might be.

Our next challenge was not progressing further past our early proof-of-concept as we were waiting for the native HTTP Request feature that would have replaced our frontend solution with a more secure, canister-driven solution.

That being said, other than those challenges, the Internet Computer has been amazingly robust and well architected. It feels like a technology of the future, and we are excited to be developing within it as one of the early projects in the ecosystem.

Of note, one challenge that we had concerns about—integrating with the Proton SDK and getting transactions signed in a canister-hosted frontend—was not a concern at all. Everything worked perfectly in our first try, which was an extremely pleasant surprise for the team.

Accomplishments that we're proud of

We received hundreds of community-driven transactions by building an NFT auction that used the FREEOS token where each bid action would simultaneously update the price of BTC in our Proton tables. This history can be seen here: https://www.protonscan.io/account/cronacle?loadContract=true&tab=Tables&account=cronacle&scope=cronacle&limit=100&table=btcprice

We were proud that a proof-of-concept showed that sufficient transaction activity could drive a prototype of an oracle system. We felt assured that migrating to the upcoming HTTP Request feature would allow this to be more secure and the upcoming ECDSA Threshold Signing feature could pave the way to being a cross-chain dApp.

What we learned

As we were new to the Internet Computer, we learned the nuances of deployment, how to fund a canister with cycles, how to structure a project's folder for deployment, how to save data, and call methods, and integrate Internet Identity into a dApp (as our earlier grant milestones included Internet Identity and canister functionality).

What's next for Cronacle + Freeos

We would migrate our proof-of-concept to use HTTP Requests and ECDSA Threshold Signing to make Freeos a true cross-chain dApp, and to bring in the oracle data we need to support the monetary policy voting that the Freeos DAO participants require to make the system work effectively.

The key elements that need to be cross-chain are the supply (we have a unique logic for supply called "Conditionally Limited Supply") and the result of the three stages: Survey, Vote and Ratify. All other logic can be native in the dApp on the other chain. To help ensure reliability, we would incentivise beyond just being purely driven by the Freeos participant's daily actions and reward CRON tokens to Validators, and those helping support the needs of the data Feeds.

Once we have demonstrated this, in our own project, we would extend this service so third-party dApps could subscribe to the service of this cross-chain oracle system, again using CRON tokens.

Problem

Oracles are so fundamental to the future of Web 3 that this problem is widely referred to as “The Oracle Problem” within the ecosystem. Without a trusted, and decentralized way to validate off-chain data sources onto the blockchain, robust, mission-critical applications that take in rich data cannot be securely built. Essentially a blockchain can be likened to a PC without the internet—still powerful and useful but severely limited and hampered in its potential.

Oracles are not only a decentralization problem—it’s also a problem of governance and ownership. Not only can a corrupted data source—whether malicious or malfunctioning—can put a smart contract at serious risk, so can a corrupted oracle provider.

Additionally, many of the current oracles are expensive, difficult to use and manage, and require cozy relationships to work with to bring their APIs and services to a developer’s blockchain platform of choice.

Solution

A DAO managing the governance of the protocol, the API sources, the Validators, and incentive structures can mitigate many of the problems with current oracles

Cronacle DAO is a truly decentralized, blockchain-native oracle which is community-owned and managed.

It is low-cost, due to the Internet Computer’s low costs + piggybacking on Freeos Economic System’s high transaction throughput as a base layer, with CRON Feeds and Validators to provide extra assurance that the data is secure and consistent.

It is trustless and permissionless, allowing any API call to be submitted by developers—without asking node providers for permission via the Internet Comptuer’s native HTTP Requests feature.

It is cross-chain and blockchain-native, signing transactions directly on-chain via the Intenet Comptuer’s native ECDSA threshold signing feature.

A base level of cheap transactions are automatically signed for simple, non-mission critical applications via the crowd—piggybacking off the incentivised transactions occurring using the mass-market Freeos Economic System, a high-transactionDAO that democratically mines and manages a currency and economy as a democratic UBI. Cheap transactions allow small-scale developers to have a way to start building their solutions.

Mission-critical transactions are validated and secured by the Validators and Witnesses to ensure extra reliability and security for dApps that manage or hold more significant amounts of value.

The development of this oracle will first be used to help build a version of the Freeos DAO native on the Internet Computer that is synchronised with the version on the Proton blockchain. Additionally, Proton's KYC will allow Internet Identities to be assigned to verified, KYC'd Proton account names.

  1. To experience our proof-of-concept live, we recommend reading this article
  2. And then going to our canister address here: https://xwqat-7aaaa-aaaad-qafaq-cai.raw.ic0.app/
  3. Claiming, Voting and Minting will use the oracle to update BTC and FREEOS prices, with the results seen on the Proton block explorer

Tokenomics

Holders of the native tokens (CRON) can stake their tokens to be Validators for reaching consensus on API data sources and its validity stamped onto the blockchain.

APIs are submitted and subscribed to also using CRON tokens by developers—allowing developers to choose the APIs they wish to utilize, opening up the protocol to build any conceivable dApp. Later, this can apply to allowing customers to easily trigger cross-chain applications and to offer bridges for their native tokens to various chains—as a service.

Vision

The Freeos DAO needs reliable oracle services that are truly decentralised and secure to be an effective democratic UBI where the participants can truly have some tangible say in their own economic system.

Additionally our vision is that the Freeos DAO is available on multiple blockchains—to allow more participants to benefit from this democratic UBI solution. Our first endeavours will be to build a native version of the Freeos dApp on the Internet Computer that is synchronised with the Proton-native Freeos dApp—and then move on to other blockchains.

But our ultimate vision is that the future of Web3 is cross-chain, and if we build this service for our own needs, it can be useful as a service for others. We forsee this as being increasingly valuable as the industry moves towards a truly cross-chain future.

The amazing, alien-like-tech of the Internet Computer can be this cross-chain hub as well as a secure and trusted connection to the Web2 world. Through attempting to solve our own needs, we now envision a valuable service that we can provide to help facilitate the arrival of this interconnected, interoperable future and—through our existing Freeos DAO—provide a more truly "universal" basic income where each person has a say in their own economy.

Built With

  • c++
  • motoko
  • protonsdk
  • quasar
  • svelte
  • vue
+ 24 more
Share this project:

Updates