Back to motions
Treasury Proposal#79 >> Council Motion#273 >> Council Motion#274
Closed

#273 Gossamer Ongoing Development Grant

Proposer:
RTTI-5220
 
in Treasury
3rd Mar '21

Previous discussion: https://polkadot.polkassembly.io/post/1260


  • Treasury Proposal: Gossamer Ongoing Development Grant
  • Proponent: AFRI, 1dvvq2sZg55LfLqFmegU493oUaPWxJfjiYysP1eyovkX6hP (1413)
  • Beneficiary: CHAINSAFE, 14gaKBxYkbBh2SKGtRDdhuhtyGAs5XLh55bE5x4cDi5CmL75
  • Date: 09.09.2022
  • Requested amount: USD 1,998,117.60 in DOT on the day of submission using EMA30 rate by Subscan (Oct 1st, 2022: EMA30 6.815 USD/DOT)
  • Scope: Software development / Protocol 

Short description: Gossamer is a Polkadot host written in Go: a framework to build and run nodes for different blockchain protocols compatible with the Polkadot ecosystem, mainly but not limited to the Polkadot and Kusama relay chains. This proposal addresses the Polkadot treasury to consider a grant for the ongoing development by ChainSafe's Gossamer team for another 12 months after the successful collaboration with the Web3 Foundation Grants Program on the initial steps of this development. 


Context: ChainSafe Systems [0], founded in 2017 in Toronto, is a Canadian blockchain development studio with more than 100 employees worldwide. Our vision is to move the various blockchain ecosystems closer, building bridges and increasing client diversity by providing alternative protocol implementations. With a strong emphasis on protocol engineering, we have been engaged by various clients and foundations, among others, in the Ethereum, Polkadot, COSMOS, and Filecoin ecosystems.

Initially funded through a Web3 Foundation grant [1], our protocol team started implementing a Go-Lang Polkadot host in January 2019. Ever since three years and 1300 merged pull requests later, the client has seen more than 40 contributors. As a result, a Gossamer node today can act as an alternative full node for chains such as Polkadot or Kusama. However, it is not yet feature complete. A treasury allocation should cover the pending developments with approval from the community. We want to continue developing and maintaining Gossamer to extend its capabilities further to grow and stabilize the Polkadot ecosystem with an alternative client implementation that is actively used by the community.

The current team consists of seven full-time protocol engineers and a dedicated project manager. The source code is available on GitHub [2] under the terms of an LGPL v3.0 license.

While the Web3 Foundation has entirely covered funding for the development in the past, this will be our first treasury proposal. Hopefully, this will secure our future operations, allow us to scale the team, and continue to broaden our scope while fostering our presence in the Polkadot ecosystem.

Problem Statement: The Substrate blockchain framework enables developers to quickly assemble blockchains for many different use cases. However, it is locking the ecosystem down onto a single programming language, Rust, competing for resources in areas where collaboration is desired.

Offering alternative frameworks in other programming languages should be a high-valued goal of the Polkadot community as it opens up the ecosystem to a larger pool of engineers. Thus far, Gossamer is not yet a generalized framework for building blockchains in Go; however, this will always be our central mission for the project.

Objective: The overall goal is for Gossamer to provide the functionality needed to bring true client diversity to the Polkadot ecosystem. This entails, but is not limited to:

  • A full-node client capable of peering, synchronizing and seeding the most prominent relay chains and parachains of the Polkadot ecosystems.
  • Block-production and finality capability for relay chains and parachains (validators, collators).
  • API services to allow sharing chain and node states through standardized interfaces.
  • Runtimes generated in alternative programming languages such as Go.

The primary focus of Gossamer development has been implementing the protocols of the Polkadot host, the client architecture that hosts the Wasm runtime of a Polkadot-like relay chain. The first milestone on the Gossamer roadmap is to allow members of the Polkadot community to stake cryptocurrency behind a Gossamer block-authoring node on the Polkadot Network.

Deliverables: The objectives of this proposal can be broken down into the following milestones in no particular order.

  • Validator specification: Gossamer currently runs in single-node development environments or in sync with other Gossamer nodes or older Substrate versions. A desirable goal for the next year would be implementing the latest validator specification, which breaks down into three major components.
    • Transaction queue: Gossamer must be able to receive user-submitted extrinsics [3] and deliver them to the network. Furthermore, Gossamer must implement the transaction queue logic [4] to handle user-submitted transactions efficiently.
    • Block production: Gossamer must be able to author blocks using the latest BABE block production protocol [5].
    • Block finality: Gossamer must be able to participate in the latest GRANDPA block finalization protocol [6].
  • Sync modes: Gossamer can currently conduct a full bootstrap synchronization to the tip of the chain. This means that the node can use the chain specification [7] of a Polkadot-like network to connect to that network and to import and verify the blocks that make up the network's canonical chain; these blocks will be stored in Gossamer's key-value database. A desirable goal for next year's development would be to update BABE and GRANDPA implementations to the latest specification and provide alternative synchronization modes
    • State Integrity: Gossamer must implement Polkadot's Patricia-Merkle trie [8] and use it to generate proofs correctly.
    • Fork Choice: Gossamer must tip-sync with a Polkadot-like network, which implies tracking multiple candidate forks at the head of the chain and following the best according to the specification.
    • Warp Sync: Besides providing a full-synchronization service, it would be desirable to provide other modes such as warp sync.
    • DB Imports: A Gossamer node should be able to bootstrap with a database snapshot at a given block height.
  • RPC APIs: Gossamer must implement the same WebSocket JSON-RPC APIs as the Substrate Polkadot implementation (PSP-6, [9]); this means that the Polkadot-JS API [a] should be able to work seamlessly with a Gossamer host.
  • Telemetry: A Gossamer client should be able to natively connect to any Polkadot Telemetry Service [b] to announce its presence. These Go-hosts should be identifiable by the Telemetry UI reporting the existence of alternative clients.
  • Performance: To make the client attractive, it's crucial to adjust the reality to the user's performance expectations concerning CPU usage, memory usage, and synchronization time. Metrics can be comparable with Parity's implementation.

