Replies: 3 comments 2 replies
-
There is prior art for this, I've seen a few ideas like this pass by over the years, I'll add more links when I find them...
|
Beta Was this translation helpful? Give feedback.
-
Yeah, nest.land is certainly an interesting effort in this area. Unfortunately, it doesn't look like they managed to make it attractive enough for the ecosystem participants to actively participate. This is where the main challenge is going to be: build a sustainable economic model. |
Beta Was this translation helpful? Give feedback.
-
Thanks for starting this discussion! In terms of payment I would strongly recommend keeping publishing free and allowing paid / corporate / private packages to subsidize the free ones. Thinking about how payment / private transactions work with a provider model would be interesting. I think it can work using standard crypto techniques though such as nested encryption (provider - registry communication is encrypted with their mutual encryption, provider - user communication is encrypted with their mutual encryption in turn, which can permit a nested key for the user to do the final decryption if you didn't even want the provider to have access to private code...). Would be super interesting to explore code encryption in-browser on top of es-module-shims as well, and very much doable. In terms of the action plan, the problem I think would be a great one to focus on first and foremost would be how to ensure developres can be compensated for their open source work, by allowing them to charge companies for high usage in companies. Solving that problem in the simplest way first and foremost, over trying to get all the crypto stuff completely perfect to start. It's a big thing, and mostly marketing at the end of the day. A cross-collaboration of builder projects is exactly the sort of group that is needed to launch such a thing. Exciting space indeed! Perhaps we can create a home for further discussion? Did you want to start a Discord or other space further to invite participation? I'd also recommend compiling the hated "whitepaper" or something similar that really drives home the details of the concept. The other thing is just to charge for initial package name registration or package transfers, to avoid spam. |
Beta Was this translation helpful? Give feedback.
-
TLDR: Like
npm
, but built with an economically sustainable open-source ecosystem in mind.Goals
Competitive Advantages (vs npm)
Governance and Economics
When publishing, tiny Solana and Arweave transaction costs (below 1$) are paid by the author. This ensures spam-free usage. In situations when the cost of the transaction is too high for the author, the project can ask for sponsorship on its homepage, this will encourage and promote the culture of supporting opensource projects financially.
Registry issues a token that's being paid out to package authors on the basis of their package usage. The usage is estimated by the number of hits of the package URL. We can count the hits by running our own Vartex Gateway and proxying the requests through it. Can we do that in a decentralized way?
The token is tradable on Solana platform and gives the owner voting rights in the governance process.
There is no initial tokens allocation, the tokes are minted only as rewards to the package authors. This should serve as testament of good intentions of the protocol - we aim for creating sustainable JS open-source ecosystem, not personal wealth of the protocol authors.
That said, some token pool should be created for the foundation to sponsor the development of the protocol through grants, the exact details of how to do that in a fair way need to be researched, perhaps following the example of other protocols recognized by the community as the ones having high integrity.
CDN
How would a sustainable decentralized CDN that serves the packages look like? Perhaps monetizing through the paying for access (authorization though cookie). Guy Bedford must've investigated this option already, we should discuss if paying with the registry tokens can be a viable solution.
Challenges
Giving token value
If we use tokens as reward for the ecosystem participants, we need to make sure the token has some actual value besides just speculative power.
Participation in the governance process, while being somewhat attractive, is not enough for a regular person to justfy paying for the token.
An obvious idea here is to make the token a payment instrument for some services and functionality the registry ecosystem provides. Examples can be:
Moderation
The first question that arises when it comes to building a decentralized registry is how to moderate the content. The solution is community governance. The token holders can vote for removing some packages/versions from the registry. Despite files still being present on Arweave, references to them will be deleted from the latest state of the registry. Also there will not gonna be accounts (Solana term) in the ledger corresponding to the deleted version/package, those will be de-funded and pruned by the network.
Encouraging token holders to participate in governance
We need to think about how we could create incentives for the token holders to actively participate in governance/voting. Some ideas:
Ideas can probably be borrowed from other blockchain protocols that have success stories in the area of governance.
Technical Details
Package is a set if files accompanied by a
package.json
. In this regard, package structure is no different from one of a typical npm package.All package files are persisted on Arweave. All "registry" data is stored on Solana blockchain, that includes:
Plan of Attack
Beta Was this translation helpful? Give feedback.
All reactions