Skip to content

Commit 7a57f87

Browse files
authored
Merge branch 'master' into master
2 parents 0eb9e34 + 8382bec commit 7a57f87

19 files changed

+1018
-104
lines changed

.github/workflows/application_accepted.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ jobs:
120120
In particular, please <b>don't announce the grant publicly before at least the first milestone of your
121121
project has been approved.</b> At that point or shortly before, you can get in touch with us at
122122
grantsPR@web3.foundation and we'll be happy to collaborate on an announcement about the work you’re doing.<br/><br/>
123-
Also, if you haven't yet, consider signing up for the [Polkadot Alpha Program](https://polkadot.network/development/alpha/).
124-
The program offers plenty of resources for people building on Polkadot.
125123
Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables
126124
in your application. You can either leave a comment here or directly request to amend your application
127125
via PR. We wish you luck with your project! :rocket:

.github/workflows/cla.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
path-to-document: 'https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/T%26Cs.md'
3030
# branch should not be protected
3131
branch: 'master'
32-
allowlist: semuelle,takahser,Noc2,nikw3f,dsm-w3f,keeganquigley,laboon,github-actions[bot]
32+
allowlist: semuelle,takahser,Noc2,PieWol,keeganquigley,laboon,github-actions[bot]
3333

3434
# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
3535
remote-organization-name: w3f

README.md

Lines changed: 78 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,74 @@ Finally, we take licensing and the right of all teams in and outside the ecosyst
6060

6161
We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and, based on this, may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/).
6262

63+
### What We're Looking For
64+
65+
We're excited to support projects that align with our vision for a thriving Web3 ecosystem. Here's what makes us particularly enthusiastic about an application:
66+
67+
**💡 User-Centric Innovation**
68+
- Projects that focus on real user needs and can serve a broad user base
69+
- Solutions that address practical challenges and improve user experiences
70+
71+
**🔄 Dogfooding & Practical Value**
72+
- Projects that can be actively used and tested by Web3 Foundation, Parity, your team, and the broader ecosystem
73+
- Tools and applications that solve problems we face ourselves
74+
75+
**🪙 DOT Token Alignment**
76+
- Projects that create tangible demand and usage for the DOT token
77+
- Solutions that strengthen the Polkadot ecosystem's economic foundation
78+
79+
**💰 Sustainable Business Models**
80+
- Teams demonstrating strong financial discipline and clear planning
81+
- Projects with a realistic path to financial independence within 12-24 months
82+
- Evidence of thoughtful resource management and business strategy
83+
84+
**⚖️ Regulatory Awareness**
85+
- Projects that understand and comply with regulatory requirements in their target markets
86+
- Teams that proactively consider compliance and legal considerations
87+
88+
**🌟 Exciting Verticals**
89+
90+
We're particularly interested in (but not limited to) these areas:
91+
- **Cross-border payments & stablecoins**, especially serving Latin America and Southeast Asia
92+
- **AI applications** like content authentication and verification systems
93+
- **DePIN/IoT solutions** with concrete, marketable products
94+
- **Proof-of-personhood** implementations and identity solutions
95+
- **Web2 to Web3 bridges** - bringing familiar concepts (think HackMD, Spotify-like experiences) to Polkadot
96+
97+
### What Doesn't Fit Our Program
98+
99+
To help you determine if our program is the right fit, here are types of projects we typically don't fund:
100+
101+
**❌ Generic Approaches**
102+
- Projects based on generic talking points from other ecosystems without Polkadot-specific innovation
103+
- Applications that could apply to any blockchain without meaningful differentiation
104+
105+
**🪙 Token-Only Focus**
106+
- Projects focused primarily on token sales rather than providing genuine utility
107+
- Applications where the main value proposition is speculative trading
108+
109+
**📈 Marketing Without Substance**
110+
- Pure marketing efforts without concrete technical deliverables
111+
- Projects aimed at "saving" or promoting other projects through marketing alone
112+
- Generic promotional activities without defined use cases
113+
114+
**💸 Financial Sustainability Concerns**
115+
- Teams without clear financial planning or path to sustainability
116+
- Projects that don't demonstrate responsible resource management
117+
- Applications lacking realistic business models or revenue streams
118+
119+
**🔒 Limited Usability**
120+
- Products that we and the community cannot meaningfully test or use
121+
- Solutions that exist in isolation without practical application
122+
123+
**🌐 Misaligned Objectives**
124+
- Projects that don't create meaningful demand or usage for DOT tokens
125+
- Solutions that could easily exist on any blockchain without leveraging Polkadot's unique features
126+
127+
**⚖️ Regulatory Blindness**
128+
- Projects that ignore or are unaware of regulatory requirements in their target markets
129+
- Teams that haven't considered compliance implications for their solutions
130+
63131
### Project Ideas
64132

