@@ -228,16 +228,30 @@ profit of providing bad information outweighs the cost, validator nodes become
228228financially incentivized to act badly, which would result in significant risk to
229229network integrity.
230230
231+ The mechanics of slashing is covered in [ The Safe] ( #312-the-safe ) . For this
232+ section, all that is relevant is that malicious activity results in the loss of
233+ participants' stake; whether the loss is entire or a portion is undecided and
234+ will likely depend on the ability to define a spectrum of bad behaviour in code.
235+ For the purposes of this section, we will assume that being slashed results in
236+ the entire loss of participants' stake.
237+
231238At the time of this writing, the cost of acquiring 500,000 FACT tokens is
232239approximately 5,025 ADA or 5,577 USD. The floor price for a Orcfax Validator
233240License is 10,500 ADA or 11,653 USD. This means that the cumulative stake
234241required to participate has a value of approximately 17,230 USD.
235242
236243In order to combat the risks associated with validators having financial
237244incentive to act badly, Orcfax is tasked with devising a strategy by which
238- malicious behavior becomes cost prohibitive or disadvantageous. However, at this
239- stage of research and development, Orcfax has not yet decided on the process
240- through which consensus will be reached over a given fact statement; the
245+ malicious behavior becomes cost prohibitive or disadvantageous. Put another way,
246+ the total cost incurred to the bad actor for their behaviour must be greater
247+ than the reward they might receive by undermining the system; to use the example
248+ of a loan liquidation, the cost of operating the number of nodes necessary to
249+ submit erroneous data, which would result in the liquidation of a target loan,
250+ must cost more than the liquidation would reward the bad actor. It is this cost
251+ relationship which makes malicious actions disadvantageous.
252+
253+ At this stage of research and development, Orcfax has not yet decided on the
254+ process through which consensus will be reached over a given fact statement; the
241255different ways this might be orchestrated have implications on how malicious
242256behavior may need to be addressed. For this reason, we will explore two options:
2432571.) where one node proposes a statement, and a subset of the 100 nodes within
@@ -293,72 +307,7 @@ to highlight the staking requirements and the connections to each nodes through
293307the consensus mechanism. The diagram also unpacks the relationships between
294308components and how they are expected to operate.
295309
296- <!-- markdownlint-disable MD013 -->
297-
298- ``` mermaid
299- C4Component
300- title A Component diagram for Consensus
301-
302- System_Boundary(V1, "Validator Node-1") {
303- Component(Cn, "Cardano node", , "Allows Collector to query historical at tip")
304- Component(Cm, "Consensus Mechanism", , "Verifies consensus")
305- Component(S, "Stake", , "The required stake held at address")
306- Component(Cr, "Collectors", , "Scripts responsible for querying sources")
307- Component(Vscript, "Validator", , "Allows node to use validation logic against Collector data")
308- Component(Db, "Local SQL database", , "Used to temporarily cache data received from Collectors")
309- Component(P, "Publisher", , "Responsible for administration of publish")
310- Component(E, "Explorer", , "The distributed front end resource providing access to Orcfax archival packages")
311- Component(M, "Monitor", , "Responsible for monitoring network and feeds status")
312- Component(K, "Kupo", , "Allows Publisher to query on-chain data")
313- Component(O, "Ogmios", , "Allows Publisher to query on-chain data")
314- Component(Tx, "Transaction builder", , "Allows Publisher to construct transactions")
315- }
316-
317- Container_Boundary(V2, "Validator Node-2") {
318- Component(Cm2, "Consensus Mechanism", , "Verifies consensus")
319- Component(S2, "Stake", , "The required stake held at address")
320- }
321-
322- Container_Boundary(Vn, "Validator Node-n") {
323- Component(Cmn, "Consensus Mechanism", , "Verifies consensus")
324- Component(Sn, "Stake", , "The required stake held at address")
325- }
326-
327- System_Ext(S, "Source", "HTTP", "A public source of primary information.")
328- System_Ext(Ar, "Arweave", , "A decentralized storage solution")
329- System_Ext(Fsps, "Fact Statement plutus script", , "Verifies consensus")
330- System_Ext(Ak, "Arkly", , "A decentralized digital archive and permanent storage solution")
331-
332- BiRel(Cr, S, "Queries/Receives")
333- Rel(O, Cn, "Uses")
334- Rel(Cr, Vscript, "Pushes CBOR")
335- BiRel(Vscript, Db, "Reads/Writes")
336- Rel(M, Db, "Reads")
337- Rel(M, Vscript, "Triggers")
338- Rel(Vscript, Ak, "Pushes POST request")
339- Rel(Ak, Ar, "Pushes archival pkg")
340- Rel(Ar, Db, "Pushes Arweave Tx ID")
341- Rel(Vscript, Cm, "Pushes Datum")
342- BiRel(Cm, Cm2, "Statement proposal & response")
343- BiRel(Cm, Cmn, "Statement proposal & response")
344- BiRel(Cmn, Cm2, "confirmation of proposed statement")
345- Rel(Cm, Tx, "Pushes signed Datum")
346- Rel(Tx, Cn, "Uses")
347- Rel(Tx, K, "Uses")
348- Rel(Tx, O, "Uses")
349- Rel(Tx, Fsps, "Pushes to FS plutus script")
350- Rel(E, O, "Uses")
351- Rel(E, K, "Uses")
352- ```
353-
354- <!-- markdownlint-restore -->
355-
356- ::: note
357-
358- If the diagram is not rendering clearly, or if the text is difficult to read,
359- viewing the raw content of the page can be very helpful.
360-
361- :::
310+ ![ PoC component diagram] ( /img/2024-12-f12-component-diagram.jpg )
362311
363312## 5. Participation costs
364313
@@ -383,34 +332,30 @@ after the next milestone and the completion of the PoC's.
383332
384333## 6. Rewards
385334
386- Early on in Orcfax development, we established the mechanisms by which
335+ Early on in Orcfax development, Orcfax established the mechanisms by which
387336Validators would be onboarded and rewarded for their participation in the
388337network. Our [ tokenomics] [ r-1 ] ensured that the biggest allocation of \$ FACT was
389338reserved to reward our decentralized validators for running Orcfax nodes.
390339
391- Initially, with a relatively low number of integrators, validators will be
392- rewarded for their participation in the network with \$ FACT from the [ Validator
393- Rewards Allocation] [ r-2 ] (referred to previously as the "treasury"), which
394- contains 50% of the total FACT token supply, or 500,000,000 (50%) \$ FACT.
395-
396- However, since consumers (i.e. integrators) pay for on-chain publications in
397- \$ FACT, an increase in the number of integrators will lead to more publications,
398- thereby driving up the demand for the FACT token. The generated \$ FACT payments
399- will then be distributed to entities crucial for network operation and security,
400- namely Orcfax Validators.
401-
402- This means that while validators will be rewarded from the treasury, as the
403- number of consumers increases, the amount of FACT tokens rewarded from this
404- allocation per publication will decrease over time Orcfax will reduce emissions
405- from the treasury and use instead the funds being generated from integrators as
406- more consumers start using Orcfax oracle feeds; increasing \$ FACT payments from
407- these customers will compensate for the reduced emission from the Validator
408- Rewards Allocation, and will eventually replace them completely.
409-
410- The following demonstrates how having integrators pay for feeds in FACT (or ADA)
411- creates a positive feedback loop and buy pressure for \$ FACT. The generated
412- \$ FACT payments from integrators are then distributed to entities crucial for
413- network operation like Orcfax Validators.
340+ During early stages of the Incentivized testnet, and integration of Staking and
341+ Consensus mechanisms, we can assume that there may be a relatively low number of
342+ integrators. Because of this, validators will be rewarded for their
343+ participation in the network with \$ FACT from the [ Validator Rewards
344+ Allocation] [ r-2 ] (hereafter referred to as the "treasury"), which contains 50%
345+ of the total FACT token supply, or 500,000,000 (50%) \$ FACT. It can also be
346+ assumed that the value of \$ FACT will be impacted by the number of integrators
347+ so that as integrators increase, the value of the \$ FACT emissions from the
348+ Orcfax treasury will also increase.
349+
350+ An increase in the number of integrators which request and consume Orcfax
351+ statements will lead to more publications; as these integrators buy \$ FACT in
352+ order to complete these transactions, the demand for \$ FACT and its value will
353+ increase thereby creating a positive feedback loop.
354+
355+ The following demonstrates this positive feedback loop and how having
356+ integrators pay for feeds in FACT (or ADA) creates positive buy pressure for
357+ \$ FACT. The generated \$ FACT payments from integrators are then distributed to
358+ entities crucial for network operation like Orcfax Validators.
414359
415360![ Orcfax Economic Model] ( /img/2024-09-17--orcfax-economic-model.png )
416361
@@ -421,18 +366,53 @@ will sell these funds for \$FACT so as to have the same result.
421366
422367:::
423368
369+ SO while in the beginning, validators will be compensated from the Orcfax
370+ treasury, as the \$ FACT payments generated from integrators outpaces \$ FACT
371+ emissions from the treasury, Orcfax will be able to transition to compensating
372+ validators with revenue from these transactions.
373+
374+ This means that the amount of FACT tokens rewarded from the treasury per
375+ publication will decrease over time as the fees from transactions increase; the
376+ increasing \$ FACT payments to validators from these transactions will compensate
377+ for the reduced emission from the treasury, and will eventually replace them
378+ completely.
379+
424380The above is demonstrated in this [ model] [ r-3 ] which allows for the manipulation
425381of key variables such as the value of ADA in USD, the value of \$ FACT in ADA,
426382the number of integrators the network services; what results is a projection as
427- to the rate of treasury emission and how long it takes for funds from
428- integrators to replace those emissions. For added accessibility, graphs have
429- been added which demonstrate how these variables and the emission rate decreases
430- over time as customer fees increase. The model also shows how these calculations
431- play out over a 10 years span as we are cognizant that the model depends in
432- large part on the widespread adoption of Orcfax services, which could take
433- time-- the model takes this possibility into account and demonstrates how the
434- significant allocation of \$ FACT to the treasury allows Orcfax to meet the
435- burden of paying validators even if the value of \$ FACT is volatile.
383+ to the rate of treasury emission, the value of those emissions, and how they
384+ will be paid out to validators and Orcfax over time. The far right column breaks
385+ down what percentage and what value these emissions are projected to have.
386+
387+ Graphs have also been added which demonstrate how these variables and the
388+ emission rate decreases over a 10 years span; The economic model depends on the
389+ critical assumptions identified previously: that the number of integrators will
390+ increase over time, that the value of \$ FACT will increase as integrators
391+ increase, and that this happens before treasury emissions are unable to sustain
392+ the network.
393+
394+ The right side of the model also shows how Orcfax will pay itself during this
395+ period. Of the emissions from the treasury, $35\% $ go to Orcfax, and of the
396+ integrator transaction fees (while still executing emissions from the treasury),
397+ $90\% $ goes to Orcfax. This combination means that Orcfax can fund its
398+ operations over the course of the 10 year period with as few as $7$ paid feeds
399+ while supporting $21$ subsidized feeds.
400+
401+ This is possible in large part because Orcfax has been designed in such a way
402+ that the cost of running the Orcfax network in the federated model is relatively
403+ modest at less than 10,000 USD monthly; these costs allow the team to maintain
404+ redundancy, test environments, and support development. The low cost of the
405+ network also means that Orcfax operation
406+
407+ However, our team anticipates that these costs will decrease over time as
408+ validators continue to absorb the tasks and roles currently held by Orcfax. In
409+ the fully decentralized network, the costs of running the network will be
410+ entirely shouldered by the network.
411+
412+ Orcfax is cognizant that that the widespread adoption of Orcfax services could
413+ take time-- the model takes this possibility into account and demonstrates how
414+ the significant allocation of \$ FACT to the treasury allows Orcfax to meet the
415+ burden of paying validators and itself even if the value of \$ FACT is volatile.
436416
437417[ r-1 ] : docs/fact-token/tokenomics.md
438418[ r-2 ] : docs/fact-token/tokenomics.md#validator-rewards
0 commit comments