Creation of DAO-Owned Catalyst Archival Node for Decentraland Core
Proposal Details
Grant size
Tier
Beneficiary
Description
The catalyst node network currently supports users as they play in Decentraland. The node network saves information on scene deployments, user profiles, and other Decentraland content that is not directly on chain but requires storage. Any application that wants to use this data – say to display the profile pictures of the user on an app, or to understand what parcels are associated with a scene – would use the APIs available on the catalyst nodes. If the application ecosystem around Decentraland begins to scale, this may cause an undue burden or strain on the node network as this load is above and beyond what is required to support users in game. Similar to the DAO Data Aggregation initiative we undertook at the end of last year, we believe there is a need to stand up a dedicated catalyst node which can be used by the community for applications and application development. We are requesting funds which will translate directly into infrastructure costs to support an Application node with historical data. This idea was conceived of by @Zino of the Grant Support Squad, with [Atlas CORP](https://atlascorp.io) volunteering to support the deployment and backfilling of data required.
Voting Power
Voting Rationale
0.025
Creation of DAO-Owned Catalyst Archival Node for Decentraland Core This proposal has been ENACTED by a DAO Committee Member (0xbfa6d24e6a061e9aea3447163fdfe045177dd40e) Vesting Contract Address: 0x00f0e5b2a02A23c8A5DB1A81A24600dD9A77109d
Creation of DAO-Owned Catalyst Archival Node for Decentraland Core This proposal is now in status: PASSED. Voting Results: * Yes 88% 9,904,614 VP (118 votes) * No 12% 1,397,165 VP (11 votes)
Based on the information provided by @agusaldasoro, is there going to be a reframing of the proposal? It looks like the value provided by this project would be high but the implementation pathway could be simplified.
Just wanted to give my shout of confidence in this team. Vroomway installed Atlas Analytics back in November of this last year (2022) and since then it has fundamentally changed how we understand our users. That understanding of our users has impacted our team more than any other software we use. The team is always available to troubleshoot what little issues we have had. Most have been user error :sweat_smile: They also built us a proprietary feature that allows us to have an even deeper look at some analytics to ensure integrity in our game and the integrity in our in-game economy. We have essentially 3 different types of analytics now with 1 being DCL basic analytics (places page, builder analytics, etc), Colyseus server, and Atlas. Atlas and Colyseus are nearly always in sync and match up perfectly. Whereas DCL basic analytics are often off. Especially the places board. For the first 3-4 months of our game we relied heavily on the basic analytics in builder and on the places page and we never could get an understanding of what our users did and wanted. Now having that visibility and literal heat map of what the users are doing is infinitely valuable. After seeing the heat maps and other features, we changed our conversion funnel and **instantly saw significant improvements** in our conversion and the way people interact with our game. This helped us not only stay on track with our goals but also helped accelerate our goals and completely destroy our expectations (in a positive way). Every time we release a new feature or have an important event, we are confident going into it knowing that everything we need to track is in place. Having this kind of confidence **free of charge** is absolutely game-changing. This is a true asset to any game/project maker in DCL. I talked with several analytic projects/companies before I found Atlas and none were as comprehensive or detailed as Atlas is. I cannot thank the Atlas Corp team enough for supporting us in our journey and helping us get closer to our community. Much love team! :pray:
Voting no due to the information provided by @agusaldasoro It looks to me like this grant proposal needs a complete overhaul. Are we just voting for what ever sounds good without any diligence or data now? This is why in contract work companies or individuals bid on a job. Maybe there should be a way to do this also for certain Grant proposals. Unless someone can show otherwise?
Hi everyone, I'm @agusaldasoro(`https://github.com/agusaldasoro`), and as part of the Decentraland Foundation, I'm one of the core contributors to the [Catalysts](https://github.com/decentraland/catalyst). Below is my personal opinion about this matter, and it does not represent the opinion of Foundation. Firstly, I'd like to clarify that I think that having the data and historical information of all Catalyst deployments available and released is of utmost importance and relevance to the community. That being said, I also believe that as we move towards a universe where data is decentralized, any community member should be able to have their own historical data running without depending on either the Decentraland Foundation or Atlas Corp. What’s the current status? * There is only one node that holds all the historical data (as the Garbage Collection was never enabled there) which is `https://peer.kyllian.me` owned by HPrivakos. * There is also a Foundation hosted historical peer, which is read-only and only runs the Content Server that stores all scenes, wearables, emotes and stores, but it doesn’t store profiles at `https://peer-historical.decentraland.org` Furthermore, I'd like to clarify that the implementation to retrieve all historical information from the Content Servers is already implemented within the [/deployments endpoint](https://github.com/decentraland/catalyst/blob/main/content/src/controller/Controller.ts#L460). Therefore, it is not necessary to make any development or code changes to the Catalysts to offer this functionality. Anyway, to bootstrap a Historical Content Node from Scratch the only way to do it is by copying a dump of another database and the folder with files (or S3). As there is no programmatically way to synchronize all changes from beginning of times, as only active entities are synced. That being said, the item: > $10,000.00 - Development Costs (estimated 3 month delivery): > > • Configuration and deployment of historical catalyst node > > • API query development resources to produce queries and prevent overuse > > • DevOps and infrastructure development resources to automate as much as possible > > • Technical Writing resources to provide user-facing API documentation Is not clearly needed. As: * The configuration and deployment of historical catalyst node consists of two steps: 1. Copy all the data from peer.kyllian.me catalyst (which is a dump of the database and a folder with files) 2. Run the `./init` command from `https://github.com/decentraland/catalyst-owner` repository * No new code needs to be written. * No need for devops or new infrastructure, as with the Catalyst owner repository you have there all the necessary configuration for the docker images to run smoothly. Also, for running a Content Server only, you will only need to run a postgres docker and the content server docker (which the [catalyst-owner branch](https://github.com/decentraland/catalyst-owner/tree/feat/historic) is already set to do). Also, the content server can be run as read only mode, where the only allowed queries are GET. * No need for new technical writing resources, as no new API needed. As a priority, I believe it is essential to first release the information and make it available to anyone who wants to run a complete historical Catalyst and only has to bear the hardware costs. Currently, there is no way (other than manually copying the database and files) to bootstrap a Content Server from scratch that includes all the historical data. And in my opinion, that should be the focus first. In that line, if the items `‘Configuration and deployment of historical catalyst node’` and `‘API query development resources to produce queries and prevent overuse’` will include the necessary changes to bootstrap a Historical Catalyst from Scratch, then it would be great to have it specified in the proposal. Also, those changes must be compliant with the current Synchronization Mechanism between Catalysts as described in the Decentraland Protocol: [https://adr.decentraland.org/adr/ADR-103](https://adr.decentraland.org/adr/ADR-103) and also the sync mechanism employed by the nodes: [https://adr.decentraland.org/adr/ADR-52](https://adr.decentraland.org/adr/ADR-52). So a RFC with all the implementation details of the plan is mandatory to agree on a solution to that before approving a grant. Once we have that sorted out, we can begin discussing the development of applications that run on top and add use cases to this implementation. Also, to vote and understand the value proposition of this I think that it is mandatory to commit to an API schema + Docs before voting, and also to guarantee High Availability. I will vote no on the proposal because there is no easy and practical way for a new user to bootstrap a content server with all historical data, which I believe is the cornerstone on which to build new functionalities.
Great proposal, would love to see DAO veterans finding consensus and working collectively on it. @MorrisMustang @HPrivakos @HowieDoin Hope you will find it. :peace_symbol: :handshake:
Thank you for highlighting what is likely a systemic problem within the ring of approved DAO nodes. If you are not being subsidized enough to cover the cost your node and some additional time for maintenance, there is a high likelihood you eventually stop caring. It will be both to the DAO's benefit and all of the Node operators that this is solved in a way that is equitable. Let us have this be the *catalyst* towards transitioning the subsidy away from the Foundation and over to the DAO, and correcting the amount being provided to the node operators so Decentraland is sustainable. This is but one step towards aligning the incentives of the DAO and the node operators. At the same time, and as discussed throughout multiple AMA sessions, I suggest the DAO enforce an SLA/uptime requirement to hold the operators to a specific standard. I encourage you to be part of that proposal.
Thanks for the vote of confidence @dax! With respect to what happens after the 12 months - the intention is to simply not make any binding decisions now. After 11-12 months we will have 12 months of data on who is using it, the distribution of utility (e.g. who depends on it more than others), and tangible data on infrastructure costs, cost growth, and maintenance and support effort. We we would be happy to continue to steward this infrastructure if the DAO decides to continue funding this initiative beyond the initial 12 months, but as the code will be made open source in theory anyone can decide to pick up that torch. There also exists a possibility that it becomes necessary to support a _redundant_ source of this data so we are not the only source of this data, just as we have suggested with our previous infrastructure contribution.
I'm getting 300 MANA per month from the Foundation for my catalyst, that's 180 USD per month, I'm losing money running a catalyst, you are complaining I got 3.6k MANA (2.2k USD at current rate) over the last year when you are asking for nearly 20k for a year. I believe I can do what you propose for less than half the price, which would be cheaper even including Foundation "subsidiary". I have the data because I ran a catalyst since the launch, using personal money and making sure to keep all the data on my own time and cost (backup cost money, in addition to running the server), I could have enable garbage collection to save money but I went out of my way to make sure everything was save-keeped, never made any money from it.  My goal is not to stifle development groups from contributing, I just believe I can provide a similar service for way cheaper, saving the DAO some money. I also want to see how https://forum.decentraland.org/t/dao-bafkrei-creation-of-dao-owned-data-aggregation-layer-for-decentraland-core/13409 goes after a year.
would absolutely love to see this, it would open up SO MUCH possibility. Based on your previous DAO data project, I have 100% faith in your team to execute this. However, I do have one question: > We will also be developing an open source code base that can be used in conjunction with a historical node to query common requests against the historical database, host the infrastructure, and **make it available to the community for one year** alongside our other DAO Data APIs. what happens after that one year? it will become pay to access or..?
@HPrivakos You could do it really cheap if you just used your paycheck from the Foundation. Im sure you could do it for free if you were so benevolent with your time and money. You've had the data all along and were subsidized by the Foundation to run the infrastructure. I understand it looks like low hanging fruit to you now, but it didn't seem so important before. If your intention is to stifle other development groups from wanting to contribute to the DAO, this is the perfect way forward.
I believe I can do it for cheaper, I already have the infrastructure and data in place to do it, I'll start a new proposal for it.
13 Comments