65133
An overview of existing projects in the Web 3.0 Technology Stack, along with broad project ideas we would potentially be interested in funding, can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](https://github.com/w3f/Grants-Program/blob/master/applications/index.md).
@@ -86,11 +154,12 @@ In cases where a niche expert opinion is desirable, one of the committee members
86154

87155
- [Santiago Balaguer](https://github.com/SBalaguer)
88156
- [Aeron Buchanan](https://github.com/aeronbuchanan)
157+
- [Radhakrishna Dasari](https://github.com/DrW3RK)
158+
- [Robert Hambrock](https://github.com/Lederstrumpf)
89159
- [David Hawig](https://github.com/Noc2)
90160
- [Sebastian Müller](https://github.com/semuelle)
91161
- [Bill Laboon](https://github.com/laboon)
92162
- [Keegan Quigley](https://github.com/keeganquigley)
93-
- [Raul Romanutti](https://github.com/rrtti)
94163
- [Seraya Takahashi](https://github.com/takahser)
95164
- [Piet Wolff](https://github.com/PieWol)
96165
- [Gavin Wood](https://github.com/gavofyork)
@@ -171,6 +240,12 @@ The W3F Grants Program offers different grant levels to help you best, depending
171240
- If your _delivery schedule_ significantly changes, please also open a pull request with an updated timeline.
172241
- If your deliveries are significantly delayed, and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only two more approvals are required).
173242

243+
## KYB/KYC
244+
245+
NOTICE:
246+
In connection with your participation in an ecosystem initiative organised by Web 3.0 Technologies Foundation, you agree to the processing of your personal data for identity verification, in order to prevent fraud, ensure eligibility, and maintain the integrity of our processes. This processing is based on legitimate interests under the EU General Data
247+
Protection Regulation and on justified organisational needs under the Swiss Federal Act on Data Protection. Please follow these links to complete the [KYC (Know Your Customer)](https://in.sumsub.com/websdk/p/uni_6qX6Ju3vlfrMQbbG) or [KYB (Know Your Business)](https://in.sumsub.com/websdk/p/uni_6eVGNmoJ83HVovnN) process. Your information will be handled in line with the [Web3 Foundation Privacy and Cookies Policy](https://web3.foundation/privacy-and-cookies/) and the [Sumsub Privacy Notice](https://sumsub.com/privacy-notice-service/).
248+
174249
## :mailbox_with_mail: Suggest a Project
175250

176251
If you think that we should support the development of certain tools or projects that aren't in the Polkadot/Kusama [tech stack](https://wiki.polkadot.network/docs/build-open-source), feel free to submit a suggestion using the process described below. We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem.
@@ -294,20 +369,17 @@ The best way to find out about upcoming hackathons is by following Polkadot on v
294369
Below is a list of other grant and bounty programs in the Polkadot/Substrate ecosystem:
295370

296371
- [Acala Ecosystem Program](https://acala.network/ecosystem-program)
297-
- [Aleph Zero Funding Program](https://alephzero.org/ecosystem-funding-program)
298372
- [Avail Uncharted Grants](https://github.com/availproject/avail-uncharted/blob/main/grants/grants.md)
299-
- [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program)
300373
- [Decentralized JAM](https://jam.web3.foundation/)
301-
- [HydraDX Grants and Bounties](https://docs.hydradx.io/spending_fw/)
374+
- [HydraDX Grants and Bounties](https://docs.hydration.net/community/spending_fw/)
302375
- [ink!ubator](https://use.ink/ubator/)
303376
- [Moonbeam Grants Program](https://moonbeam.foundation/grants/)
304377
- [Moondance Labs Ecosystem Funding Program](https://www.moondancelabs.com/ecosystem-grants-w3f)
305378
- [peaq Ecosystem Grant Program](https://www.peaq.network/grant-program)
306379
- [Pendulum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant)
307380
- [Polkadot Assurance Legion](https://polkadotassurance.com/)
308381
- [Polkadot Open Source Developer Grants](https://github.com/PolkadotOpenSourceGrants/apply)
309-
- [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/)
310-
- [SubQuery Developer Guild](https://github.com/subquery/developer-guild)
382+
- [RingDAO Collaboration Hub](https://github.com/ringecosystem/collaboration)
311383

312384
## :information_source: License<!-- omit in toc -->
313385

applications/DecentralizedThresholdSigningService.md

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,34 @@ This project is a continuation of [this one](https://github.com/w3f/Grants-Progr
1414

1515
### Technical Details
1616

17-
Each participant in the threshold signing group will run a dedicated node application. This application will include:
17+
Each participant in the threshold signing group will run a browser-based application that performs decentralized key generation and signing operations through the Olaf threshold signature protocol, compiled to WebAssembly (WASM). The networking layer is built using JavaScript and `libp2p` for peer discovery and communication.
1818

19-
- Core Threshold Signing Protocol: The service will use the Olaf threshold signature protocol, which was implemented in the previous grant.
19+
#### 🌐 Networking Layer (JavaScript)
2020

21-
- Peer-to-peer networking via [`rust-libp2p`](https://github.com/libp2p/rust-libp2p) (Milestone 1):
21+
##### Transport
22+
- Peers connect to a relay server using WebSockets.
2223

23-
- Peer discovery: nodes will identify and discover each other through a Distributed Hash Table (DHT) that maps their Substrate/Polkadot/Kusama public addresses to their peer IDs.
24+
##### Discovery
25+
- When a peer connects, it sends its Substrate/Polkadot/Kusama address to the relay server.
26+
- The relay server assigns the peer a random `libp2p` Peer ID and stores the mapping:
27+
Address → Peer ID
2428

25-
- Secure communication: [`libp2p_noise`](https://docs.rs/libp2p-noise/latest/libp2p_noise/) provides secure, authenticated channels between participating nodes for exchanging protocol messages.
29+
- Peers can query the relay server with a known blockchain address to obtain the corresponding Peer ID.
2630

27-
- Integration of the Olaf protocol with the underlying network (Milestone 2), managing:
28-
- Distributed Key Generation (DKG) and signing rounds.
31+
##### Direct Peer Communication
32+
- Once a Peer ID is obtained, the peer establishes a WebRTC connection using `libp2p`.
33+
- All protocol messages are exchanged via this secure, direct P2P channel.
2934

30-
- Local storage of key shares and protocol state.
35+
#### 🔐 Cryptographic Protocol (Rust → WASM)
3136

32-
- A Command Line Interface (Milestone 3) that allow users to:
37+
The cryptographic logic is written in Rust and compiled to WebAssembly (WASM) for browser use.
3338

34-
- Configure node settings (network addresses and peer IDs).
35-
36-
- Configure protocol settings (threshold and number of participants).
37-
38-
- Execute the Olaf protocol.
39+
##### Core Functionality
40+
- Distributed Key Generation (DKG) to derive a shared threshold public key.
41+
- Threshold Signing for signing Substrate/Kusama/Polkadot extrinsics.
42+
43+
##### State Management
44+
- Key shares and protocol state are stored in browser-local storage (e.g., `IndexedDB`).
3945

4046
### Ecosystem Fit
4147

@@ -75,7 +81,7 @@ The most similar project we found is [this](https://github.com/nulltea/tss-libp2
7581
- **Total Costs:** 30,000 USD
7682
- **DOT %:** 50%
7783

78-
### Milestone 1 - Development of the Node
84+
### Milestone 1 - Peer Discovery via Blockchain Address
7985

8086
- **Estimated duration:** 1 month
8187
- **FTE:** 1
@@ -87,9 +93,9 @@ The most similar project we found is [this](https://github.com/nulltea/tss-libp2
8793
| **0b.** | Documentation | We will provide **inline documentation** of the code. |
8894
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
8995
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
90-
| **1.a** | Development of the Node | Two peers running on different machines are able to discover each other through their Substrate/Kusama/Polkadot address, establish a connection, and exchange messages. |
96+
| **1.a** | Peer Discovery via Blockchain Address | Two browsers connect to a relay server, register with a Substrate/Kusama/Polkadot address, discover each other, and exchange messages directly over WebRTC using `libp2p`. |
9197

92-
### Milestone 2 - Integration of Olaf into the Node
98+
### Milestone 2 - Distributed Key Generation
9399

94100
- **Estimated duration:** 1 month
95101
- **FTE:** 1
@@ -101,9 +107,9 @@ The most similar project we found is [this](https://github.com/nulltea/tss-libp2
101107
| **0b.** | Documentation | We will provide **inline documentation** of the code. |
102108
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
103109
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
104-
| **1.a** | Integration of Olaf into the Node | Two peers on different machines exchange messages and successfully produce a threshold signature using the Olaf protocol with hardcoded protocol parameters. |
110+
| **1.a** | Distributed Key Generation | Two browsers exchange messages and successfully produce a shared threshold public key using the Olaf DKG protocol compiled to WASM. |
105111

106-
### Milestone 3 - Decentralized Threshold Signature Service CLI
112+
### Milestone 3 - Threshold Signature
107113

108114
- **Estimated duration:** 1 month
109115
- **FTE:** 1
@@ -116,8 +122,12 @@ The most similar project we found is [this](https://github.com/nulltea/tss-libp2
116122
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
117123
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
118124
| **0e.** | Article | We will publish an **article**/workshop that explains how the service works under the hood and how it can be used from a user perspective. |
119-
| **1.a** | Decentralized Threshold Signature Service CLI | Two peers on different machines exchange messages and produce a threshold signature using the Olaf protocol with protocol parameters defined by user input from the CLI. |
125+
| **1.a** | Threshold Signature | Two browsers exchange messages and produce a valid threshold signature over a given Substrate/Kusama/Polkadot extrinsic using the Olaf protocol compiled to WASM. |
120126

121127
## Future Plans
122128

123-
- Develop a webwallet for the user interface or integrate it in an established webwallet of the ecosystem, if there is interest.
129+
Build a production-ready, secure Progressive Web App (PWA) that includes:
130+
- Robust asynchronous peer-to-peer communication.
131+
- Support for configurable t-out-of-n threshold schemes.
132+
- Add proof of ownership to prevent address spoofing.
133+
- Implement a network of relay servers to achieve full decentralization.

0 commit comments

Comments
 (0)