@@ -4,15 +4,25 @@ sidebar_class_name: hidden
44
55# EchoNet: considerations for the economy of a decentralized network
66
7- ## Context
7+ The following will seek to assess the economic implications for Orcfax as it
8+ continues research and development into maturing its decentralized network of
9+ validator nodes, known as EchoNet, through the integration of staking and
10+ consensus mechanisms. Where necessary, specific considerations relating to
11+ staking and consensus in terms of economic impacts or their requirements will be
12+ addressed separately, however the two mechanisms share considerable overlap in
13+ both areas; for this reason, unless addressed separately, the following applies
14+ to both.
15+
16+ ## 1. Context
817
918A decentralized service is a service provided by a set of separate autonomous
1019participants that are not subject to a hierarchy. Within the network of
1120participants, the majority share the common purpose of providing a good service.
1221However, some participants may be incompetent or even have malign intent.
1322Because of this possibility, each is suspicious of the others. This network of
1423mutually suspicious participants must coordinate the running of a distributed
15- service.
24+ service. Orcfax endeavors to develop such a system in order to migrate its
25+ current mainnet oracle services to a fully decentralized solution for Cardano.
1626
1727Part of an overall design of such a system is providing tooling which enables
1828them to reach agreement over various network related tasks; this is consensus.
@@ -21,33 +31,46 @@ the good service they provide and are strongly discouraged from behaving badly;
2131staking is the term we use to encapsulate the process governing this aspect of a
2232decentralized service.
2333
24- The following will seek to assess the economic implications for Orcfax as it
25- continues research and development into maturing its decentralized network of
26- validator nodes, known as EchoNet, through the integration of staking and
27- consensus mechanisms. Where necessary, specific considerations relating to
28- staking and consensus in terms of economic impacts will be addressed separately,
29- however the two mechanisms share considerable overlap in terms of economic
30- considerations; for this reason, unless addressed separately, the following
31- applies to both.
32-
33- ## Use cases
34-
35- Projects which may benefit from the catalyst project deliverables, from either
36- the consensus or staking proposals, may be any which require a set of
37- participants to provide a service on behalf of the project in a decentralized
38- manner; the design of the consensus and staking proof of concepts continue to be
39- executed in such a way that while in context of this proposal, the service
40- provision is an oracle, it need not be as this aspect is off-chain.
34+ ## 2. Use cases
35+
36+ The number of projects which may benefit from the deliverables coming out of the
37+ f12 proposals pertaining to consensus and staking are numerous; this is because
38+ the deliverables are useful for any project which desires to move complexity off
39+ the L1 and requires a set of participants to provide a service, on behalf of the
40+ project, in a decentralized manner.
41+
42+ It's easy to imagine projects which might wish to build upon existing web2
43+ services and to make them more publicly transparent, or their records more
44+ secure, by decentralizing them. A decentralized weather forecast service, flood
45+ insurance claims, digital gambling, and verified sports scores could be
46+ meaningfully improvised by a network of participants that were responsible for
47+ corroborating their data prior to leveraging it on the L1; many could also
48+ decide that those with the ability to corroborate data with financial value,
49+ need to stake something of value themselves in order to deter bad behaviour. The
50+ users or consumers of such service would benefit from increased protection
51+ against erroneous data, improperly executed transactions, and they may feel more
52+ secure in the knowledge that bad actors are financially impacted by their
53+ actions.
54+
55+ The incorporation of either of these components by other projects would also
56+ mark their commitment to decentralization and the desire to increase overall
57+ transparency, both of which are valued qualities among the Cardano community.
58+
59+ The number of potential use cases are numerous and as projects on cardano
60+ continue to innovate, the number will continue to increase. Knowing this, the
61+ design of the consensus and staking proof of concepts continue to be executed in
62+ such a way that while in context of this proposal, the service provision is an
63+ oracle, it need not be and could be applied to many other project use cases as
64+ these mechanisms are primarily off-chain. It being our hope that this modular
65+ approach should allow for greater integrator flexibility across use cases.
4166
4267Each PoC also black-boxes the other, so while the Orcfax use case will utilize
4368both a staking and consensus mechanism, others may choose to leverage them
44- independently.
69+ independently. Our team has elected to design these PoC's in this fashion
70+ because we understand that The deliverables from these projects have broad
71+ utility and may be used by projects offering diverse services to their users.
4572
46- Our team has elected to design these PoC's in this fashion because we understand
47- that The deliverables from these projects have broad utility and may be used by
48- projects offering diverse services to their users.
49-
50- ### Specific considerations for Staking
73+ ### 2.1 Specific considerations for Staking
5174
5275Projects assessing the implementation of a decentralized network may assume that
5376most participants will be honest and competent, and that they will continue to
@@ -56,7 +79,7 @@ straightforward and financially neutral. However, they are without hierarchy or
5679a priori obligation to provide this service or cooperate with one another.
5780
5881This is why the output system must provide the incentive structure that, under
59- these assumptions, will result in good service provision .
82+ these assumptions, will result in the expected service .
6083
6184A participant's behaviour is accounted for: good behaviour that aids the quality
6285of service provision is measured, as is bad behaviour. We can assume that the
@@ -67,10 +90,12 @@ say once every 24 hours.
6790The rewards for good behaviour and service are paid out from a 'treasury' and
6891forfeit funds are paid to the treasury. The currency will be a native asset. The
6992project output should include the scripts governing these aspects of the
70- treasury. Other funding of the treasury is beyond project scope. We will assume
71- the treasury is sufficiently funded to meet the burden of conveying rewards.
93+ treasury. For use cases beyond an oracle service, we will assume the treasury is
94+ sufficiently funded to meet the burden of conveying rewards. More details
95+ regarding the Orcfax specific use case and the treasury from which we will pay
96+ rewards will be covered in a later section.
7297
73- ## Orcfax staking: rewarding good behaviour
98+ ## 3. Orcfax staking: rewarding good behaviour
7499
75100Orcfax is an aspiring decentralized Oracle service. To participate within the
76101network, a participant must be in possession of two types of Cardano native
@@ -97,7 +122,7 @@ taken. The wrong incentive structure may either:
97122
98123Both are bad for the long term health of the service.
99124
100- ### Components overview
125+ ### 3.1 Staking components overview
101126
102127The following are the key components of the consensus PoC:
103128
@@ -114,7 +139,7 @@ milestone 3.
114139
115140:::
116141
117- #### The Constitution
142+ #### 3.1.1 The Constitution
118143
119144The constitution holds any dynamic data required by the protocol. This is a
120145simple, classic design consisting of a multipurpose script with spend and mint
@@ -126,7 +151,7 @@ contains the pubkey. It can be spent only if the pubkey signs the transaction.
126151If the tokens are not burnt in the transaction, then the validity token must be
127152output to the same address.
128153
129- #### The Safe
154+ #### 3.1.2 The Safe
130155
131156The safe holds participants' funds. These are at risk if the participant is
132157deemed to behave badly. It is also required to claim rewards.
@@ -183,18 +208,18 @@ If sufficient participants deem a participant with either a `Locked` or
183208empties the contents of the safe into the treasury. The script ensures this is
184209permitted only when signed by the constitution.
185210
186- #### The Hold
211+ #### 3.1.3 The Hold
187212
188213The ` Hold ` is a simple script which "holds" rewards until they are claimed.
189214
190215A utxo at the ` Hold ` address has an inline datum indicating to which safe owner
191216it belongs.
192217
193- ##### The Dispenser
218+ #### 3.1.4 The Dispenser
194219
195220The dispenser facilitates the dispensing of rewards to the ` Hold ` .
196221
197- ## Orcfax validators: reaching L2 consensus
222+ ## 4. Orcfax validators: reaching L2 consensus
198223
199224The economics of consensus look quite different. The focus here is in
200225understanding the cost of validator participation, the cost to a validator when
@@ -249,7 +274,8 @@ the risk of bad actors and to make bad behaviour cost prohibitive. However, this
249274narrative dramatically changes should \$ FACT halve in value, or increase 10x.
250275
251276These are all considerations that Orcfax must weigh as we continue to develop a
252- consensus solution.
277+ consensus solution, especially whether not to incorporate randomness (and how).
278+ These choices will be finalized in the next milestone when development begins.
253279
254280::: info [ N.B.]
255281
@@ -258,7 +284,79 @@ milestone 3.
258284
259285:::
260286
261- ## Participation costs
287+ ### 4.1 Contextualizing consensus components
288+
289+ The following demonstrates the various components of a fully decentralized node
290+ within the EchoNet network; "Validator Node-1" shows each of its components
291+ whereas "Validator Node-2" and "Validator Node-n" have been abbreviated in order
292+ to highlight the staking requirements and the connections to each nodes through
293+ the consensus mechanism. The diagram also unpacks the relationships between
294+ components and how they are expected to operate.
295+
296+ ``` mermaid
297+ C4Component
298+ title A Component diagram for Consensus
299+
300+ System_Boundary(V1, "Validator Node-1") {
301+ Component(Cn, "Cardano node", , "Allows Collector to query historical at tip")
302+ Component(Cm, "Consensus Mechanism", , "Verifies consensus")
303+ Component(S, "Stake", , "The required stake held at address")
304+ Component(Cr, "Collectors", , "Scripts responsible for querrying sources")
305+ Component(Vscript, "Validator", , "Allows node to use validation logic against Collector data")
306+ Component(Db, "Local SQL database", , "Used to temporarily caache data recieved from Collectors")
307+ Component(P, "Publisher", , "Responsible for administration of publish")
308+ Component(E, "Explorer", , "The distributed front end resource providing access to Orcfax archival packages")
309+ Component(M, "Monitor", , "Responsible for monitoring netwrok and feeds status")
310+ Component(K, "Kupo", , "Allows Publisher to query on-chain data")
311+ Component(O, "Ogmios", , "Allows Publisher to query on-chain data")
312+ Component(Tx, "Transaction builder", , "Allows Publisher to construct transactions")
313+ }
314+
315+ Container_Boundary(V2, "Validator Node-2") {
316+ Component(Cm2, "Consensus Mechanism", , "Verifies consensus")
317+ Component(S2, "Stake", , "The required stake held at address")
318+ }
319+
320+ Container_Boundary(Vn, "Validator Node-n") {
321+ Component(Cmn, "Consensus Mechanism", , "Verifies consensus")
322+ Component(Sn, "Stake", , "The required stake held at address")
323+ }
324+
325+ System_Ext(S, "Source", "HTTP", "A public source of primary information.")
326+ System_Ext(Ar, "Arweave", , "A decentralized storage solution")
327+ System_Ext(Fsps, "Fact Statement plutus script", , "Verifies consensus")
328+ System_Ext(Ak, "Arkly", , "A decentralized digital archive and permanent storage solution")
329+
330+ BiRel(Cr, S, "Queries/Receives")
331+ Rel(O, Cn, "Uses")
332+ Rel(Cr, Vscript, "Pushes CBOR")
333+ BiRel(Vscript, Db, "Reads/Writes")
334+ Rel(M, Db, "Reads")
335+ Rel(M, Vscript, "Triggers")
336+ Rel(Vscript, Ak, "Pushes POST request")
337+ Rel(Ak, Ar, "Pushes archival pkg")
338+ Rel(Ar, Db, "Pushes Arweave Tx ID")
339+ Rel(Vscript, Cm, "Pushes Datum")
340+ BiRel(Cm, Cm2, "Statement proposal & response")
341+ BiRel(Cm, Cmn, "Statement proposal & response")
342+ BiRel(Cmn, Cm2, "confirmation of proposed statement")
343+ Rel(Cm, Tx, "Pushes signed Datum")
344+ Rel(Tx, Cn, "Uses")
345+ Rel(Tx, K, "Uses")
346+ Rel(Tx, O, "Uses")
347+ Rel(Tx, Fsps, "Pushes to FS plutus script")
348+ Rel(E, O, "Uses")
349+ Rel(E, K, "Uses")
350+ ```
351+
352+ ::: note
353+
354+ If the diagram is not rendering clearly, or if the text is difficult to read,
355+ viewing the raw content of the page can be very helpful.
356+
357+ :::
358+
359+ ## 5. Participation costs
262360
263361Participants will need to shoulder the cost of either acquiring their own
264362equipment by which they will participate in the network, or the cost of
@@ -274,12 +372,12 @@ the total cost of participation for validators.
274372
275373The cost of implementing and running staking and consensus mechanisms remains
276374unknown because design choices relating to either can have significant impacts;
277- final design takes place in the following milestone. This section will be
278- updated after the next milestone and the completion of the PoC's.
375+ final design takes place in the next milestone. This section will be updated
376+ after the next milestone and the completion of the PoC's.
279377
280378:::
281379
282- ## Rewards
380+ ## 6. Rewards
283381
284382Early on in Orcfax development, we established the mechanisms by which
285383Validators would be onboarded and rewarded for their participation in the
@@ -288,14 +386,22 @@ reserved to reward our decentralized validators for running Orcfax nodes.
288386
289387Initially, with a relatively low number of integrators, validators will be
290388rewarded for their participation in the network with \$ FACT from the [ Validator
291- Rewards Allocation] [ r-2 ] , which contains 50% of the total FACT token supply, or
292- 500,000,000 (50%) \$ FACT.
293-
294- The amount of FACT tokens rewarded from this allocation per publication will
295- decrease over time. As more consumers start using Orcfax oracle feeds, the
296- increasing \$ FACT payments from these customers will compensate for the reduced
297- emission from the Validator Rewards Allocation, and will eventually replace them
298- completely.
389+ Rewards Allocation] [ r-2 ] (referred to previously as the "treasury"), which
390+ contains 50% of the total FACT token supply, or 500,000,000 (50%) \$ FACT.
391+
392+ However, since consumers (i.e. integrators) pay for on-chain publications in
393+ \$ FACT, an increase in the number of integrators will lead to more publications,
394+ thereby driving up the demand for the FACT token. The generated \$ FACT payments
395+ will then be distributed to entities crucial for network operation and security,
396+ namely Orcfax Validators.
397+
398+ This means that while validators will be rewarded from the treasury, as the
399+ number of consumers increases, the amount of FACT tokens rewarded from this
400+ allocation per publication will decrease over time Orcfax will reduce emissions
401+ from the treasury and use instead the funds being generated from integrators as
402+ more consumers start using Orcfax oracle feeds; increasing \$ FACT payments from
403+ these customers will compensate for the reduced emission from the Validator
404+ Rewards Allocation, and will eventually replace them completely.
299405
300406The following demonstrates how having integrators pay for feeds in FACT (or ADA)
301407creates a positive feedback loop and buy pressure for \$ FACT. The generated
@@ -304,10 +410,32 @@ network operation like Orcfax Validators.
304410
305411![ Orcfax Economic Model] ( /img/2024-09-17--orcfax-economic-model.png )
306412
413+ ::: note
414+
415+ Consumers will also be able to fund their desired feeds with ADA, but Orcfax
416+ will sell these funds for \$ FACT so as to have the same result.
417+
418+ :::
419+
420+ The above is demonstrated in this [ model] [ r-3 ] which allows for the manipulation
421+ of key variables such as the value of ADA in USD, the value of \$ FACT in ADA,
422+ the number of integrators the network services; what results is a projection as
423+ to the rate of treasury emission and how long it takes for funds from
424+ integrators to replace those emissions. For added accessibility, graphs have
425+ been added which demonstrate how these variables and the emission rate decreases
426+ over time as customer fees increase. The model also shows how these calculations
427+ play out over a 10 years span as we are cognizant that the model depends in
428+ large part on the widespread adoption of Orcfax services, which could take
429+ time-- the model takes this possibility into account and demonstrates how the
430+ significant allocation of \$ FACT to the treasury allows Orcfax to meet the
431+ burden of paying validators even if the value of \$ FACT is volatile.
432+
307433[ r-1 ] : docs/fact-token/tokenomics.md
308434[ r-2 ] : docs/fact-token/tokenomics.md#validator-rewards
435+ [ r-3] :
436+ https://docs.google.com/spreadsheets/d/1aH4Zwtn8KUTtrdzBBZFK1_Kulb7_a4uJGjzLhmPTLFc/edit?gid=1934045699#gid=1934045699
309437
310- ## Beyond the PoC
438+ ## 7. Beyond the PoC
311439
312440While research for both consensus and staking was completed within budget,
313441systems analysis and development have, to date, exceeded initial estimates; this
@@ -320,3 +448,17 @@ understanding the real cost of any work which may be needed after the successful
320448completion of catalyst closeout to move both the consensus and staking PoC’s
321449towards mature software and beyond with the integration of consensus and staking
322450mechanisms into EchoNet.
451+
452+ These two proposals shared similar funding models during F12; both anticipated
453+ approximately 375 hours for completion. Based on the research completed through
454+ each of the proposals and the limited start made in the development of their
455+ proof of concepts to date, our team projects that it will likely require a
456+ development team of equivalent size, an additional 9 months or 1400 hrs to: 1.)
457+ mature the PoC's to software for mainnet integration; 2.) provide sufficient
458+ integration testing. These hours would likely maintain a similar split between
459+ developers and system analysis/documentation as the f12 proposals if seeking
460+ funding through catalyst.
461+
462+ These estimations are based on early stage understandings which may change
463+ during development in milestone 3. A goal of the project is of course to better
464+ understand these costs as development continues.
0 commit comments