From 6b37cead66eed7844dafc185b9124427676e6615 Mon Sep 17 00:00:00 2001 From: Ladd Hoffman Date: Wed, 19 Jun 2024 17:58:10 -0500 Subject: [PATCH] future work: reduce on-chain costs --- specification/docs/future-work.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/specification/docs/future-work.md b/specification/docs/future-work.md index 56a763a..86ec755 100644 --- a/specification/docs/future-work.md +++ b/specification/docs/future-work.md @@ -4,14 +4,18 @@ The process defined by the Proposal contract could be used to govern features of the core contracts themselves (Bench, Forum, Reputation). When a DAO is instantiated, a specific deployment of a Proposal contract can be designated as the official core DAO Proposal contract. DAO core contracts can utilize the designated Proposal contract to create and observe proposals. -## Validation Pool +### Validation Pool -### Ratio of Minted REP Staked For/Against +#### Ratio of Minted REP Staked For/Against The ratio of minted REP staked for and against a VP could be taken as a parameter or governed by a Proposal to increase the flexibility of the DAO. -## Chat REP +### Minimizing on-chain computation and storage -## Multi-REP (Interacting DAOs) +The reason for including the Authors and References on-chain, is so that future posts can reference prior ones, and the reputation effects can be propagated. -## Reviews \ No newline at end of file +It may be possible to avoid the cost of storing information about Posts on-chain. Instead of traversing the Forum WDAG and computing reputation rewards, the Validation Pool would need to accept a flat list of resulting REP transfers to execute if the VP is accepted. + +One way to implement this is that any time a VP is initiated on-chain, it would need to include this set of resulting transfers. However, this still leaves the question of when and where the calculation of these results is performed. In general, contracts that may want to initiate Validation Pools will not have access to the required information. + +The other approach would be to have an additional phase at the beginning of each VP, prior to staking, where a worker would first compute the list of transfers and make a call to the Bench contract to set the list of transfers for the given VP. Then staking would proceed, and if approved, the transfers would be executed.