The focus for the next development cycle is matching the latest specification to be able to bootstrap a full Polkadot node and participate in consensus, e.g., on a public testnet such as Westend. Success metrics can be defined by passing the respective test suites provided by the Web3 Foundation; the organization will partner on this proposal as technical advisor and deliverables auditor to ensure the completed milestones are technically sound. If unavailable, an additional deliverable could entail providing test suites for the respective deliverable above.

Please note that funds are requested from the community treasury. The Web3 Foundation technical team has no control over these funds and will not be rewarded as a reviewer of the milestones. The team will serve the sole purpose of evaluating deliverables in alignment with the community approval of this proposal. This role is based on their past participation in this project. It is expected for the ChainSafe team to publish deliverable reports after the Web3 Foundation's technical evaluation and before continuing with subsequent milestones.

Payment Conditions: The requested amount for a 12-months ongoing development grant is USD 1,998,117.60 in DOT on the day of submission using the EMA30 rate by Subscan [c]. The allocation is asked for as a single, up-front payment to cover our ongoing development costs and for the team to be able to provide a runway to their developer resources.

The following resource table outlines the expected costs for the Gossamer team. The table consists of:

  • the current base cost to operate the team,
  • an 18% operational overhead to cover the costs of running the project as a team within ChainSafe Systems (e.g., operations, offices, equipment, tooling, infrastructure, legal, travel),
  • the potential to grow the team sustainability by another two engineers over the course of the following year,
  • as well as a 3% margin to protect against market volatility of the underlying DOT assets.
             | E2*    | E3*    | E4*    | TPM*   | Base Cost        | Cost +18% overhead |
| ---------- | ------ | ------ | ------ | ------ | ---------------- | ------------------ |
| Month 0    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 1    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 2    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 3    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 4    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 5    | 3 FTE* | 3 FTE* | 1 FTE* | 1 FTE* | USD   120,000.00 | USD     141,600.00 |
| Month 6    | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| Month 7    | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| Month 8    | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| Month 9    | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| Month 10   | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| Month 11   | 4 FTE* | 4 FTE* | 1 FTE* | 1 FTE* | USD   154,000.00 | USD     181,720.00 |
| ---------- | ------ | ------ | ------ | ------ | ---------------- | ------------------ |
| USD Sum    |        |        |        |        | USD 1,644,000.00 | USD   1,939,920.00 |
| +3% margin |        |        |        |        |                  | USD      58,197.60 |
| ---------- | ------ | ------ | ------ | ------ | ---------------- | ------------------ |
| USD Total  |        |        |        |        |                  | USD   1,998,117.60 |
                                                                     ====================

[*] Abbreviations: E2 - Engineer II (Mid-level Engineer), E3 - Engineer III (Senior Engineer), E4 - Engineer IV (Technical Lead), TPM - Technical Project Manager, FTE - Full-Time Employee

The beneficiary of this proposal is ChainSafe Systems Inc, Toronto, Canada. The on-chain address is 14gaKBxYkbBh2SKGtRDdhuhtyGAs5XLh55bE5x4cDi5CmL75. The funds' manager is Hatcher Lipton, COO at ChainSafe Systems, reachable through hatcher@chainsafe.io for any questions regarding the payment conditions.

For any questions about the technical nature of this proposal, you can message me, Afri Schoedon, Head of Protocol Engineering at ChainSafe Systems, at afri@chainsafe.io, or Dan Forbes, Technical Project Manager for the Gossamer team, at dan.forbes@chainsafe.io.

References:

Show More

Council Votes

🙍🏼‍♀️ Jutta
Gvyf...gjKX
Nay
DWUA...TJ1j
Nay
Chevdor
DbF5...XLvg
Nay
POLKAWORLD
DaCS...Liax
Aye
Hjui...vtis
Nay
PATRACT
JCBw...yeCB
Nay
H9eS...Em7y
Nay
Jaco
J9nD...8yuK
Nay
RTTI-5220
GLVe...F7wj
Nay
Please Log In to comment
12Comments
RTTI-5220
 
 
2nd Mar '21

Please make sure to add any contextual information regarding this treasury proposal for council discussion. In general, a list of elements to be included to better-assess the quality of a submission. This is only a recommendation; however, this type of structure increases the chances of an informed discussion. A proposal template can be found here for you to use as a guide.

The general guidelines for treasury proposals submission can be found here.

dashboard profile icon
johnny
 
 
2nd Mar '21

Proposal: Support with the 50KSM self-stake for the thousands validator programme Proponent: J395zxsXv4sVZ1eSVpK8gS76UmDP8hcon8gwAd2fyxRH5pD Date: 02.03.2021 Requested KSM: 50 Short description: Being able to participate in the Kusama network as a validator at the times when the price of required 50KSM for self-stake is beyond reach.

Context of the proposal: I have spent many days going through the wiki of Kusama and Polkadot in order to understand the concept behind the project. I have watched all videos on the Polkadot as all are very inspiring and motivating to dive into the technology. I have followed all technical guidance and have overcome all challenges, seeking advice and discussing a lot in the Validators Lounge. I was encouraged by the “join kusama’s thousands validators programme” as a technical and determined person. Giving priority to the technical aspect of the validator and the network, I left the financial unattended assuming incorrectly that KSM tokens will be a fraction of DOT tokens. It might sound naïve, but I was so eager in starting the validator, that all my attention was absorbed to determine a robust solution, which I will be able to maintain at the highest possible level, becoming a part of the foundation for the web3. I am a software engineer with a great interest in system administration. Concept explored by Kusama/Polkadot is mind-blowing! I am hoping that running a validator will be the beginning of a very interesting journey, where I will be able to bring value into the network. Computers are not only my work, but are also my hobby. R&D approach presented in the Kusama founding statement is close to my heart! Price tag of KSM on crypto exchange, makes it impossible to buy the required 50KSM self-stake. I have spoken about it in the Validators Lounge and Will from Web3 Foundation pointed me towards Kusama’s Treasury. I strongly believe that the Kusama network will benefit from a greater number of people willing to join the project, dedicating time and passion towards it. Entry criteria should reflect the change of the token, as it will seal the access for the new members what is not a desired outcome in my opinion.

Problem statement: The entry level for the Kusamas’ Thousand Validators Programme hasn’t been revised despite sharp rise of the KSM on the crypto exchange. 1KSM stands at £160, bringing the cost of 50KSM to £8k-£10k, making it beyond reach for a regular person eager to jump into the exciting project. It is keeping the door open only to few, which seems to be against the concept of the highly distributed and independent network of validators. Effect of a handful of enterprises seems to be taking over a greater chunk of the network becomes visible in the Polkadot network. Although it might seem good that few experienced can maintain high level validators, that brings a high risk of big enterprises taking over control, keeping highest stakes with no access for newcomers. It seems against principals of the network, where the rich are in control multiplying their assets in the process.

Proposal Objective/solution/s to point 2: Short term goal is for one individual (that is me) to gain access to tokens allowing to cross the starting line in the Kusama/Polkadot network. Long term goal, is to highlight to the treasury that where funds are being burned with every financial period, people are being pushed away from joining and expanding the network. Success would be for treasury providing me with the requested tokens, where my participation in the network will be easy to measure through tools already developed and used in the thousand validators programme.

How does this proposal change the current logic in Kusama? In a short term it won’t affect the current state in Kusama, but I hope that it will point out the problem at start, bringing review ot the own-stake funds under review by the council.

Who does this solution help? Entire community will benefit with additional validator on board, eager to participate, moderate and develop.

Milestones and tasks to include: Starting the validator and going through the application process within one-two weeks.

Why Kusama? I have reached Kusama, starting with parent’s network Polkadot. We have been discussing in our team how blockchain technology will change the internet. Participation in the network which is open for fast changes accepting risk of potential pitfalls on the way.

If you have seen similar proposals before: why is yours different? Many are participating in the Programme, but I believe none were able to enter at the current price.

Payment conditions: N/A Comments, Qs&As: N/A

dashboard profile icon
johnny
 
 
3rd Mar '21

Adding to above (following comments on Kusama Direction) I would like to ask for a leap of faith in me, that I am not here to screw the system, but to help with it's development. Please don't cut my wings by rejecting my request. I have put most of my savings to obtain KSM required to make this plea and I wish to be able to offer more to my honour on top of that, with the promise of the hard work and great commitment to the cause behind the network. I see that I might have ended up naively believing, that Kusama is more than "just" the money, taking slogan "Anyone technical and determined is encouraged to apply" from the Kusama programme deep into my heart.

RTTI-5220
 
 
3rd Mar '21

@johnny I would be happy to open a tip for you for the cost if your proposal gets slashed, for councillors to endorse.

dashboard profile icon
johnny
 
 
3rd Mar '21

@rrtti-5220 Thank you so much

JLBg...H9vx
 
 
8th Mar '21

The price of the coin is an obstacle for many, even for me. But the Projects are based on them, and all the internal democracy and finance is regulated on the number of token and not on their correspective value in the time being. I belive we will discuss DOT/KSM stake for proposal and stake for validator ecc. based on the inflation of them ( I belive the stake number will only increase )


Discover similar proposals


Empty Icon

No Active Proposals