+- `Pallet_ips` - Provides basic functionality for creating and managing an `IPSet`. You can think of an `IPSet` as an idea, which is basically a collection of components (intellectual property tokens) that define and describe that idea.
+
+- `Pallet_ipf` - Provides basic functionality for creating and managing an `IPToken`. You can think of an `IPToken` as a component of an idea. For example, a business summary PDF file, or even a 3D rendering of a prototype mold. When combined and stored in an `IPSet`, that collection forms the foundtion for an idea. The more detailed and/or comprehensive an `IPSet` is, the stronger the idea.
+
+
### 2. IP Licenses & Tokens
-* `Pallet_dev` - Provides basic functionality for structuring, managing, and listing a `DEV`(Decentralized Entrepreneurial Venture). You can think of a `DEV` as an agreement between multiple parties to come together as cofounders over a project in order to contribute towards an `IPSet`'s actualization.
-* `Pallet_dao` - Provides basic functionality for creating and managing a `DAO` that helps govern a `DEV`. You can think of a `DAO` as a `DEV`'s governance mechanism. It helps regulate the and ensure the integrity and prudence of participants within a `DEV`.
-* `Pallet_worklog` - Provides basic functionality for creating and managing a `WorkLog` within a `DEV`. You can think of a `Worklog` as a `DEV`'s method of recording and storing milestone/deliverables progressions and completions.
-
-
+- `Pallet_dev` - Provides basic functionality for structuring, managing, and listing a `DEV`(Decentralized Entrepreneurial Venture). You can think of a `DEV` as an agreement between multiple parties to come together as cofounders over a project in order to contribute towards an `IPSet`'s actualization.
+
+- `Pallet_dao` - Provides basic functionality for creating and managing a `DAO` that helps govern a `DEV`. You can think of a `DAO` as a `DEV`'s governance mechanism. It helps regulate the and ensure the integrity and prudence of participants within a `DEV`.
+- `Pallet_worklog` - Provides basic functionality for creating and managing a `WorkLog` within a `DEV`. You can think of a `Worklog` as a `DEV`'s method of recording and storing milestone/deliverables progressions and completions.
+
+
+
-* Ownership can be fractionalized using multiple pegged fungible assets representing ownership (ARO). An ARO is (typically) reflected in the first IP Token (IPT) attached to an IP Set. The asset ID of an ARO is defined in a copyright ownership agreement, and there can be multiples of these fungible assets.
+- Ownership can be fractionalized using multiple pegged fungible assets representing ownership (ARO). An ARO is (typically) reflected in the first IP Token (IPT) attached to an IP Set. The asset ID of an ARO is defined in a copyright ownership agreement, and there can be multiples of these fungible assets.
### Ecosystem Fit
-:link: **Chains and Pallets**
+:link: **Chains and Pallets**
InvArch applies the categories below:
-* NFT
-* Governance/DAO
-* Other (IP Assets)
+
+- NFT
+- Governance/DAO
+- Other (IP Assets)
### Project Uniqueness
-* The world's first truly composable network for fully unlocking IP assets & on-chain IP attribution solution (that is flexible for its assets to experience international compliance in business, copyright, & legal transactions. InvArch revolutionizes the world of innovation beginning at the very start of development & pushes the bounds of web3 by taking existing concepts & challenging them to be different and better. By unlocking new doors & redefining what’s possible, InvArch will revolutionize the worlds of technical development & real-world collaboration down to their very core.
+
+- The world's first truly composable network for fully unlocking IP assets & on-chain IP attribution solution (that is flexible for its assets to experience international compliance in business, copyright, & legal transactions. InvArch revolutionizes the world of innovation beginning at the very start of development & pushes the bounds of web3 by taking existing concepts & challenging them to be different and better. By unlocking new doors & redefining what’s possible, InvArch will revolutionize the worlds of technical development & real-world collaboration down to their very core.
### Target Audience
-* Entrepreneurs/Innovators
-* Developers/DAOs/Artists
-* Educators/Researchers
-* Philanthropists
+
+- Entrepreneurs/Innovators
+
+- Developers/DAOs/Artists
+- Educators/Researchers
+- Philanthropists
### Problem Addressed
-* On-chain IP attribution (Achieved with this grant proposal).
-* International flexibility for compliance (Achieved with this grant proposal).
-* Barriers of access to startup capital. (OCIF Protocol)
-* On-chain donations for access & transparency. (OCIF Protocol)
-* File piracy & inability to securely expose data. (XCA Protocol)
+
+- On-chain IP attribution (Achieved with this grant proposal).
+
+- International flexibility for compliance (Achieved with this grant proposal).
+- Barriers of access to startup capital. (OCIF Protocol)
+- On-chain donations for access & transparency. (OCIF Protocol)
+- File piracy & inability to securely expose data. (XCA Protocol)
## Team :busts_in_silhouette:
-### Team members
+### Team members
+
(Development & Engineers)
-* [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development
-* [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development
-* [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development
-* [Mindaugas Savickas](https://www.linkedin.com/in/savickas) - Co-Founder & Head of Ecosystem Development
-* [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer
+- [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development
+- [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development
+- [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development
+- [Mindaugas Savickas](https://www.linkedin.com/in/savickas) - Co-Founder & Head of Ecosystem Development
+- [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer
-* [Brunk Škvorc](https://www.linkedin.com/in/swader) - Technical Advisor (Founder, RMRK)
-* [Marvin Tong](https://twitter.com/marvin_tong) - Product Advisor (Founder, Phala Network)
+- [Brunk Škvorc](https://www.linkedin.com/in/swader) - Technical Advisor (Founder, RMRK)
+- [Marvin Tong](https://twitter.com/marvin_tong) - Product Advisor (Founder, Phala Network)
### Contact
-* **Contact Name:** Dakota Barnett
-* **Contact Email:** dakota@invarch.network
-* **Website:** [https://invarch.network](https://www.invarch.network)
+- **Contact Name:** Dakota Barnett
+- **Contact Email:** dakota@invarch.network
+- **Website:** [https://invarch.network](https://www.invarch.network)
### Legal Structure
-The InvArch Association.
-Baarerstrasse 86,
-6300 Zug, Switzerland
+The InvArch Association.
+
+Baarerstrasse 86,
+
+6300 Zug, Switzerland
### Founders' experiences
-* [Dakota Barnett](https://www.linkedin.com/in/dakotasb97) has experience succesfully directing and leading multi-national teams, overseeing and directing
-succesful project management strategies, and scaling large operations. He's a seasoned developer, programming in JavaScript (3yrs), Node.js (2yrs),
+- [Dakota Barnett](https://www.linkedin.com/in/dakotasb97) has experience succesfully directing and leading multi-national teams, overseeing and directing
+succesful project management strategies, and scaling large operations. He's a seasoned developer, programming in JavaScript (3yrs), Node.js (2yrs),
React.js (2yrs), Python (2yrs), Rust (1yr), and the Substrate framework (1yr). Past work includes private projects for previous employers focused on machine learning, task automation, and website development. 💡
-* [Gabriel Facco de Arruda](https://github.com/arrudagates) has experience as a Rust Developer, programming for the past 3 years, and as a developer in
+- [Gabriel Facco de Arruda](https://github.com/arrudagates) has experience as a Rust Developer, programming for the past 3 years, and as a developer in
the Web3 ecosystem. Gabriel is a a dedicated programmer and DeFi ninja who loves cutting edge technology and all things Substrate/Rust. He is committed to
building applications that help promote a more decentralized global economy, and comes with past experience developing and scaling such applications. He
brings direct experience developing applications for the Substrate ecosystem and as a Polkadot ecosystem contributor dedicated to building the future. 🧠
-* [Kresna Sucandra](https://github.com/SHA888) is a dedicated programmer and Parity/Substrate enthusiast. Kusandra has been dedicated for the past year
+- [Kresna Sucandra](https://github.com/SHA888) is a dedicated programmer and Parity/Substrate enthusiast. Kusandra has been dedicated for the past year
learning everything there is to know about the Web3 ecosystem. Kresna is a medical doctor turned programmer with a background in Substrate blockchain
development focusing on multi-chain interoperability, DeFi, NFTs, and the Metaverse. He brings first-hand insights and experience as a former blockchain
-startup co-founder and developer with a history focusing on JavaScript and Rust programming. Kresna is a Polkadot ecosystem contributor who loves
+startup co-founder and developer with a history focusing on JavaScript and Rust programming. Kresna is a Polkadot ecosystem contributor who loves
entrepreneurship. 🚀
-* [Mindaugas Savickas](https://www.linkedin.com/in/savickas) is a veteran marketing advisor and fundraising rockstar with a background providing strategic marketing solutions and scaling over 40+ product & marketing teams worldwide. He Provides a proven history of success and strategic insights as a tech marketing guru who lives & breathes outside of the box. 📈
+- [Mindaugas Savickas](https://www.linkedin.com/in/savickas) is a veteran marketing advisor and fundraising rockstar with a background providing strategic marketing solutions and scaling over 40+ product & marketing teams worldwide. He Provides a proven history of success and strategic insights as a tech marketing guru who lives & breathes outside of the box. 📈
### Team Code Repos
-* InvArch Github: https://github.com/InvArch
-* InvArch Node https://github.com/InvArch/InvArch-node
-* InvArch Frames : https://github.com/InvArch/InvArch-Frames
-* InvArch INV4 FRAME : https://github.com/InvArch/InvArch-Frames/tree/main/INV4
+- InvArch Github:
+- InvArch Node
+- InvArch Frames :
+- InvArch INV4 FRAME :
Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.
-* [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development
-* [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development
-* [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development
-* [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer
+- [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development
+- [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development
+- [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development
+- [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer
### Team LinkedIn Profiles (if available)
-* [Dakota Barnett](https://www.linkedin.com/in/dakotasb97), Founder
-* [Gabriel Facco de Arruda](https://www.linkedin.com/in/gabriel-facco-de-arruda-00880787), Sr. Rust Dev
-* [Kresna Sucandra](https://www.linkedin.com/in/kresna-sucandra/), Substrate Dev
-* [Mindaugas Savickas](https://www.linkedin.com/in/savickas), Head of Marketing
+- [Dakota Barnett](https://www.linkedin.com/in/dakotasb97), Founder
+- [Gabriel Facco de Arruda](https://www.linkedin.com/in/gabriel-facco-de-arruda-00880787), Sr. Rust Dev
+- [Kresna Sucandra](https://www.linkedin.com/in/kresna-sucandra/), Substrate Dev
+- [Mindaugas Savickas](https://www.linkedin.com/in/savickas), Head of Marketing
## Development Status :open_book:
-* InvArch is a project in the Substrate Builders Program.
-* The INV4 protocol is complete & available for public testing.
-* Gearing up for the launch of the Brainstorm Testnet (Solo-chain) on May 23rd, 2022.
-* Preparing the InvArch Tinkernet for a crowdloan campaign & slot auction on the Kusama relay.
+- InvArch is a project in the Substrate Builders Program.
+- The INV4 protocol is complete & available for public testing.
+- Gearing up for the launch of the Brainstorm Testnet (Solo-chain) on May 23rd, 2022.
+- Preparing the InvArch Tinkernet for a crowdloan campaign & slot auction on the Kusama relay.
-* INV4 v2 & xcINV4 (Est. August, 2022) will add additional functionality, wrapping of other Substrate NFTs, & authentication of assets.
+- INV4 v2 & xcINV4 (Est. August, 2022) will add additional functionality, wrapping of other Substrate NFTs, & authentication of assets.
## Development Roadmap :nut_and_bolt:
### Overview
-* **Full-Time Equivalent (FTE):** 2.5
-* **Total Costs:** $25,000 equivalent
+- **Full-Time Equivalent (FTE):** 2.5
+- **Total Costs:** $25,000 equivalent
### Milestone 1 — Implement IP Pallets & Standards
-* **Estimated duration:** 4 weeks
-* **FTE:** 2
-* **Costs:** $10,000 equivalent
+- **Estimated duration:** 4 weeks
+- **FTE:** 2
+- **Costs:** $10,000 equivalent
Goal - Develop Substrate Pallets that fully realize Git-level composability for NFTs; fully emulating file & folder functionalities.
@@ -200,35 +217,35 @@ Goal - Develop Substrate Pallets that fully realize Git-level composability for
| 0b. | Documentation | Documents containing the description of the whole architecture design for InvArch, an introduction video, and appropriate `README.md` files will be included. |
| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. |
-| 1. | Node Repo | Complete the deployment of the InvArch chain (https://github.com/InvArch/InvArch) |
+| 1. | Node Repo | Complete the deployment of the InvArch chain () |
| 2a. | Pallet_ips | Complete the development of [pallet_ips](https://github.com/InvArch/InvArch-Pallet-Library/tree/main/ips) and realize the IP Sets standard. |
| 2b. | Pallet_ipf | Complete the development of [pallet_ipf](https://github.com/InvArch/InvArch-Pallet-Library/tree/main/ipt) and realize the IP Token Standard. |
-| 3. | Article | We will write an **article** that explains the work done as part of the grant. |
+| 3. | Article | We will write an **article** that explains the work done as part of the grant. |
### Milestone 2 — Implement DEV Pallets & Standards
-* **Estimated duration:** 12 weeks
-* **FTE:** 3
-* **Costs:** $15,000 equivalent
+- **Estimated duration:** 12 weeks
+- **FTE:** 3
+- **Costs:** $15,000 equivalent
Goal - Develop and deliver the DEV Pallets & Standards for the InvArch Chain/InvArch Pallet Library
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
-| 0a. | License | GPLv3 |
+| 0a. | License | GPLv3 |
| 0b. | Documentation | An introduction video, and appropriate `README.md` files will be included. |
| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. |
| 1a. | Pallet_ipl | complete the development of [pallet_ipl](https://github.com/InvArch/InvArch-Frames/tree/main/INV4/pallet-ipl) and copyright & license structuring mechanism. |
| 1b. | Pallet_ipt | Complete the development of [pallet_ipt](https://github.com/InvArch/InvArch-Frames/tree/main/INV4/pallet-ipt) and realize the refungible & multi-layer governance mechanisms. |
| 2. | INV4-Git middleware | We will release a middleware tool for managing INV4 assets using the standard git CLI commands transparently. |
-| 3. | Article & Video | We will write an **article** that explains the work done as part of the grant, as well as release a video walk through demonstrating the INV4 protocol |
+| 3. | Article & Video | We will write an **article** that explains the work done as part of the grant, as well as release a video walk through demonstrating the INV4 protocol |
## Future Plans
-* Launch the InvArchitects Assemble Program, the builders program of the InvArch Network.
-* Finish Development on the On-Chain Innovation Funding (OCIF) & Cross-Chain Authentication (XCA) protocols.
-* Maintain the Brainstorm Testnet, launch the Tinkernet Parachain on Kusama, & deploy the InvArch Network on Polkadot.
+- Launch the InvArchitects Assemble Program, the builders program of the InvArch Network.
+- Finish Development on the On-Chain Innovation Funding (OCIF) & Cross-Chain Authentication (XCA) protocols.
+- Maintain the Brainstorm Testnet, launch the Tinkernet Parachain on Kusama, & deploy the InvArch Network on Polkadot.
1. GitArch - Decentralized, Incentivized, Open-Source On-Chain Repository Platform powered using INV4-Git.
2. Tinkerspace - A VR Sandbox for experimenting, collaborating, & simulating development using INV4 Assets.
@@ -236,5 +253,5 @@ Goal - Develop and deliver the DEV Pallets & Standards for the InvArch Chain/Inv
## Additional Information :heavy_plus_sign:
-**How did you hear about the Grants Program?**
+**How did you hear about the Grants Program?**
Web3 Foundation Website
diff --git a/applications/JuniDB.md b/applications/JuniDB.md
index a1372a9d416..15150b0b44b 100644
--- a/applications/JuniDB.md
+++ b/applications/JuniDB.md
@@ -1,4 +1,5 @@
-* **Project Name:** JuniDB
+# JuniDB
+
* **Team Name:** Uddug
* **Payment Address:** 0xc45eAd98E95D1962133d9c15847e2EA4E16dfD0b
@@ -7,6 +8,7 @@
### Overview
It's a very highload action to store large amounts of data on-chain. The most-common and useful solution for decentralised apps is to use IPFS as a data storage and store on-chain only hashes. Our team inspired by the OrbitDB will focus on the scalability, decentralised, easy-learning solution for substrat developers that want to manipulate big amounts of data easily.
+
#### Key advantages
* **Usability** - just integrate and code
@@ -22,30 +24,32 @@ It's a very highload action to store large amounts of data on-chain. The most-co
Working a lot with blockchain technologies, our team found that it’s data-driven, and thus there are rapidly growing interests in integrating them for more secure and efficient data storage and sharing.We are convinced that blockchain technologies change the world, and have been working hard to create more transparent solutions. We designed and built core infrastructure for decentralised projects.
-We have been observing and learning Substrate technologies and find Polkadot as the best ecosystem for us to join depending on technology and strong market position. We believe that our protocol will be useful for other projects in the Polkadot ecosystem.
+We have been observing and learning Substrate technologies and find Polkadot as the best ecosystem for us to join depending on technology and strong market position. We believe that our protocol will be useful for other projects in the Polkadot ecosystem.
### Project Details
+
Substrate pallet provides a configurable database module allows to store and manipulate a big amount of data. Pallet works as an offchain worker and connect data between blockchain and ipfs via offchain::worker.
#### Encryption module
+
Built-in encryption module allows to create a secure database and encrypt all data before its uploading to the database with user account keys. With enabled encryption only account users have access to the database. Data could be decrypted via Web-application after receiving. Module is based on asymmetrical cryptography and uses an account public key to encrypt data on the blockchain side and a private key to decrypt data on the client side.
-We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https://github.com/phayes/ecies-ed25519) crate to implement encryptions on backend side.
+We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https://github.com/phayes/ecies-ed25519) crate to implement encryptions on backend side.
![scheme A](https://i.postimg.cc/gJds3kj9/encryption.png)
-- receive data by RPC request
-- Encrypt data by account public key
-- Insert encrypted data into ipfs via offfchain::ipfs
-- Insert received ipfs hash into storage
+* receive data by RPC request
+* Encrypt data by account public key
+* Insert encrypted data into ipfs via offfchain::ipfs
+* Insert received ipfs hash into storage
![scheme B](https://i.postimg.cc/Y9h66G7s/decryption.png)
-- catch request to get data by RPC request
-- get ipfs hash from storage
-- fetch encrypted data from ipfs via offchain::ipfs
-- receive encrypted data in RPC response
-- decrypt data using user account private key via app ddecryption module
+* catch request to get data by RPC request
+* get ipfs hash from storage
+* fetch encrypted data from ipfs via offchain::ipfs
+* receive encrypted data in RPC response
+* decrypt data using user account private key via app ddecryption module
#### Technical stack
@@ -62,6 +66,7 @@ We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https:/
* **ecies-ed25519** - encryption crate
#### Public Methods
+
* **KeyValueInit(name)** - initialise new keyValue database
* **KeyValueSet(key, value)** - set given value in keyValue database
* **KeyValueGet(key)** - get value for given key
@@ -76,74 +81,81 @@ We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https:/
* **HashAll(hash)** - get all hash fields
#### Storage
+
* **Data Map** - mapping ipfs hashes and data keys
* **Key-value** - database meta info
#### Scheme 1. Palett structure
+
![scheme C](https://i.postimg.cc/Hn1nkxGD/pallet.png)
##### Data uploading
-- Rpc/wss request to pallet to insert data
-- Validating data based on database schema
-- Formatting data
-- Encrypted (if needed)
-- Store to ipfs via offchain::ipfs
-- Retrieving ipfs hash with data
-- Store ipfs hash into pallet storage
+* Rpc/wss request to pallet to insert data
+* Validating data based on database schema
+* Formatting data
+* Encrypted (if needed)
+* Store to ipfs via offchain::ipfs
+* Retrieving ipfs hash with data
+* Store ipfs hash into pallet storage
##### Data retrieving
+
- RPC/wsss request to pallet to fetch get data
-- Validating data query
-- Get ipfs hash from storage
-- Fetch data from ipfs via offchain::ipfs
-- Return data object in response
+* Validating data query
+* Get ipfs hash from storage
+* Fetch data from ipfs via offchain::ipfs
+* Return data object in response
#### Scheme 2. Interaction with Substrate
+
![scheme D](https://i.postimg.cc/1zzJvmjQ/scheme.png)
#### Infrastructure
+
Testing substrate nodes with offchain::orbitDB pallet orchestrated by kubernetes cluster deployed on GCP.
+
#### Ci/Cd
+
Ci/Cs organized by github actions
+
#### Frontend
+
Simple SPA web application powered by react and polkadot.js. Using for testing purposes.
-### Ecosystem Fit
+### Ecosystem Fit
Pallet is suitable for substrate developers and strives to become a complex solution for data storage and manipulation.
We expect that the project will be useful for the Web3 community.
-
## Team :busts_in_silhouette:
### Team members
-**Tech lead, backend:** Andrew Skurlatov
+**Tech lead, backend:** Andrew Skurlatov
-https://www.linkedin.com/in/andrew-skurlatov/
+
-**Head of product:** Mike Manko
+**Head of product:** Mike Manko
-https://www.linkedin.com/in/mikhail-manko-97a491a2/
+
-**Product design:** Anuar Zhumaev
+**Product design:** Anuar Zhumaev
-https://www.linkedin.com/in/yxorama/
+
-**DevOps:** Ivan Podcebnev
+**DevOps:** Ivan Podcebnev
-https://www.linkedin.com/in/naykip/
+
-**Data Science:** Constantine Czerniak
+**Data Science:** Constantine Czerniak
-https://www.linkedin.com/in/%D1%81czerniak/
+
-**Frontend:** Nikita Velko
-
-https://www.linkedin.com/in/nikichv/
+**Frontend:** Nikita Velko
+
### Contact
@@ -151,7 +163,6 @@ https://www.linkedin.com/in/nikichv/
**Contact Email:** ms@uddug.com
-
### Legal Structure
**Registered Address:** PO301650, RUSSIA, UL. OVRAZHNAYA, D. 35, S. TETYAKOVKA, NOVOMOSKOVSKIJ R-N, OBL. TUL'SKAYA.
@@ -164,28 +175,26 @@ Core of our team is of united, like-minded professionals with solid experience.
Team range of experience begins from developing small scaled websites up to complex blockchain architectures. Our projects are diverse, but all of them share the need to have a software solution for humans.
-
### Team Code Repos
-http://github.com/andskur/
+
-http://github.com/uddugteam/
+
-### Commits
-https://github.com/uddugteam/thc-node/commits/master
+### Commits
+
-### Related domain
-https://thc.uddug.com/
+### Related domain
+
## Development Status :open_book:
-We have already developed the pre-alfa pallet for **Trusted Health Council** [(https://github.com/uddugteam/thc-node)](https://github.com/uddugteam/thc-node).
+We have already developed the pre-alfa pallet for **Trusted Health Council** [(https://github.com/uddugteam/thc-node)](https://github.com/uddugteam/thc-node).
-Link to initial pull request (https://github.com/uddugteam/General-Grants-Program/blob/master/grants/speculative/trusted_health_consul.md).
+Link to initial pull request ().
Link to 2nd pull request
-(https://github.com/uddugteam/Open-Grants-Program/blob/master/applications/ML-as-a-service.md).
-
+().
## Development Roadmap :nut_and_bolt:
@@ -193,7 +202,7 @@ Link to 2nd pull request
* **Full-Time Equivalent (FTE):** 2.5 FTE
* **Total Costs:** 28 000 USD
-### Milestone 1
+### Milestone 1
* **Estimated Duration:** 1 month
* **FTE:** 2.5
@@ -209,11 +218,10 @@ Link to 2nd pull request
| 2. | Web application | Interacting with blockchain + form with fields to manipulate with data. Based on the substrate-front-end-template |
| 3. | Docker image| We will provide a dockerfile to demonstrate the full functionality of testing Substrate chain with integrated Database pallet. |
-
### Milestone 2
* **Estimated Duration:** 1 month
-* **FTE:** 2.5
+* **FTE:** 2.5
* **Costs:** 7 000 USD
| Number | Deliverable | Specification |
@@ -228,7 +236,7 @@ Link to 2nd pull request
### Milestone 3
* **Estimated Duration:** 1 month
-* **FTE:** 2.5
+* **FTE:** 2.5
* **Costs:** 7 000 USD
| Number | Deliverable | Specification |
@@ -244,7 +252,7 @@ Link to 2nd pull request
### Milestone 4
* **Estimated Duration:** 1 month
-* **FTE:** 2.5
+* **FTE:** 2.5
* **Costs:** 7 000 USD
| Number | Deliverable | Specification |
@@ -259,7 +267,7 @@ Link to 2nd pull request
## Future Plans
-Further development (adding new data storages, indexing system, concurrency queries)
+Further development (adding new data storages, indexing system, concurrency queries)
Community engagement
diff --git a/applications/KSM-embeddable-tip-or-donate-button.md b/applications/KSM-embeddable-tip-or-donate-button.md
index e2baef7e0b5..466bead9e15 100644
--- a/applications/KSM-embeddable-tip-or-donate-button.md
+++ b/applications/KSM-embeddable-tip-or-donate-button.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# Tip or Donate KSM Embeddable Button
-- **Project:** Tip or Donate KSM Embeddable Button
- **Proposer:** https://github.com/Shard-Labs
- **Payment Address:** bc1q5njhr3r0mgd398yvma75nv48g69c590a0f0zcx
diff --git a/applications/Koiverse.md b/applications/Koiverse.md
index df52148dc3b..36297005df7 100644
--- a/applications/Koiverse.md
+++ b/applications/Koiverse.md
@@ -1,53 +1,39 @@
-# Koi Metaverse - Open Grants Program
+# Koi Metaverse
-
-
-* **Project:** Koi Metaverse
-* **Proposer:** https://github.com/KoiMetaverse
+* **Proposer:**
* **Payment Address:** 0xfADc3c36E41D36796ca05B4D55b148725c804cE0
* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/678#issuecomment-1204360469)
-
# Project Overview
-
## Overview
-
### Introduction
-Koi Metaverse aims to unlock the next-gen GameFi metaverse economies and it is building the digital collectibles platform for virtual GameFi NFTs. It is a fish collection blockchain game that combines token economy and NFT assets. It consists of a series of smart contracts, and all of the in-game assets belong to its players. Players can play to earn by collecting high mining power fish and growing them, creating a positive self-circulation.
+Koi Metaverse aims to unlock the next-gen GameFi metaverse economies and it is building the digital collectibles platform for virtual GameFi NFTs. It is a fish collection blockchain game that combines token economy and NFT assets. It consists of a series of smart contracts, and all of the in-game assets belong to its players. Players can play to earn by collecting high mining power fish and growing them, creating a positive self-circulation.
If pure-bred mining fish is reproduced, you can lock it into the pictorial book to mine the governance token, and use it to participate in the other DeFi activities. Koiverse creates a variety of NFT assets in the form of fish images and aims to become the BearBrick in the blockchain GameFi space and the brand new Axie Infinity on the Polkadot network.
-
### Team Interest
Our team has more than 10 years of game development experience and 3 years of blockchain game development experience. The number of accumulated registered users in the previous games is over 50 million globally. The highest number of active unique users exceeded 1 million. Koi team is also experts in innovative gaming mechanisms, sidechain implementation, tokenization economics and decentralized wallet integration.
We are creating new kinds of virtual assets on Blockchain. Certainly we are the true Metaverse believers and builders who have strong motivation to unlock the Next-Gen GameFi Metaverse Economies. In Metaverse powered by Blockchain, we have seen the following core disruptive innovations:
-
-
* Blockchain infrastructure leads to the property rights revolution. With blockchain, we can imagine a world in which contracts are embedded in digital code and stored in transparent, shared databases so that everyone could have the real ownership of properties.
* Non-Fungible Token (NFT) changes the types and rules of games. NFT is a new form of unique digital asset designed to show someone has ownership of a unique virtual asset. It will become a new trend of virtual assets for creating, trading and collecting.
* Tokenization and crypto creates brand-new business models. Crypto unlocks new rules of business models in game, like the concept of Play-to-Earn (P2E) which created new types of jobs and professions in digital Metaverse economies.
-
## Project Details
-
### Project Architecture
The technical architecture of the project:
![](https://statics.fishnft.xyz/github/koi.png)
-
The gaming NFT protocols and Dapp consists of:
-
-
* NFT Lottery Draw (NFT function)
* NFT Auction Sale (NFT function)
* NFT Minting (NFT function)
@@ -57,51 +43,38 @@ The gaming NFT protocols and Dapp consists of:
* Fish Mining (game function)
* Pictorial Book Mining (game function)
-
#### NFT Functions
**NFT Lottery Draw**
-
### Types
-
-
* `name` - activity name
* `nft` - nft contract address
* `noin` - coin contract address
* `price` - fees needed to run lottery
-* `total` - total number of lotteries
+* `total` - total number of lotteries
* `remain` - remnant quantity
-* `limit` - nft limited per person
-* `startTime` - activity start time
+* `limit` - nft limited per person
+* `startTime` - activity start time
* `endTime` - activity end time
-
### Functions
-
-
* `lottery()` - lottery
**NFT Auction Sale**
-
### Types
-
-
* `name` - activity name
* `nft` - nft contract address
* `coin` - coin contract address
* `startTime` - activity start time
* `endTime` - activity end time
-
### Function
-
-
* `fishList()` - read the fish list in the auction activity
* `fishGeneList()` - read the fish gene list in the auction activity
* `bid()` - users submit bids
@@ -110,21 +83,15 @@ The gaming NFT protocols and Dapp consists of:
**NFT Minting**
-
### Types
-
-
* `nft` - nft contract address
* `coin` - coin contract address
* `totalNft` - current NFT quantities in mining pool
* `totalNftPower` - current total NFT mining power in mining pool
-
### Function
-
-
* `myNft()` - read staked NFT
* `getNft()` - read one nft info
* `earned()` - read mining profit
@@ -133,80 +100,58 @@ The gaming NFT protocols and Dapp consists of:
* `withdrawNftAll()` - withdraw all staked nfts
* `getReward()` - acquire mining reward
-
#### NFT Assets
**Fish NFT**
-
-
* Each fish is composed of 14 genetic components: shape, color, pattern, eyes, mouth, pectoral fin, dorsal fin, caudal fin, decorations, invisible components, and breeding sequence.
* The highest mining power of the fish is determined by the sum of each part’s mining power, gear buff, and the cultivation level.
* When certain fish genes match, a mining power bonus and pictorial books will be activated.
**Fist Tank NFT**
-
-
* The fish can grow up in fish tanks. The cultivation time cycles are 10 days, 30 days, and 90 days, which respectively come with a maximum 30%, 120%, and 400% mining power increase.
* Each fish tank may have unique features and different capacities.
* Fish tanks and fish cannot be sold during the lock period.
* In the cultivation time, the fish cannot engage in mining or breeding.
-
#### Game Functions
**Fish Breeding**
-
-
* The only way gamers can mint new fish NFT assets is to breed fish. The cost of the very first breeding is determined by the average mining power P of the parent fish and the average ecological mining power AP. The cost F=K*P/AP, tentatively K = 500.
* The progeny genes are inherited from the parent fish genes, and each parent has a 50% chance to propagate its genes.
* The scarcity of the fish gene is classified as normal, scarce, epic, and legendary. The scarce, epic, and legendary genes, respectively, have a 50%, 35%, and 25% chance to be inherited. There is a 1% chance to increase the gene scarcity level, or the genes will mutate into random and normal genes.
**Fish Mining**
-
-
* All fish with mining power can obtain reward tokens every day proportionately. The amount of reward token available to mine per day (M) is related to (F) the total sum of the fish (mining power>0) participating in mining. M=K*F^0.9,K as a constant, tentatively K=50.
* Only the fish that are not being sold, bred, or locked by pictorial books can participate in mining.
* Every time a fish participates in mining, it loses 4% of the mining power until it reaches 0.
**Pictorial Book Mining**
-
-
* A gamer can activate a pictorial book when acquiring some pure-bred fish with the built-in suites.
* You can start mining reward tokens if you lock the right fish into the pictorial book. The locked fish must have full mining capacity.
* There are 4 levels to each fish’s pictorial book: 0, 10, 30, and 90 growing up days in fish tanks.
* When level 2, level 3 or level 4 fish are locked, the system automatically releases the low-level fish previously locked. You can only lock one fish, and you can double your points after collecting all level 4 fish, in all the colors, with the same suit.
* The mined reward tokens are distributed according to the points and settled once a day. At the same time, the mining power is reduced by 4%. If the mining power is 0, then no more mining can be done.
-
#### Front End
-
-
* Implement web front-end based on react.js and polkadot.js. Modules include: NFT Lottery Draw, NFT Auction Sale, NFT Minting, Fish and Fish Tank.
* Implement web front-end based on react.js, polkadot.js and pixi.js. Game functions include Fishing Mining, Fish Breeding, Pictorial Book Mining.
-* UI mockups: https://www.figma.com/file/0uuKT3XxB6hbzyFxLnzfAr/Koi-Metaverse?node-id=0%3A1
-* Fish Gene and Images: https://drive.google.com/drive/folders/1R4EoaDhoPkpxd9vchh7KLs-jx94pKad1?usp=sharing
-
+* UI mockups:
+* Fish Gene and Images:
### Ecosystem Fit
Existing GameFi NFT projects mainly focus on the public chains, games and collectible publishing, Marketplace, etc. Popular projects working in this segment include Axie Infinity (NFT game), Chiliz (sports-oriented underlying public chain), Flow (general NFT issuance public chain), and Opensea (general marketplace). We will add more game functions than Axie Infinity and build on the Substrate framework. We also can collaborate with native Polkadot NFT marketplace [RMRK](https://www.rmrk.app/) and [NFTMart](https://www.nftmart.io/).
-
-
-
# Team
-
## Team Members
-
-
* Anetta Sultygova - Project Lead
* Euglena Liu - Product Manager
* Yuan Li - Full-stack Developer
@@ -215,43 +160,30 @@ Existing GameFi NFT projects mainly focus on the public chains, games and collec
* Hongfeng Liu - Artistic Designer
* Vladan Falcic - NFT Advisor
-
## Team Website
-
-
* [https://www.koi.io/](https://www.koi.io/)
-
## Legal Structure
-
-
* Koi Metaverse Ltd. is a company registered in the British Virgin Islands.
-
## Team Experience
Anetta Sultygova
-
-
* 8-years project management and investing experience in the blockchain industry. She is good at structuring and organizing the teams around the projects.
* Seasoned experience in NFT ecosystem and marketing strategy.
* Marketing and community management in MILC, Realm, BloXmove and Metis etc.
Euglena Liu
-
-
* Product lead of fishchain and Paopaoyu (Top 10 web game on Renren “Chinese Facebook”).
* 8-years gaming product design experience in the game industry.
* Early player and investor in Axie Infinity ($AXS).
Yuan Li
-
-
* 10-years full stack software development experience
* 5-years blockchain and smart contract development experience
* Over 15 years of experiences in development and Management
@@ -259,70 +191,49 @@ Yuan Li
Tao Liu
-
-
* 3-years of product management experience in the game industry.
* 20-years of art design and animation experience.
* Former Front-end Director of LightInBox, Fishchain and ShopperPlus.
Vladan Falcic
-
-
-* Blockchain and crypto enthusiast, he entered the crypto space back in 2014 and was mostly involved in early stage projects.
-* In 2016, he started working with different projects, improving their marketing and establishing valuable partnerships.
-* As the CEO of Squares Capital, he is working with several startup projects, advising them, improving their marketing and building the community.
+* Blockchain and crypto enthusiast, he entered the crypto space back in 2014 and was mostly involved in early stage projects.
+* In 2016, he started working with different projects, improving their marketing and establishing valuable partnerships.
+* As the CEO of Squares Capital, he is working with several startup projects, advising them, improving their marketing and building the community.
Jelly Ji
-
-
* 5-years experience in html5 and front-end stack development.
* Expert in mobile game development, H5 game development and blockchain game development
* Bsc in Information Management and Information System of Beijing University of Posts and Telecommunications
Hongfeng Liu
-
-
* Senior UI and animation designer.
* 3-years experience in blockchain game development
-
## Team Code Repos
-
-
* [https://github.com/KoiMetaverse](https://github.com/KoiMetaverse)
-
## Team Linkedin Profiles
-
-
* [https://www.linkedin.com/in/anetta-sultygova/](https://www.linkedin.com/in/anetta-sultygova/)
* [https://www.linkedin.com/in/taoliu-designer/](https://www.linkedin.com/in/taoliu-designer/)
* [https://www.linkedin.com/in/vladan-falcic-sqcap/](https://www.linkedin.com/in/vladan-falcic-sqcap/)
* [https://www.linkedin.com/in/jelly-ji-7b193a177/](https://www.linkedin.com/in/jelly-ji-7b193a177/)
* [https://www.linkedin.com/in/euglena-game/](https://www.linkedin.com/in/euglena-game/)
-
# Development Roadmap
-
## Overview
-
-
* Total Estimated Duration: 3 months
* Full-time equivalent (FTE): 4 FTE
* Total Costs: 12,000 DAI
-
### **Milestone 1 —— Koi Metaverse NFT Modules and Assets**
-
-
* Estimated Duration: 3 months
* FTE: 4 FTE.
* Costs: 12,000 DAI
@@ -396,7 +307,7 @@ Hongfeng Liu
5.
|
- smart contract: Fish Tank
+ | smart contract: Fish Tank
|
fish tank contract include: capacity, totalPower, fishList implemented by ink
|
@@ -426,7 +337,7 @@ Hongfeng Liu
- 8.
+ | 8.
|
Test
|
@@ -435,25 +346,18 @@ Hongfeng Liu
-
## Community Engagement
-
-
* **Play to Earn:** Koi Metaverse will also adopt the P2E model to inspire players of GameFi games. Through P2E, players can share the growth and development dividend of the Koi Metaverse.
* **Genesis Collection:** [Koi NFTs Genesis Collection Offering — Phase 1: Newborn](https://koimetaverse.medium.com/koi-nfts-genesis-collection-offering-phase-1-newborn-5619038200c6) Genesis Collection is an effective way to start a project and have public awareness.
* **GameFi Communities:** Koi Metaverse will collaborate with game P2E communities, including Yield Guild Games (YGG), A16, etc. to complete users acquisition and users growth.
-
# Future Plans
Our project plans to become a parachain for the Polkadot network, which provides benefits from shared security and communications (XCMP). We will launch our game application Koi Metaverse first to complete the first adoption and then open our infrastructure layer Koi Network to support more game Dapps. The Koi Network will support marketplace, NFT DeFi, GameFi Hub and Cross-chain Gateway, etc.
-
# Additional Information
-
-
* Website: [https://koi.io/](https://koi.io/) (Previously [http://koi.network/](http://koi.network/))
* Twitter: [https://twitter.com/KoiMetaverse](https://twitter.com/KoiMetaverse)
* Discord: [https://discord.gg/Aj5Zq9Cx9r](https://discord.gg/Aj5Zq9Cx9r)
diff --git a/applications/Libra.md b/applications/Libra.md
index c61d21c6193..bd558bc97f2 100644
--- a/applications/Libra.md
+++ b/applications/Libra.md
@@ -1,6 +1,5 @@
-# Project Libra
+# Libra - Decentralized Payment Network
-- **Project Name:** Libra - Decentralized Payment Network
- **Team Name:** @Scale Technologies
- **Payment Address:** 0x77AE9e7c90E6f6137AC3b3cd09A4bdc4654A0fe5 (ERC20 USDT)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
@@ -26,6 +25,7 @@ Resolvers Network leverages the power of blockchain and the community to resolve
Libra bridges the gap between blockchain and eCommerce to enable all people to exchange value and transact globally, securely, at significantly lower cost, and more inclusively than traditional financial systems allow.
### Project Details
+
The project's scope is to build three core components that define the foundation of Libra Network: LRP protocol, Resolver Networks, and Javascript SDK. From these components, people can easily integrate the cryptocurrencies payment to their business while their customers are protected by Libra Network.
#### LRP protocol
@@ -34,10 +34,10 @@ LRP protocol allows buyer and seller to make a p2p payment while the cryptocurre
![Project Libra-LRP Protocol](https://user-images.githubusercontent.com/92568442/148349639-145690aa-98c3-4e13-b9a3-ccfa01d55f6a.png)
-
For the LRP protocol, the data model for LRP protocol should be generic and flexible for any use cases. Besides, it should be small to store on-chain but need to provide enough information if needed (e.g. dispute case).
##### Data model
+
```json
{
"id": "uuid",
@@ -52,6 +52,7 @@ For the LRP protocol, the data model for LRP protocol should be generic and flex
"updated_at": 1640761504444
}
```
+
##### State transition
![state-transition](https://user-images.githubusercontent.com/92568442/148345661-fd24292a-389b-44ef-95a5-5d8422f546c6.png)
@@ -69,9 +70,11 @@ This diagram shows the whole dispute process
![Project Libra- Dispute process](https://user-images.githubusercontent.com/92568442/148343813-2f581a72-36b7-4065-bf69-cb0d642f25f5.png)
#### SDK
+
The SDK is indispensable for the product’s adoption. It should be developer-friendly and easy to integrate with a few lines of the code. The interface of the SDK is listed below.
**Install**
+
```bash
npm install libra-sdk
```
@@ -81,17 +84,18 @@ import Libra from "@libra-sdk";
const libra = new Libra(config);
```
+
**Checkout**
Create a payment with the SDK
```jsx
const payment = libra.createPayment({
- payee,
- amount,
- currency,
- description,
- receipt
+ payee,
+ amount,
+ currency,
+ description,
+ receipt
});
```
@@ -101,22 +105,23 @@ Cancel a payment (before the seller accept)
libra.cancelPayment(payment.id)
```
-Complete a payment
+Complete a payment
```jsx
libra.complePayment(payment.id);
```
-Dispute a payment
+Dispute a payment
```jsx
libra.dispute({
- paymentId: payment.id,
- evidence: {...}
+ paymentId: payment.id,
+ evidence: {...}
});
libra.escalateDispute(disputeId);
```
+
**Seller’s dashboard**
Get payments
@@ -153,11 +158,11 @@ Setup identity
```jsx
libra.setIdentity({
- displayName,
- legalName,
- email,
- website,
- ...
+ displayName,
+ legalName,
+ email,
+ website,
+ ...
});
```
@@ -165,9 +170,9 @@ Apply resolver
```bash
libra.apply({
- role: "resolver",
- application: {...},
- deposit: 100000,
+ role: "resolver",
+ application: {...},
+ deposit: 100000,
});
```
@@ -175,9 +180,9 @@ Nominate
```jsx
libra.nominate({
- address,
- amount,
- ...
+ address,
+ amount,
+ ...
});
```
@@ -199,11 +204,11 @@ libra.rejectAppeal(disputeId);
### Ecosystem Fit
-- **Where and how does your project fit into the ecosystem?** Libra is built on top of Substrate. Thanks to Substrate's ecosystem, Libra supports all substrate tokens as a payment method by default.
+- **Where and how does your project fit into the ecosystem?** Libra is built on top of Substrate. Thanks to Substrate's ecosystem, Libra supports all substrate tokens as a payment method by default.
- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?**
Libra's target audience is sellers/buyers who want a safer, faster, more straightforward solution for online payment using cryptocurrencies. Through Resolvers Network, Libra also brings new jobs and a new way to earn income by solving disputes.
-- **What need(s) does your project meet?** Libra provides a safe mechanism for both buyers and sellers to transact online
-- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** As far as we know, Libra, with its unique LRP protocol and Resolvers network, is the first project designed to solve real-world eCommerce transactions. There are no similar projects in the ecosystem yet.
+- **What need(s) does your project meet?** Libra provides a safe mechanism for both buyers and sellers to transact online
+- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** As far as we know, Libra, with its unique LRP protocol and Resolvers network, is the first project designed to solve real-world eCommerce transactions. There are no similar projects in the ecosystem yet.
## Team :busts_in_silhouette:
@@ -216,37 +221,40 @@ Libra's target audience is sellers/buyers who want a safer, faster, more straigh
- **Contact Name:** Anthony Dong
- **Contact Email:** anthony@atscale.xyz
-- **Website:** https://atscale.xyz
+- **Website:**
### Legal Structure
+
(We're in the process of registering the legal entity)
+
- **Registered Address:** N/A
- **Registered Legal Entity:** N/A
### Team's experience
-AtScale is a team specialized in blockchain development. We aim to rely on blockchain technologies to solve real-world problems and facilitate blockchain-based products to mass adoption.
+AtScale is a team specialized in blockchain development. We aim to rely on blockchain technologies to solve real-world problems and facilitate blockchain-based products to mass adoption.
-- **Anthony Dong**: Anthony successfully built and exited several internet startups during the last ten years. Anthony was the CTO in his recent company, helping the company bootstrapped from zero to $15 million ARR (Annual Recurring Revenue) in 2 years.
+- **Anthony Dong**: Anthony successfully built and exited several internet startups during the last ten years. Anthony was the CTO in his recent company, helping the company bootstrapped from zero to $15 million ARR (Annual Recurring Revenue) in 2 years.
- **Andrew Le**: Andrew was the Lead Researcher at his previous company, specializing in AI/Machine Learning and Blockchain technologies. He led the development to build one of the most accurate body measurement prediction engines in the industry during his past job.
### Team Code Repos
-- https://github.com/atscaletech/
-- https://github.com/atscaletech/polkadot-hackathon-apac
+- (AtScale Technologies)
+- (Hackathon Submission)
### Team LinkedIn Profiles (if available)
Due to privacy concerns, the team information will provide in private by email if requested.
## Development Status :open_book:
+
Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already built a proof of concept application and here is our hackathon submission:
-- Pitch video: https://youtu.be/pR4_2nrrJQQ
-- Demo screencast: https://youtu.be/cR7gKSzVoAY
-- Live demo: https://app.libra.atscale.xyz
-- Explorer: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.libra.atscale.xyz#/explorer
-- Git repository: https://github.com/atscaletech/polkadot-hackathon-apac
+- Pitch video:
+- Demo screencast:
+- Live demo:
+- Explorer:
+- Git repository:
## Development Roadmap :nut_and_bolt:
@@ -255,7 +263,7 @@ Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already b
- **Total Estimated Duration:** ~ 4 months
- **Full-Time Equivalent (FTE):** 1.5 FTE
- **Total Costs:** 16,000 USD
-
+
### Milestone 1 - LRP Protocol Implementation
- **Estimated duration:** 1 month
@@ -269,7 +277,7 @@ Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already b
| 0c. | Testing | All of the code will be covered by unit and integration test suites with the testing instruction. |
| 0d. | Live testnet | The live testnet with a few nodes and public RPC endpoints to test or connect more nodes. |
| 1. | Substrate module: LRP pallet | The LRP protocol implementation. |
-| 2. | Substrate module: Currencies pallet | The extended module of ORML currencies allows creates and manages currencies by bonding some native tokens. |
+| 2. | Substrate module: Currencies pallet | The extended module of ORML currencies allows creates and manages currencies by bonding some native tokens. |
| 3. | Substrate based chain | The integration LRP protocol with substrate chain. |
### Milestone 2 - Resolvers Network Implementation
@@ -314,12 +322,12 @@ In the short term, we plan to launch the validation and testing phase:
- **Canary network launch:** At the end of this phase, we plan to join the Kusama para-chain auction and launch the canary network.
For the long term plan, we will:
+
- Launch Polkadot para-chain
- Acquire more users and boost the network's GMV (gross merchandise value)
- Scale up the resolvers networks
- Develop tools for Libra such as fraud payment detection, API, AI/ML dispute processor, ...
-
## Additional Information :heavy_plus_sign:
**How did you hear about the Grants Program?** Web3 Foundation Website
diff --git a/applications/MAP-Bridge.md b/applications/MAP-Bridge.md
index b5d7c2b637c..17fdb325f2b 100644
--- a/applications/MAP-Bridge.md
+++ b/applications/MAP-Bridge.md
@@ -1,5 +1,5 @@
-# Open Grant Proposal
-* **Project:** Map Bridge
+# Map Bridge
+
* **Proposer:** zcheng9
* **Payment Address:** 1CFM6QDvxwXEV3dUN9x2ftqq4rwAfkxN9W
* **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/89#issuecomment-792968983)
diff --git a/applications/MIXER.md b/applications/MIXER.md
index da578232c78..e7d61661dee 100644
--- a/applications/MIXER.md
+++ b/applications/MIXER.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# Webb Mixer
-* **Project Name:** Webb Mixer
* **Team Name:** Webb
* **Payment Address:** 0xAC8E9305dc7AC95685c7D52E759c35aCd9eB90Ff
diff --git a/applications/MIXERv2.md b/applications/MIXERv2.md
index c971ee99af3..d21a4319829 100644
--- a/applications/MIXERv2.md
+++ b/applications/MIXERv2.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# Webb Mixer Extended
-* **Project Name:** Webb Mixer Extended
* **Team Name:** Webb
* **Payment Address:** 0xAC8E9305dc7AC95685c7D52E759c35aCd9eB90Ff
diff --git a/applications/Maki.md b/applications/Maki.md
index 9f080d5b78f..7a14433bdea 100644
--- a/applications/Maki.md
+++ b/applications/Maki.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Maki
-- **Project Name:** Maki
- **Team Name:** Cyril Carlier (Individual)
- **Payment Address:** 0x7e575d2140aa4b723ac2014d5627330a7ed514d4 (ERC-20 USDC)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
diff --git a/applications/MangoBOX-Protocol.md b/applications/MangoBOX-Protocol.md
index 2e8bad12479..566eee39af4 100644
--- a/applications/MangoBOX-Protocol.md
+++ b/applications/MangoBOX-Protocol.md
@@ -1,8 +1,5 @@
-# W3F Grant Proposal
+# MangoBOX Protocol
-
-
-- **Project Name:** MangoBOX Protocol
- **Team Name:** MangoBOX labs
- **Payment Address:** 0x33e69715988126eB3653bFAfd338320BE9A10cd0(USDC))
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
diff --git a/applications/Meta_Defender.md b/applications/Meta_Defender.md
index c254a4b500c..84d08be5582 100644
--- a/applications/Meta_Defender.md
+++ b/applications/Meta_Defender.md
@@ -1,74 +1,73 @@
-# W3F Grant Proposal
-
-* **Project Name:** Meta Defender
-* **Team Name:** Meta Defender Team
-* **Payment Address:** 25r4oZedLXEunTmdvytyH4xcmQqqWWw8KmphdiD5LqpU29pv (aUSD)
-* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
-
-
+# Meta Defender
+
+- **Team Name:** Meta Defender Team
+- **Payment Address:** 25r4oZedLXEunTmdvytyH4xcmQqqWWw8KmphdiD5LqpU29pv (aUSD)
+- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
+
+
## Project Overview :page_facing_up:
-
+
### Overview
-
+
Meta Defender is a decentralised insurance protocol built on the blockchain. It is developed with ink! smart contract, and is designed to provide insurance for transactional and non-transactional assets on the blockchain of users. Later on, it will support cross-chain insurance through substrate and XCM. In the meantime, Meta Defender is also working to apply blockchain technology to real-world insurance scenarios, becoming an important addition to the traditional insurance industry. This project is the first-place winner of Acala Hackathon and is in the 2022 cohort of Web3.0 Bootcamp supported by Web3.0 Foundation and Parity.
-
+
The rapid development of Defi has led to a huge increase in the digital assets that are transactional in smart contracts, which also makes it very vulnerable to cyber attacks. Conventional insurances, on the other hand, have limited capacity to provide transparent, secured and rapid protection for precious assets. In order to cater for the increasing needs, our team decided to work on a Defi insurance protocol, also to solve several pain points in existing web3 insurance products.
-
-Meta Defender is planned to launch on the parachains in the Polkadot Ecosystem, designed to provide insurance services to multiple subject-matters in the Polkadot Ecosystem.
-
+
+Meta Defender is planned to launch on the parachains in the Polkadot Ecosystem, designed to provide insurance services to multiple subject-matters in the Polkadot Ecosystem.
+
### Project Details
-
+
### 1. Mockups/designs of any UI components
- Homepage
-
-
+
+
- Buy Cover
-
-
+
+
- Become an underwriter
-
-
+
+
### 2. Project Technology Stacks
- Rust
- Substrate
- Node.js
- Ethers.js
-
+
### 3. MVP
-
+
+
+
-
-
- Buy Cover
Meta Defender uses stablecoins to insure, underwrite and pay out for claims. Each Meta Defender policy is currently valid for one year. The premium rate will be calculated using a customised AMM 2.0 model, which will be explained in detail in the next part.
-
+
- Become an underwriter
-Underwriters share the Rewards from each premium according to the weight of the capital they provide to the whole Capital Reserve. At the same time, the underwriting capital is correspondingly frozen until the policy expires. Until this policy expires, the underwriter can only withdraw the unfrozen portion of its own provided assets.
-
+Underwriters share the Rewards from each premium according to the weight of the capital they provide to the whole Capital Reserve. At the same time, the underwriting capital is correspondingly frozen until the policy expires. Until this policy expires, the underwriter can only withdraw the unfrozen portion of its own provided assets.
+
- Leveraged Mining
The Meta Defender protocol makes secondary use of the underwriting capital, with 70% of the capital participating in the public chain's officially secured mining pool. 20% of the proceeds of Leveraged Mining will go to a Risk Reserve.
-
+
- Risk Reserve
When a claim occurs, priority is given to using the funds in the Risk Reserve to pay out; when there is not enough to pay out, the excess is shared among all underwriters according to the weighting of the capital in the Capital Reserve by the underwriters. In that way, returns for underwriters can be maximised and the risk of loss can be minimised.
-
+
### 4. Documentation of core components, protocols, architecture, etc. to be deployed
For more detailed explaination, please check out our [white paper](https://metadefender.gitbook.io/meta-defender-v3-eng-ver./).
-
+
#### 4.1 AMM 2.0 Model for calculating premium rates
First, two concepts are defined,
@@ -79,13 +78,13 @@ First, two concepts are defined,
In the absence of new underwriters joining or no underwriters withdrawing liquidity, both of the above always satisfy as the followings:
-
+
k is a fixed value. As the number of policies increases, P gradually decreases and α increases, representing an increase in insurance demand, and vice versa.
When new underwriters join, P increases, α remains constant, and k increases accordingly.
-
+
Similarly, when the underwriter withdraws liquidity, P and k decrease at the same time.
@@ -93,18 +92,18 @@ If the policy expires and frozen capital is released, this also leads to an incr
There is a minimum value of α as α0, and the decrease of α is limited to this value, which then causes the value of k to increase. When the value of P "expands" to the point where α touches α0, then α stops decreasing and k increases:
-
+
In the traditional insurance industry, premiums are actuarially priced based on the probability of historical risk events. The existing blockchain insurance products also build some actuarial models, but it is difficult to ensure the actuarial results are truly objective and credible when the historical data samples are not sufficient. Meta Defender tends to determine the risk pricing of each agreement based on the most basic economic rule: the relations between supply and demand.
-One possible question is whether the mechanism will cause underwriters to purchase their own insurance in bad faith and drive up premium rates. In order to avoid such attack, In order to calculate k, Meta Defender will add virtual liquidity to the real P value, which will make the curve of premium rate more smooth and significantly increase the cost of such attack.
-
+One possible question is whether the mechanism will cause underwriters to purchase their own insurance in bad faith and drive up premium rates. In order to avoid such attack, In order to calculate k, Meta Defender will add virtual liquidity to the real P value, which will make the curve of premium rate more smooth and significantly increase the cost of such attack.
+
#### 4.2 Rewards and responsibility of underwriters
To facilitate valuation, Meta Defender suggests to use a stablecoin for insurance and underwriting purposes. Assuming the stablecoin is called Token, the underwriter provides A tokens(A as the number of the token) to an Capital Reserve and receives a number of sTokens (staked token) based on the capital exchange rate η of the pool. The number of sToken, which is A' is:
-
-
+
+
The sToken is not a transferable ERC20 token; it is simply a credit to the underwriter by the pool as a credential to capture premium rewards and withdraw assets in the future.
At the time each pool is created, the starting value of η is 1. Given that pay-outs of claims are prioritised through the Mining Pool balances for claims(Risk Reserve), the value of η is maintained at 1 as long as there is no large-scale claims event resulting in an encroachment on the Capital Reserve's principal.
@@ -121,6 +120,7 @@ At the time each pool is created, the starting value of η is 1. Given that pay-
#### 4.2.2 Data Structure of the Underwriter and the Policy
When an underwriter stakes some Tokens to the protocol, the protocol marks him like this:
+
- index: the order in which the underwriter joined the protocol;
- sTokenAmount: the number of sTokens acquired by the underwriter (i.e., A as the number of Token in the previous section);
- rewardDebt(RDebt): sTokenAmount∗accRPS, the reduction factor for calculating the underwriter's capture of the reward;
@@ -134,37 +134,37 @@ When a policy is created, the protocol will mark it as follows:
After a policy is generated, we set the amount paid by policyholder as “fee”, and we have
-
-
+
+
For each underwriter in the underwriting Capital Reserve, the withdrawable proceeds at this point are calculated as:
-
+
The proceeds can be immediately withdrawn to the underwriter's own wallet.
-
+
#### 4.2.4 Policy Generation and Frozen Capital
A policy is generated and the accSPS is increased:
-
+
For each underwriter in the pool, the cumulative frozen capital amount is:
-
-
+
+
#### 4.2.5 When the Risk Reserve is Insufficient to Pay for Claims
-When the Risk Reserve does not have enough funds to pay for a policy that actually suffers a loss or damage, the protocol will share the excess of the claim amount with the underwriter according to the weight of the underwriter's sToken.
+When the Risk Reserve does not have enough funds to pay for a policy that actually suffers a loss or damage, the protocol will share the excess of the claim amount with the underwriter according to the weight of the underwriter's sToken.
-This is an extremely rare and exceptional circumstance and will result in a reduction of the exchange factor η.
+This is an extremely rare and exceptional circumstance and will result in a reduction of the exchange factor η.
Assume when that this situation arises, and the excess of claims over the Risk Reserve is δ, the new η becomes
-
+
TokenRemain includes the token frozen in the protocol of the underwriters who are able to underwrite for new policies, as well as the token of those underwriters who have stopped underwriting for new policies.
-
+
It can be seen that the value of η decreases further, and the number of sTokens - representing the weight of capturing premium rewards, while bearing liability - that can be obtained for an equal amount of Tokens for underwriters joining the pool thereafter is increased . This is clearly due to the reduction in the actual underwriting capacity of the original underwriters following the erosion of the principal in the pool.
-
+
#### 4.3 Underwritten Assets Withdrawal Mechanism
#### 4.3.1 Available Assets that can be Withdrawn by Underwriters
@@ -172,21 +172,21 @@ TokenRemain includes the token frozen in the protocol of the underwriters who ar
Underwriters can withdraw a portion of their unfrozen capital at any time before it is completely frozen. However, the frozen part needs to wait for the corresponding policy expiration to exit.
The assets that can be withdrawn by the underwriter is calculated by the formula:
-
-
+
+
shadow is the amount of assets of the underwriters that has been frozen. However, the situation becomes more complicated when considering a policy that has expired which results in releasing part of frozen capital.
-
+
#### 4.3.2 Cancellation of Policies
Along with the cancellation of policies which expire, the corresponding underwriters’ frozen capital should be released.
When a policy is generated, we record its lastProviderIndex and ΔaccSPS. When it is cancelled, the protocol synchronises the latestUnfrozenIndex to the lastProviderIndex of this policy, and accumulates accSPSDown:
-
-
+
+
When calculating an underwriter's shadow, it is necessary to first determine the relationship between his index and latestUnfrozenIndex. When index<=latestUnfrozenIndex, it means that the capital being released already has the part of the underwriter’s frozen capital. His shadow will be calculated by:
-
-
+
+
#### 4.3.3 After Underwriter Withdrawal of Assets
In order to make the protocol easier to maintain and to reduce the cost of gas fee when users invoke the contract, Meta Defender currently requires the underwriter who would like to quit to withdraw all remaining liquidity at once (i.e., withdraw mentioned above).
@@ -194,7 +194,7 @@ In order to make the protocol easier to maintain and to reduce the cost of gas f
Of course, you may only want to "withdraw partially". It is very simple to implement this - you could simply withdraw in full and then re-join with your desired coverage amount. This saves the protocol from having to maintain a huge ledger, where the cost of gas would otherwise become unimaginable.
When an underwriter withdraws assets, he or she needs to destroy all of his or her sToken.
-
+
Suppose an underwriter P destroys all of his sToken, declaring that he has ended his status as an underwriter. Regardless of how much capital he has actually withdrawn (usually less than his original provided capital, i.e. η*sTokenAmount, less than ), he can no longer continue to capture premium and no longer underwrite new policies, i.e., no longer "capture" new shadow.
The protocol creates a "historical identity" for him, P', and records the following parameters:
@@ -208,14 +208,14 @@ index: the index inherited from P;
sTokenAmount_P : the sTokenAmount inherited from P;
SDebt_P: the sDebt inherited from P.
-
+
It can be seen that the maximum amount that can eventually be released by P' is:
η∗fsToken ------ ①;
The shadow inherited by P' from P is:
-sTokenAmount_P*accSPS_P - SDebt_P
+sTokenAmount_P*accSPS_P - SDebt_P
Or
@@ -230,7 +230,7 @@ When ② < ①, the difference between ① and ② is the capital of P being unf
As accSPSDown increases, the value of ② eventually goes to zero. Zero is the minimum value of ② and cannot be a negative number.
After ① goes to zero, all residual capital of P finishes withdrawing.
-
+
#### 4.4 Leveraged Liquidity Mining Rewards Mechanism
The holder of sToken, i.e. the underwriter of Meta Defender, is entitled to the Leveraged Liquidity Mining rewards.
@@ -238,12 +238,12 @@ The holder of sToken, i.e. the underwriter of Meta Defender, is entitled to the
In order to encourage underwriters to provide long-term, stable capital, sToken holders are required to hold their sTokens for a certain period of time (approximately 14 natural days, with minor variations depending on the speed of block creation on the mainnet) before they can participate in the withdrawal of this Rewards.
After withdrawing from the Capital Reserve and destroying the sToken, the holder will lose the eligibility to withdraw the proceeds. The mining proceeds will be hosted separately by Meta Defender's governance contract and will be claimed from the pool for sToken.
-
-
-
-
+
+
+
+
### Ecosystem Fit
-
+
- Where and how does your project fit into the ecosystem?
Meta Defender will use the stablecoin in parachains as the currency for buying cover, underwriting and for payouts of claims. Currently Meta Defender is planned to be deployed with ink! Smart contract and compatible with Substrate and XCM. Ultimately, we would like to provide insurance services to the main parachains and major protocols in the Polkadot Ecosystem. Also, by introducing XCM, we would like to achieve cross-chain insurance.
@@ -269,59 +269,61 @@ Meta Defender’s pricing model is an upgraded Automated Market Maker Model pure
Meta Defender’s Leveraged Mining will cooperate with Liquidity Mining protocols in the ecosystem while Nsure has their own capital mining pool. We believe, cooperating with top Liquidity Mining protocols in the ecosystem will maximise the returns with the capital that underwriters inject to the protocol.
We are also planning to provide insurance service for more off-chain scenarios by integrating blockchain oracles, such as flight cancellation insurance.
-
+
## Team :busts_in_silhouette:
-
+
### Team members
-
+
- Name of team leader: Alvin, CEO
- Names of team members: Angie, Fullstack Engineer & 0xdeadbeef, Fullstack Engineer
-
+
### Contact
-
+
- **Contact Name:** Alvin Lu
- **Contact Email:** 0xhikarilab@gmail.com
- **Website:** metadefender.finance
-
+
### Legal Structure
-
+
- **Registered Address:** N/A
- **Registered Legal Entity:** N/A
-
+
### Team's experience
-
+
Alvin: With a background in financial investing and insurance consulting, as well as working a Tech Lead in a Venture Capital, Alvin brings his varied experience to Meta Defender. Alvin is also the external consultant for two AI based projects of China Life Insurance Company, namely an operational decision making tool and a fraud detection technology. He also has massive experience in blockchain, by constructing a DEX and IDO platform. He would like to integrate his expertise in Web3.0 with knowledge in insurance industry and provide a better solution to Blockchain insurance.
-
+
Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has extensive experience in Finance industry since 2017 and has profound understanding regarding tech utilization in finance industry. Using her expertise, she co-designed the pricing model and business flow of Meta Defender. She is also a crypto enthusiast and fascinated by She masters Solidity, Python Vue.js and Node.js.
-
+
0xdeadbeef: He is a web3.0 coder and researcher for more than 4 years. He has a master's degree from Shanghai Jiaotong University and a major in finance. He masters solidity, Golang, Rust, Python, and Nodejs. In his past working experience, he worked for a public chain company and researched and developed on-chain DeFi projects, especially in options markets. He has much experience in EVM compatible blockchains. Recently, he has been passionate about insurance, which may be a new area in DeFi. Through his working experience in the on-chain option market, he considered there are many similarities between options and insurance.
-
+
### Team Code Repos
-
+
**Team Repo**
+
- https://github.com/Meta-Defender/
- https://github.com/Meta-Defender/Meta-Defender-Contract-V3
-
-
+
+
**Team Member**
+
- https://github.com/lutianzhou001
- https://github.com/327istesting
- https://github.com/Angie-Sheng
-
+
## Development Roadmap :nut_and_bolt:
-
+
### Overview
-
+
- **Total Estimated Duration:** 8 months
- **Full-Time Equivalent (FTE):** 2
- **Total Costs:** 8,000 USD
-
+
### Milestone 1 — Basic Functionalities
-
+
- **Estimated Duration:** 4 months
- **FTE:** 2
- **Costs:** 4,000 USD
-
+
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| 0a. | License | Apache 2.0 |
@@ -329,14 +331,14 @@ Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has e
| 0c. | Testing Guide | Core functions will be covered by unit tests, along with detailed explanation step by step. |
| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. |
| 1. | ink! smart contract | An ink! smart contract that will enable the digital assets holders to buy cover and the capital holder to become an underwriter. |
-| 2. | Manual of interaction between ink! and front-end | We will provide a manual regarding constructing an interface for the interaction between front-end and ink! smart contract & Polkadot.js wallet, just like what web3.js and ethers.js have done in the EVM ecosystem. |
-
+| 2. | Manual of interaction between ink! and front-end | We will provide a manual regarding constructing an interface for the interaction between front-end and ink! smart contract & Polkadot.js wallet, just like what web3.js and ethers.js have done in the EVM ecosystem. |
+
### Milestone 2 Substrate + XCM
-
+
- **Estimated Duration:** 4 months
- **FTE:** 2
- **Costs:** 4,000 USD
-
+
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| 0a. | License | Apache 2.0 |
@@ -345,22 +347,22 @@ Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has e
| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** that explains the functionalities Meta Defender provides, which will cover: 1. auto-pricing model; 2. economic model of insuring and underwriting; 3. how we achieve cross-chain insurance through substrate and XCM and open source this part of code. |
| 1. | Cross-chain support | Establish a local parachain testnet and two local parachains A and B with sovereign account in each other. With smart contract deployed on A parachain, allow the user to buy cover and receive his claim from addresses on the B parachain through XCM. |
-
-
+
+
## Future Plans
-
+
Short-term plan: Expand the subject-matter insured. We plan to provide insurance on at least five parachains and/or products running on them in the Polkadot Ecosystem.
-
+
Medium-term plan: With the aid of blockchain oracles function, to cover real-life off-chain cases. A potential use case can be flight cancellation insurance.
-
-Long-term: We would like to cooperate with professional security service providers and to undertake detailed risk analysis on the subject-matter insured and potential projects, which enables us to issue security rating reports and become the security rating agency in web3.0 realm.
-
+
+Long-term: We would like to cooperate with professional security service providers and to undertake detailed risk analysis on the subject-matter insured and potential projects, which enables us to issue security rating reports and become the security rating agency in web3.0 realm.
+
## Additional Information :heavy_plus_sign:
-
-**How did you hear about the Grants Program?**
-
+
+**How did you hear about the Grants Program?**
+
Meta Defender is the first-place winner of Acala Hackathon: https://twitter.com/AcalaNetwork/status/1527290444379394049?s=20&t=u60vX2VZTWvSoZ1x62Y-sA
-Meta Defender is also in the 2022 cohort of Web3.0 Bootcamp supported by Web3 Foundation, Parity and Wanxiang Blockchain Labs.
+Meta Defender is also in the 2022 cohort of Web3.0 Bootcamp supported by Web3 Foundation, Parity and Wanxiang Blockchain Labs.
Since we have participated in a few activities in the Polkadot Ecosystem and have a profound understanding of the eco, we have been advised that we could apply for the grants program and grow with Polkadot.
diff --git a/applications/NFTStore_Network.md b/applications/NFTStore_Network.md
index e9dddd1eceb..3fdda9ec848 100644
--- a/applications/NFTStore_Network.md
+++ b/applications/NFTStore_Network.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# NFTStore
-* **Project:** NFTStore
* **Proposer:** [NFTT Studio](https://github.com/NFTT-studio)
* **Payment Address:** 1AeR4htoGwDRMpw7S2TTrzjJxeGLZsopiE
diff --git a/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md b/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md
index a9dbef69d15..ece5ba07b63 100644
--- a/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md
+++ b/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# Protocol for NFT Migration and Data Exchange
-* **Project Name:** Protocol for NFT Migration and Data Exchange
* **Team Name:** Perpetual Altruism
* **Payment Address:**
BTC : 1B6AHziiBvE28Lg74n23V3dYXbxcVLGKYi
diff --git a/applications/Nolik.md b/applications/Nolik.md
index f2bf354d117..4c84a0e8a83 100644
--- a/applications/Nolik.md
+++ b/applications/Nolik.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Nolik
-- **Project Name: Nolik
- **Team Name: Chainify
- **Payment Address:** 0x9aD97d8605F80003106B0ED7DEe330F064674365 (USDT)
- **Level: 1
@@ -8,6 +7,7 @@
## Project Overview :page_facing_up:
### Overview
+
Nolik is a protocol for delivering digital content for web 3.0.
It allows developers to create applications for formal communication that connect people without any form of censorship or third-party control.
The protocol design is based on the ServiceLess approach, meaning that no services from third parties are needed for users to communicate.
@@ -18,22 +18,22 @@ Blockchain logic will allow users to create programmable messages rules so they
For example, users will be able to create a white list (or black list) of senders which will protect them from spam or irrelevant conversations.
Another example would be creating rules like accepting messages within a particular block range or if a particular token is attached to the message, etc.
-
### Project Details
#### The problem we are targeting
+
The name Nolik stands for No Leak.
-We believe that privacy is a fundamental right of every person and we believe that it should be protected.
+We believe that privacy is a fundamental right of every person and we believe that it should be protected.
Unlike privacy-first messaging applications like Signal or Threema, we offer a tool that allows communication without a need to trust an app itself.
It also allows communication without a permission of a third-party which creates a great foundation on which users can rely and build their tools on top of this ecosystem.
-
#### Technology overview
-Nolik uses a combination of blockchain and IPFS technologies.
+
+Nolik uses a combination of blockchain and IPFS technologies.
The user generates an IPFS file with a particular structure on a client-side and broadcasts it to the blockchain network with additional metadata.
In addition to required information about the transaction (like signature, sender, recipient, etc.) we provide additional information about the message.
We split the blockchain level and messages level by creating a separate set of encryption keys.
-Blockchain (identity) keypairs stand for token management and messages (accounts) keypairs stand for message encryption.
+Blockchain (identity) keypairs stand for token management and messages (accounts) keypairs stand for message encryption.
Users can have several identities (like personal or corporate).
At the same time, each identity can have multiple accounts (like email addresses).
Each message is encrypted with a public key of the recipient.
@@ -43,6 +43,7 @@ You can find how the protocol works in detail below.
The protocol is flexible and allows the creation of various data structures which can fit the needs of any app.
#### Use case example
+
Nolik protocol could be used for a media service that protects journalists and whistleblowers from political oppression and technological borders like firewalls, blockings, etc.
The protocol guarantees the delivery of the message through the network due to the absence of a single point of failure.
A freedom of speech which is guaranteed mathematically.
@@ -51,7 +52,7 @@ This means that behind every post there is nothing but a public key.
The journalist can prove his identity by publicly attaching the public key to his identity (for example, in social media) and signing some sample data.
But if a journalist or a whistleblower would like to hide their identity nothing will stop him from doing that.
By default every message is encrypted.
-It sounds great but there is a potential scalability downside.
+It sounds great but there is a potential scalability downside.
To deliver the message to a million people the journalist will have to encrypt the same message million times.
The journalist can create a separate account which stands for a channel.
That account is a proxy that delivers the message to the audience.
@@ -63,29 +64,28 @@ On the channel creation stage, the journalist can add a rule that the channel ac
This approach allows them to deliver the message to an unlimited audience and save tons of resources.
The same method can be used for creating private or public group conversations.
-
#### The Protocol
Nolik protocol is designed to make trustless communication possible.
It provides flexibility for developers so they can build their applications on top of the platform.
The protocol allows to:
-* Stay protected from a middleware attack
-* Communicate without servers or service as a third-party
-* Protect messages from unauthorized access with decentralized end-to-end encryption
-* Guarantee that the message was sent at a particular date and time
-* Have a provable immutability of message content, metadata, and the timestamp information
-* Prove that the message was sent by a particular sender
-* Prove that the message was sent to a particular recipient or recipients
-* Make sure that all recipients received the same message at the same time
-* Send messages from multiple senders at the same time
-* Verify the sender and be protected from a phishing attack
-* Attach tokens (like NFTs) to message
-* Use different clients to get access to messages
+- Stay protected from a middleware attack
+- Communicate without servers or service as a third-party
+- Protect messages from unauthorized access with decentralized end-to-end encryption
+- Guarantee that the message was sent at a particular date and time
+- Have a provable immutability of message content, metadata, and the timestamp information
+- Prove that the message was sent by a particular sender
+- Prove that the message was sent to a particular recipient or recipients
+- Make sure that all recipients received the same message at the same time
+- Send messages from multiple senders at the same time
+- Verify the sender and be protected from a phishing attack
+- Attach tokens (like NFTs) to message
+- Use different clients to get access to messages
Each message contains two main parts - the transaction data and the IPFS data.
The transaction data is additional information that is sent along with required information within a transaction body.
-It contains general metadata about the sender and recipient or recipients of the message.
+It contains general metadata about the sender and recipient or recipients of the message.
This information has a specific purpose and requires specific fields to be provided.
The metadata is validated and checked at a sending stage and if something is wrong will be rejected by miners.
@@ -99,7 +99,8 @@ However, to solve this issue users within a community can create services that c
Another great way to solve this issue would be using FileCoin or similar services to make sure that the recipient will get the message in a longer period.
#### Encryption
-The message encryption is based on the Diffie-Hellman protocol with the ed25519 curve.
+
+The message encryption is based on the Diffie-Hellman protocol with the ed25519 curve.
To encrypt the message the sender generates a shared secret with the recipient's public key and her private key.
At the same time, the recipient generates the same shared secret with the sender's public key and his private key.
There is no problem with decrypting the message if the recipient knows the sender's public key.
@@ -111,7 +112,7 @@ To do that we use a trick with one-time-use nonce and sender's public key which
They are required for the recipient, so he can decrypt the real sender's (sender's) public key and decrypt the message.
We will dive into details below.
-#### The transaction metadata
+#### The transaction metadata
Each message contains a specific set of information that is included in the blockchain transaction body.
On the other side, recipient or recipients will be able to track the blockchain transactions and decrypt those which were sent to them.
@@ -147,19 +148,20 @@ batch:
```
##### Batch
+
---
-Each message is encrypted with the recipient's public key based on Diffie-Hellman protocol.
+Each message is encrypted with the recipient's public key based on Diffie-Hellman protocol.
If there are several recipients the same message is encrypted several times for different recipients.
All the versions of the same message should be provided in the batch section.
The message should contain nonce, sender, recipient, and data sections.
**Nonce** is a section with a one-time generated 24-bit value.
It allows making sure that the same message (like "Hi") can not be brute-forced by a malicious third party.
-There are two nonce values - the private (encrypted) and the one-time-use one.
+There are two nonce values - the private (encrypted) and the one-time-use one.
As we mentioned earlier the message is encrypted with the sender's real public key, but for security reasons we encrypt it.
-One-time-use nonce is used along with one-time-use public key to encrypt sender's real public key.
+One-time-use nonce is used along with one-time-use public key to encrypt sender's real public key.
-**Sender** is a section with information about the sender of a particular message.
+**Sender** is a section with information about the sender of a particular message.
It contains the encrypted public key of a sender.
The one-time-use public key is required for the recipient, so he could decrypt the sender's real public key.
@@ -175,6 +177,7 @@ It contains encrypted public keys of a recipient.
The structure of that file is described below.
##### Nonce
+
---
The **onetimeuse** value is a one-time public 24-bit nonce that is generated on transaction creation.
It is used as salt to sender->ciphertext, sender->blake2hash, verifier->ciphertext, verifier->blake2hash and recipient->blake2hash fields.
@@ -186,8 +189,8 @@ It could be used for salting sender->blake2hash, verifier->blake2hash and recipi
The **blake2hash** value is salted with the nonce blake2 hash of the nonce.
Every recipient will have a unique nonce that can be used to prove message metadata and the content of the message independently from other recipients.
-
##### Sender
+
---
**Sender** is a 32-bit string that represents the sender's public key and account address at the same time.
@@ -204,9 +207,11 @@ It can be decrypted only by the recipient.
The **blake2hash** value is a hashed sender's public key salted with a one-time-use nonce blake2 hash.
The formula looks like this:
+
```
H(H(pk), N)
```
+
Where "H" is a blake2 hash function, "pk" is the sender's public key and N is a one-time nonce.
The sender knows his public keys, and that allows to identify related messages among others.
The downside of this approach is that once one knows the sender's public key he will be able to track the account activity.
@@ -214,9 +219,11 @@ To fix this the one-time-use nonce can be replaced with private nonce, but in th
List of **signatures** is a set of cryptographic proofs (digital signatures) of sender and one-time use private key.
Both of the signatures sign the hash of all hashes according to the formula:
+
```
H(nH | sH | v(0)H...v(n)H | rH | dH)
```
+
Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash.
##### Verifiers
@@ -236,9 +243,11 @@ It can be decrypted only by the recipient.
The **blake2hash** value is salted with one-time-use nonce blake2 hash of a hashed verifier's public key.
The formula looks like this:
+
```
H(H(pk), N)
```
+
Where "H" is a blake2 hash function, "pk" is the verifier's public key and N is a one-time-use nonce.
Verifier knows his public keys, and that allows to identify related messages among others.
The downside of this approach is that once one knows the sender's public key he will be able to track the account activity.
@@ -246,13 +255,15 @@ To fix this the one-time-use nonce can be replaced with private nonce, but in th
List of **signatures** is a set of cryptographic proofs (digital signatures) of each verifier and one-time-use public key.
Both of the signatures sign the hash of all hashes according to the formula:
+
```
H(nH | sH | v(0)H...v(n)H | rH | dH)
```
-Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash.
+Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash.
##### Recipient
+
---
**Recipient** is a 32-bit string that represents the recipient's public key and account address at the same time.
@@ -262,22 +273,24 @@ It can be decrypted only by sender and recipient.
The **blake2hash** vvalue is a blake2 hash of a hashed recipient's public key salted with one-time-use nonce.
The formula looks like this:
+
```
H(H(pk), N)
```
+
Where "H" is a blake2 hash function, "pk" is the recipient's public key and N is a one-time-use nonce.
The recipient knows his public keys, and that allows to identify related messages among others.
The downside of this approach is that once one knows the recipient's public key he will be able to track the account activity.
To fix this the one-time-use nonce can be replaced with private nonce, but in this case, the recipient will have to decrypt every message in the blockchain.
-
##### Data
+
---
Data is a section with an IPFS hash of a file that contains encrypted message information in key-value format.
We will discuss the structure of an IPFS file below.
-
#### The IPFS data file
+
---
The data file is a text file with a specific data structure.
It contains encrypted data which can be decrypted only by the sender and recipient of a message.
@@ -297,16 +310,16 @@ data:
```
#### Key
+
---
-The **ciphertext** value is an encrypted name of a particular field.
+The **ciphertext** value is an encrypted name of a particular field.
It can be decrypted only by sender and recipient.
The **blake2hash** value is salted with the private nonce blake2 hash of data content.
-
#### PoC and prior work
-We have been working on decentralized messaging apps for the last several years.
+We have been working on decentralized messaging apps for the last several years.
During this time the protocol became much more solid and stable.
Here are some related links:
@@ -317,12 +330,11 @@ Here are some related links:
This is the latest open-source version of the messenger.
The protocol is more or less the same, but to run the messaging service one has to use centralized servers to increase the user experience.
-
The **latest** version I've been working on is not open-source because it was a custom build for an external company, but here is a video demo of how the messenger works:
>[XYZ Messenger Demo (EN) -- 5m 38s](https://youtu.be/HSMjikDiheY)
-This technology has been used in production at a nonprofit organization [HelpTeens](https://helpteens.ru) in Saint-Petersburg that provides free online psychological support for teenagers.
+This technology has been used in production at a nonprofit organization [HelpTeens](https://helpteens.ru) in Saint-Petersburg that provides free online psychological support for teenagers.
We used Nolik to protect kids' privacy and keep their secrets safe.
It worked perfectly, but we had to stop using the technology due to legal restrictions.
A new set of legal rules obligates any company to disclose the decryption keys to authorities and we had nothing to disclose.
@@ -350,7 +362,7 @@ The technology has changed but the core principles are still the same.
>[Nolik DB Demo -- 1m 11s](https://youtu.be/PyueRPY4fHc)
This is an experiment from one of the hackathons.
-I applied the Nolik protocol to build a decentralized database that allows the storage of structured data using SQL syntax.
+I applied the Nolik protocol to build a decentralized database that allows the storage of structured data using SQL syntax.
#### Non-goals
@@ -364,7 +376,6 @@ Although Nolik is designed to be an independent product, the secure platform wit
For example, apps will be able to exchange secrets like private keys, send tokens or a WASM code.
That might be one of the possible benefits for the Polkadot community, but we will know if there is any value only by talking to users.
-
## Team :busts_in_silhouette:
### Team members
@@ -377,14 +388,15 @@ That might be one of the possible benefits for the Polkadot community, but we wi
- **Contact Email:** aboziev@gmail.com
### Legal Structure
+
No legal entity yet
### Team's experience
-#### Amir Boziev
+#### Amir Boziev
Since 2018 I've been involved in various projects in different domains including edTech, private messaging, data security, social good, and others.
-I've increased my expertise in product development, marketing, and programming.
+I've increased my expertise in product development, marketing, and programming.
Worked as a researcher in blockchain tech to find a product-market-fit for this amazing technology which I'm passionate about.
For the last five years, I've been learning how to make successful products.
@@ -393,8 +405,8 @@ One of them is growing.
Right now I am learning [Game Thinking Mechanicks](http://gamethinking.io) to make better products.
Previously worked as a Director of blockchain products and strategy at Latoken.
-I've been working with amazingly talented people on product management and the development of both decentralized and centralized crypto exchanges.
-We also have been working on fundamental research and development of a framework that simulates the behavior of a blockchain on a network level.
+I've been working with amazingly talented people on product management and the development of both decentralized and centralized crypto exchanges.
+We also have been working on fundamental research and development of a framework that simulates the behavior of a blockchain on a network level.
We've analyzed the most popular consensus algorithms (PoW, PoS, dPoS BFT, etc.) and blockchain platforms (Bitcoin, Ethereum, Cordana, Ripple, Waves, Hashgraph, etc.).
@@ -405,26 +417,25 @@ Rust experience: 3+ months, but moving fast.
### Team Code Repos
-- https://github.com/chainify
-- https://github.com/chainify/nolik
+-
+-
Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.
-- https://github.com/amrbz
+-
### Team LinkedIn Profiles
-- https://www.linkedin.com/in/amrbz
+-
## Development Status :open_book:
-* [XYZ Messenger](https://docs.google.com/document/d/1Vxieh7b6wTQZoHpBQQTC5bH58kwcYlF0wm8yh0acXCI/edit?usp=sharing)
+- [XYZ Messenger](https://docs.google.com/document/d/1Vxieh7b6wTQZoHpBQQTC5bH58kwcYlF0wm8yh0acXCI/edit?usp=sharing)
-* [Rhizome](https://docs.google.com/document/d/1nbqO-ZHKTltqS7a10MYHKIetiFPd_NS6danfV7rGp1I/edit?usp=sharing)
+- [Rhizome](https://docs.google.com/document/d/1nbqO-ZHKTltqS7a10MYHKIetiFPd_NS6danfV7rGp1I/edit?usp=sharing)
Those are research documents that lead me to this project.
-
## Development Roadmap :nut_and_bolt:
### Overview
@@ -451,7 +462,6 @@ This milestone will allow the operation of a local dev chain.
| 2. | Substrate module: Message Validation | We will create a Substrate module that will validate the message on sending stage to accept or reject it |
| 3. | Substrate chain | Both modules of our custom chain will allow users to set up account rules and validate incoming messages on whether the senders have a right to send a message or not. In case of a rejected transaction user will get a related error message|
-
### Milestone 2 — Develop CLI tools
This milestone will allow the usage of CLI tools, which are going to be written in Rust language. They will allow users to interact with the network by composing, sending, and accepting messages.
@@ -472,27 +482,25 @@ This milestone will allow the usage of CLI tools, which are going to be written
| 3. | CLI: get | We will create a CLI tool that will allow to download and read received messages if any |
| 4. | CLI | CLI tools will allow users to compose messages, send them to recipients and read incoming messages on request |
-
## Future Plans
### Short-term
-* Apply to the Substrate Builders Program.
-* Develop the PoC blockchain core with CLI tools
-* Make customer research and validate product ideas
-* Launch a public testnet and build a Messaging app
-
+- Apply to the Substrate Builders Program.
+- Develop the PoC blockchain core with CLI tools
+- Make customer research and validate product ideas
+- Launch a public testnet and build a Messaging app
### Long-term
-* Close seed funding round and form a team
-* Apply to W3F L3 grant program
-* Convert to mainnet
-* Build a messaging app
+* Close seed funding round and form a team
+- Apply to W3F L3 grant program
+- Convert to mainnet
+- Build a messaging app
## Additional Information :heavy_plus_sign:
-**How did you hear about the Grants Program?**
+**How did you hear about the Grants Program?**
Personal recommendation of my friends:
-* https://github.com/kmadorin
-* https://github.com/CryptoBadBoy W3F grant program alumni (Fratcapp)
\ No newline at end of file
+-
+- W3F grant program alumni (Fratcapp)
diff --git a/applications/NuLink.md b/applications/NuLink.md
index bf1386cd788..baeb8de311d 100644
--- a/applications/NuLink.md
+++ b/applications/NuLink.md
@@ -1,5 +1,5 @@
-# Open Grant Proposal
-* **Project:** NuLink
+# NuLink
+
* **Proposer:** Pawn
* **Payment Address:** 0xf7410438ead9e89EEd5ca6e61a11E862C297ca0e
diff --git a/applications/OpenSquare-offchain-voting.md b/applications/OpenSquare-offchain-voting.md
index 3204ce6c7f6..97a6042872b 100644
--- a/applications/OpenSquare-offchain-voting.md
+++ b/applications/OpenSquare-offchain-voting.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# OpenSquare off-chain voting for Polkadot ecosystem
-* **Project Name:** OpenSquare off-chain voting for Polkadot ecosystem
* **Team Name:** OpenSquare
* **Payment Address:** 0x4905083abdD13bd95345A871701Fd0b08AbD46d1 (USDT)
@@ -11,45 +10,48 @@
In short, you can see this proposed platform as [snapshot](https://snapshot.org) in the polkadot ecosystem.
Though Polkadot/Kusama and most other Substrate based chains have on-chain governance and runtime can be easily upgraded with democracy. We think this platform still make sense with following reasons:
-- Compared to the formal on-chain votes, this platform provides not so formal off-chain signed polls which may help token holders and community members engage **more** in the ecosystem building.
-- Compared to Polkassembly polls on post:
- - users have to sign their votes and the signed data will be stored on IPFS
- - users don’t have to do any registration.
- - Different strategies can also be provided to calculate the final result, rather than simply count the vote numbers.
-- Not all on-chain systems with assets on Substrate based chains can upgrade with democracy, like assets issued on Statemine, ERC-20 assets which may be issued on Moonriver, Karura, Shiden, etc.
+* Compared to the formal on-chain votes, this platform provides not so formal off-chain signed polls which may help token holders and community members engage **more** in the ecosystem building.
+* Compared to Polkassembly polls on post:
+ * users have to sign their votes and the signed data will be stored on IPFS
+ * users don’t have to do any registration.
+ * Different strategies can also be provided to calculate the final result, rather than simply count the vote numbers.
+* Not all on-chain systems with assets on Substrate based chains can upgrade with democracy, like assets issued on Statemine, ERC-20 assets which may be issued on Moonriver, Karura, Shiden, etc.
### Project Details
+
Off-chain votes will be an important part of OpenSquare collaboration platform. Other planned collaboration forms include bounties, payment QA, short term employment, etc. Key components in this proposal include:
-- Predefined spaces where users can create proposals. It will definitely include Kusama and Polkadot, current para-chains with very high possibility.
-- Proposal list in one space where users can view the closed or ongoing proposals.
-- Proposal detail page where users can view the detail and the signed votes.
-- A proposal discussion arena where users submit the signed messages and here we expect chaos.
-- An authoring page where users can create proposals, and set the corresponding snapshot height, start and end date(height).
-- Archive nodes interaction with which we read users’ balances on the corresponding snapshot block height.
-- A backed server to interact with the node(Polkadot, Kusama, etc), store the organized data to DB, handle IPFS storage, provide APIs to get data.
+* Predefined spaces where users can create proposals. It will definitely include Kusama and Polkadot, current para-chains with very high possibility.
+* Proposal list in one space where users can view the closed or ongoing proposals.
+* Proposal detail page where users can view the detail and the signed votes.
+* A proposal discussion arena where users submit the signed messages and here we expect chaos.
+* An authoring page where users can create proposals, and set the corresponding snapshot height, start and end date(height).
+* Archive nodes interaction with which we read users’ balances on the corresponding snapshot block height.
+* A backed server to interact with the node(Polkadot, Kusama, etc), store the organized data to DB, handle IPFS storage, provide APIs to get data.
![os_grant_voting](https://user-images.githubusercontent.com/2264908/127607269-5d54f0b0-d8b8-48f1-9c7a-fc8c205bc645.png)
Some implementation notes:
-- We have to call polkadot.js extension to sign the voting/poll, and some discussion messages.
-- About voting power, since Polkadot/Kusama have proxy accounts, so we have to support proxy account vote on behalf of the original one.
-- In this proposal, we will implement `balance of account` and `quadratic balance of account` strategies for Polkadot and Kusama. It means if Alice's balance is 100 at one chain height, her voting power will be 100 and 10 by these 2 strategies.
-- We have a partnership with [Crust](https://crust.network/), and we may store data to IPFS through [decoo](https://decoo.io/) that crust granted.
+* We have to call polkadot.js extension to sign the voting/poll, and some discussion messages.
+* About voting power, since Polkadot/Kusama have proxy accounts, so we have to support proxy account vote on behalf of the original one.
+* In this proposal, we will implement `balance of account` and `quadratic balance of account` strategies for Polkadot and Kusama. It means if Alice's balance is 100 at one chain height, her voting power will be 100 and 10 by these 2 strategies.
+* We have a partnership with [Crust](https://crust.network/), and we may store data to IPFS through [decoo](https://decoo.io/) that crust granted.
### Ecosystem Fit
+
- Providing off-chain voting/polls to help token holders/community members engage more in ecosystem building.
-- Flexible strategies help produce different voting/poll results which bring us different opinions from the on-chain tallying methods.
-- [snapshot](https://snapshot.org) is popular for Ethereum stack projects, mainly for governance, and currently we didn't see similar projects in Polkadot ecosystem.
+* Flexible strategies help produce different voting/poll results which bring us different opinions from the on-chain tallying methods.
+* [snapshot](https://snapshot.org) is popular for Ethereum stack projects, mainly for governance, and currently we didn't see similar projects in Polkadot ecosystem.
## Team :busts_in_silhouette:
### Team members
+
- Yongfeng Li(@wliyongfeng), Full stack developer
-- Chaojun Huang(@hyifeng), Full stack developer
-- Wentao Chen(@qiyisi), Full stack developer
-- Yizhou Xin(@YoshiyukiSakura), Full stack developer
-- Alcazar(@Popoulosss), Designer
-- Yaping Wu, BD and execution member
+* Chaojun Huang(@hyifeng), Full stack developer
+* Wentao Chen(@qiyisi), Full stack developer
+* Yizhou Xin(@YoshiyukiSakura), Full stack developer
+* Alcazar(@Popoulosss), Designer
+* Yaping Wu, BD and execution member
You can see our team with this [link](https://www.opensquare.network/team/).
@@ -57,31 +59,32 @@ You can see our team with this [link](https://www.opensquare.network/team/).
* **Contact Name:** Yongfeng Li
* **Contact Email:** wliyongfeng@gmail.com
-* **Website:** https://www.opensquare.network
+* **Website:**
### Legal Structure
+
* **Registered Address:** 3 FRASER STREET #05-25, DUO TOWER, SINGAPORE 189352
* **Registered Legal Entity:** OPENSQUARE FOUNDATION LTD.
### Team's experience
We have more than 3 years experience with Substrate/Polkadot related tech stack. Our recently developing products include:
-- [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve the treasury mechanism with retrospection.
-- [Statescan](https://www.statescan.io), a fungible asset explorer for Statemint implementation chains.
-- OpenSquare bounties business built on substrate. We got a grant for this, and please check details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md).
+* [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve the treasury mechanism with retrospection.
+* [Statescan](https://www.statescan.io), a fungible asset explorer for Statemint implementation chains.
+* OpenSquare bounties business built on substrate. We got a grant for this, and please check details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md).
We are honored that either dotreasury or statescan get support from kusama or polkadot treasury, and our work about bounties is granted by w3f previously. We are confident to deliver a high quality and usable off-chain voting site.
### Team Code Repos
-https://github.com/opensquare-network/
+
Team members github accounts:
-- https://github.com/wliyongfeng
-- https://github.com/hyifeng
-- https://github.com/qiyisi
-- https://github.com/YoshiyukiSakura
-- https://github.com/Popoulosss
+*
+*
+*
+*
+*
## Development Roadmap :nut_and_bolt:
@@ -89,9 +92,9 @@ Only 1 milestone in this proposal, while the main goal is to check the feasibili
We will put more features like more plugins and strategies in future proposals, but after this proposal we will launch it and make it available to the community.
Milestone 1 — Implement Basic off-chain voting/polls logic for Polkadot & Kusama
-- Estimated duration: 2 weeks
-- FTE: 3
-- Costs: 8,000 USD
+* Estimated duration: 2 weeks
+* FTE: 3
+* Costs: 8,000 USD
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
@@ -107,6 +110,6 @@ Milestone 1 — Implement Basic off-chain voting/polls logic for Polkadot & Kusa
## Future Plans
-- Add more spaces, and in the future users may create their own space and customize it.
-- Support plugins and more strategies so users can customize the process and voting result.
-- Support voting by assets issued on statemine or erc-20 tokens.
+* Add more spaces, and in the future users may create their own space and customize it.
+* Support plugins and more strategies so users can customize the process and voting result.
+* Support voting by assets issued on statemine or erc-20 tokens.
diff --git a/applications/OpenSquare_paid_qa_protocol.md b/applications/OpenSquare_paid_qa_protocol.md
index bc1e02193c2..ebfed8a3314 100644
--- a/applications/OpenSquare_paid_qa_protocol.md
+++ b/applications/OpenSquare_paid_qa_protocol.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# OpenSquare Paid QA protocol
-* **Project Name:** OpenSquare Paid QA protocol
* **Team Name:** OpenSquare
* **Payment Address:** 0x4905083abdD13bd95345A871701Fd0b08AbD46d1 (USDT)
@@ -41,42 +40,42 @@ DAPP implementers may do the submission in a batch way.
The packages or components we have to implement includes:
-- A scan package which tracks the interactions on a blockchain, and stores the structured data to the database.
-- Scripts which interact with IPFS, fetch or upload content.
-- A restful server will handle api calls from user interfaces and serve the structured data to them.
-- A backend job which aggregates the signed answers and submits them to blockchain in a batch extrinsic.
-- User interfaces.
+* A scan package which tracks the interactions on a blockchain, and stores the structured data to the database.
+* Scripts which interact with IPFS, fetch or upload content.
+* A restful server will handle api calls from user interfaces and serve the structured data to them.
+* A backend job which aggregates the signed answers and submits them to blockchain in a batch extrinsic.
+* User interfaces.
The user interfaces will include:
-- A topic list page where users can see all the topics. Each topic is shown with its author, title, created time,
+* A topic list page where users can see all the topics. Each topic is shown with its author, title, created time,
status, etc. There may be some filters, like token currency filter and amount filter.
-- A topic authoring page where a topic author can edit the topic, sign the extrinsic and submit to blockchain.
-- A topic detail page:
- - It shows the topic details and the answers.
- - A user can answer the topic and sign with his/her polkadot key.
- - A user can support this topic and sign the extrinsic to blockchain.
- - Any user can fund an answer or the topic.
- - It will show all the fund records, including from, to and the funded tokens.
- - The author and supporter can resolve the topic on this page.
-- A user page which is identified by address:
- - A list of the created/supported topics.
- - A list answers.
- - Statistics of funds granted and received.
- - Maybe some interfaces for operations, like links to create a topic.
-- In site notifications(centralized)
- - A topic author/supporter will receive a notification when there are new answers.
- - An answer author will receive a notification when his/her answer gets funded.
+* A topic authoring page where a topic author can edit the topic, sign the extrinsic and submit to blockchain.
+* A topic detail page:
+ * It shows the topic details and the answers.
+ * A user can answer the topic and sign with his/her polkadot key.
+ * A user can support this topic and sign the extrinsic to blockchain.
+ * Any user can fund an answer or the topic.
+ * It will show all the fund records, including from, to and the funded tokens.
+ * The author and supporter can resolve the topic on this page.
+* A user page which is identified by address:
+ * A list of the created/supported topics.
+ * A list answers.
+ * Statistics of funds granted and received.
+ * Maybe some interfaces for operations, like links to create a topic.
+* In site notifications(centralized)
+ * A topic author/supporter will receive a notification when there are new answers.
+ * An answer author will receive a notification when his/her answer gets funded.
Please check part of the UIs [here](https://www.figma.com/proto/vqpglMGW8psHKB00eIVDUV/OpenSquare?page-id=3655%3A16149&node-id=3659%3A30988&viewport=322%2C48%2C0.08&scaling=min-zoom).
### Ecosystem Fit
-- It’s `system#remark` based, lightweight, and gas free for topic answers.
-- Target audience are all the community members who have questions to ask or topics to discuss, and who have knowledge
+* It’s `system#remark` based, lightweight, and gas free for topic answers.
+* Target audience are all the community members who have questions to ask or topics to discuss, and who have knowledge
to share.
-- It provides a way with bounty for Pokadot ecosystem community members to share knowledge.
-- I know [mem.co](https://mem.co/) who has similar planned products, but currently seems no products released. We
+* It provides a way with bounty for Pokadot ecosystem community members to share knowledge.
+* I know [mem.co](https://mem.co/) who has similar planned products, but currently seems no products released. We
OpenSquare developed a centralized paid QA platform in Chinese, but we think decentralization should be the right
direction.
@@ -84,11 +83,11 @@ Please check part of the UIs [here](https://www.figma.com/proto/vqpglMGW8psHKB00
### Team members
-- Yongfeng Li(@wliyongfeng), Full stack developer
-- Chaojun Huang(@hyifeng), Full stack developer
-- Wentao Chen(@qiyisi), Full stack developer
-- Yizhou Xin(@YoshiyukiSakura), Full stack developer
-- Alcazar(@Popoulosss), Designer
+* Yongfeng Li(@wliyongfeng), Full stack developer
+* Chaojun Huang(@hyifeng), Full stack developer
+* Wentao Chen(@qiyisi), Full stack developer
+* Yizhou Xin(@YoshiyukiSakura), Full stack developer
+* Alcazar(@Popoulosss), Designer
You can see our team [here](https://www.opensquare.network/team/).
@@ -96,7 +95,7 @@ You can see our team [here](https://www.opensquare.network/team/).
* **Contact Name:** Yongfeng Li
* **Contact Email:** wliyongfeng@gmail.com
-* **Website:** https://www.opensquare.network
+* **Website:**
### Legal Structure
@@ -108,41 +107,41 @@ You can see our team [here](https://www.opensquare.network/team/).
We have more than 3 years experience with Substrate/Polkadot related tech stack. Our recently developing products
include:
-- [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve
+* [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve
the treasury mechanism with retrospection.
-- [Statescan](https://www.statescan.io). An explorer for asset para chains, and we have implemented
+* [Statescan](https://www.statescan.io). An explorer for asset para chains, and we have implemented
Statemine/Statemint/Westmint.
-- OpenSquare bounties business built on substrate. We got a grant for this, and please check
+* OpenSquare bounties business built on substrate. We got a grant for this, and please check
details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md).
-- OpenSquare off chain [voting](https://voting.opensquare.io/) platform. We got a grant to develop it, please check
+* OpenSquare off chain [voting](https://voting.opensquare.io/) platform. We got a grant to develop it, please check
details [here](https://github.com/w3f/Grants-Program/blob/master/applications/OpenSquare-offchain-voting.md). We have
supported Statemine assets since the grant delivery and got RMRK as our first user.
### Team Code Repos
-https://github.com/opensquare-network/
+
Team members github accounts:
-- https://github.com/wliyongfeng
-- https://github.com/hyifeng
-- https://github.com/qiyisi
-- https://github.com/YoshiyukiSakura
-- https://github.com/Popoulosss
+*
+*
+*
+*
+*
## Development Roadmap :nut_and_bolt:
### Overview
-- **Total Estimated Duration:** 6 weeks
-- **Full-Time Equivalent (FTE):** 5 FTE
-- **Total Costs:** 25,000 USD
+* **Total Estimated Duration:** 6 weeks
+* **Full-Time Equivalent (FTE):** 5 FTE
+* **Total Costs:** 25,000 USD
Milestone 1 — Implement the paid QA businesses
-- **Total Estimated Duration:** 6 weeks
-- **Full-Time Equivalent (FTE):** 5 FTE
-- **Total Costs:** 25,000 USD
+* **Total Estimated Duration:** 6 weeks
+* **Full-Time Equivalent (FTE):** 5 FTE
+* **Total Costs:** 25,000 USD
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
@@ -170,10 +169,10 @@ Milestone 1 — Implement the paid QA businesses
## Future Plans
-- Support more chains and add more token identifiers, so users can collaborate with more tokens.
-- Add more topic field definitions, so users can collaborate with more ways, for example, a field to support a poll
+* Support more chains and add more token identifiers, so users can collaborate with more tokens.
+* Add more topic field definitions, so users can collaborate with more ways, for example, a field to support a poll
topic, a field to help users make categories.
-- Credit/reputation building based on the behaviors, but it will be a long pan which need considerations together with
+* Credit/reputation building based on the behaviors, but it will be a long pan which need considerations together with
other collaborations in OpenSquare developed platforms.
## Additional Information :heavy_plus_sign:
diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md
index f5a648737b4..950450b884f 100644
--- a/applications/ParaSpell.md
+++ b/applications/ParaSpell.md
@@ -1,9 +1,8 @@
-# W3F Grant Proposal
+# ParaSpell
-- **Project Name:** ParaSpell
-- **Team Name:** ParaSpell
-- **Payment Address:** 0xa085190c859eAe92bCCED9CE05b10DDb363FE5Ea (USDC)
-- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣
+- **Team Name:** ParaSpell
+- **Payment Address:** 0xa085190c859eAe92bCCED9CE05b10DDb363FE5Ea (USDC)
+- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣
## Project Overview 📄
@@ -12,15 +11,18 @@
XCM & XCMP related development tool for developers.
ParaSpell main advantages can be summarized in the following list:
-- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface.
-- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers.
-- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data.
+
+- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface.
+- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers.
+- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data.
One of the ParaSpell main goals is to reduce the time necessary to create XCM calls or open HRMP channels.
-![comparisonImg](https://user-images.githubusercontent.com/55763425/198575362-929a94fc-b118-42de-95b4-b8ac358be3bc.jpg)
+[
+![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg)
-As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them.
+As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them.
Another goal of ParaSpell is having network installation, compilation & startup done as simply as possible. This is achieved by makefile that groups commands into fewer much more intuitive commands and by network startup configuration file. Together, these two files take care of the network side, and adding new nodes into these files is intuitive. Starting the application is also very simple and done by one command. Communication between application and network is made possible with Polkadot API libraries.
@@ -33,49 +35,57 @@ Overall ParaSpell is all about developer experience.
ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Pichiu(Kylin network), Bifrost & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished.
The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call.
-
-
+[
+![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png)
Closing HRMP channels is just as simple as opening them. One button click to close the required channel.
-
-
+[
+![Closing channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png)
If the user decides to transfer funds from Relay chain to Parachain they can do so by filling following details. These required details are way faster to fill than filling a full XCM call which requires a complete route and selection of concrete token.
-
+[
+![Relay to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png)
The opposite, but nearly the same scenario is sending tokens from Parachain to Relay chain. It is just as simple, however.
-
-
+[
+![Para to relay screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png)
The last transaction scenario is the transfer of funds between Parachain and another Parachain.
-
-
+[
+![Para to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png)
- Overview video of application is also available on Youtube
[Link to overview video](https://youtu.be/YKZEa2MaY6Q)
#### Architecture 🏗
-![screenFlow](https://user-images.githubusercontent.com/55763425/198412240-e031d877-c5d8-4952-9048-2e1256ba4469.svg)
+[
+![Diagram](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg)
+](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg)
Application is purposely designed to be as simple as possible. This guarantees, that all tasks can be done quickly and without extended searching. All necessary screens also feature notifications which will as a milestone explain be callback reactive. The loading screen is only present on the first application & network startup, once accessing the same screen after the application was loaded it will be skipped automatically. The screen serves to register necessary assets in parachain nodes. This is only required to be run once per network startup.
#### Technology Stack 💻
-- Vue.js
-- Node.js
-- Typescript
-- Polkadot api libraries
-- Make
+- Vue.js
+- Node.js
+- Typescript
+- Polkadot api libraries
+- Make
- Polkadot launch
-- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala)
+- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala)
### Ecosystem Fit 🌿
-There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster.
+There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster.
-In Polkadot and Kusama ecosystem, there are few XCM & XCMP related Dapps in development. These rather focus on standard users mostly. One of mentioned type is called "Morph".
+In Polkadot and Kusama ecosystem, there are few XCM & XCMP related Dapps in development. These rather focus on standard users mostly. One of mentioned type is called "Morph".
Unlike the already mentioned "Morph" platform ParaSpell focuses more on developers. ParaSpell features complete network install and startup configuration in one single command. This automatization ensures, that developers do not need to do any extra tasks when they wish to run development nodes locally. ParaSpell also allows developers to open and close HRMP channels between Parachains they connected. Like "Morph", ParaSpell can also transfer fungible tokens in three scenarios. From Parachains to Relay chain, from Relay chain to Parachains & from Parachains to Parachains.
@@ -91,13 +101,13 @@ Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Facu
### Contact 📞
-- **Contact Name:** Dušan Morháč
-- **Contact Email:** [xmorhac@stuba.sk](mailto:xmorhac@stuba.sk)
+- **Contact Name:** Dušan Morháč
+- **Contact Email:** [xmorhac@stuba.sk](mailto:xmorhac@stuba.sk)
### Legal Structure
-- **Registered Address:** No legal structure yet.
-- **Registered Legal Entity:** No legal structure yet.
+- **Registered Address:** No legal structure yet.
+- **Registered Legal Entity:** No legal structure yet.
### Team's experience 🔎
@@ -106,51 +116,52 @@ Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Facu
### Team Code Repos 📚
-- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell)
-- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery)
+- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell)
+- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery)
#### Team github accounts 🧑💻
-- [https://github.com/dudo50](https://github.com/dudo50) Dušan Morháč
-- [https://github.com/vikiival](https://github.com/vikiival) Viktor Valaštín
+
+- [https://github.com/dudo50](https://github.com/dudo50) Dušan Morháč
+- [https://github.com/vikiival](https://github.com/vikiival) Viktor Valaštín
### Team LinkedIn Profiles 🧑🎓
-- [https://www.linkedin.com/in/dudo50](https://www.linkedin.com/in/dudo50)
-- [https://www.linkedin.com/in/vikival](https://www.linkedin.com/in/vikival)
+- [https://www.linkedin.com/in/dudo50](https://www.linkedin.com/in/dudo50)
+- [https://www.linkedin.com/in/vikival](https://www.linkedin.com/in/vikival)
## Development Status 📖
-- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) This is the repo for ParaSpell and there is already a user interface that can open HRMP channels & transfer fungible tokens between Acala and Rococo. Wallet support from milestone was recently implemented, it only needs to be added to calls.
+- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) This is the repo for ParaSpell and there is already a user interface that can open HRMP channels & transfer fungible tokens between Acala and Rococo. Wallet support from milestone was recently implemented, it only needs to be added to calls.
## Development Roadmap 🔩🛠
### Overview
-- **Total Estimated Duration:** 2 months ⌛️
-- **Full-Time Equivalent (FTE):** 1 FTE
-- **Total Costs:** 10,000 USD 💰
+- **Total Estimated Duration:** 2 months ⌛️
+- **Full-Time Equivalent (FTE):** 1 FTE
+- **Total Costs:** 10,000 USD 💰
### Milestone 1 — Cross-blockchain application for developers
-- **Estimated duration:** 2 months ⌛️
-- **FTE:** 1 FTE
-- **Costs:** 10,000 USD 💰
+- **Estimated duration:** 2 months ⌛️
+- **FTE:** 1 FTE
+- **Costs:** 10,000 USD 💰
| Number | Deliverable | Specification |
|--------|---------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0a. | License | MIT |
-| 0b. | Documentation | Inline documentation of code, as well as startup
configuration with all necessary commands, included
in repository |
-| 0c. | Testing Guide | Core functionality & user guide will be covered in
repository documentation |
+| 0b. | Documentation | Inline documentation of code, as well as startup configuration with all necessary commands, included in repository |
+| 0c. | Testing Guide | Core functionality & user guide will be covered in repository documentation |
| 0d. | Docker | Frontend Docker file will be ready |
| 0e. | Article | Soon to be released on IEEE + Medium article about development of ParaSpell |
-| 1. | Wallet login | Developers can use their Polkadot js
extension wallets to execute transactions XCM
from their accounts. |
-| 2.a | Full working
fund transfer
scenario 1 | Fully working transaction
scenario 1 - Relay chain to Parachains |
-| 2.b | Fully working
fund transfer
scenario 2 | Fully working transaction
scenario 2 - Parachains to Relay chain |
-| 2.c | Fully working
fund transfer
scenario 3 | Fully working transaction
scenario 3 - Parachain to Parachain | |
-| 3.a | Callback support 1 | Added callback data support so developers/users
can see information about their XCM transactions
from UI and in real-time. |
-| 3.b | Callback support 2 | Added callback data support so developers/users
can see information about HRMP channel calls
from UI and in real-time. |
+| 1. | Wallet login | Developers can use their Polkadot js extension wallets to execute transactions XCM from their accounts. |
+| 2.a | Full working fund transfer scenario 1 | Fully working transaction scenario 1 - Relay chain to Parachains |
+| 2.b | Fully working fund transfer scenario 2 | Fully working transaction scenario 2 - Parachains to Relay chain |
+| 2.c | Fully working fund transfer scenario 3 | Fully working transaction scenario 3 - Parachain to Parachain | |
+| 3.a | Callback support 1 | Added callback data support so developers/users can see information about their XCM transactions from UI and in real-time. |
+| 3.b | Callback support 2 | Added callback data support so developers/users can see information about HRMP channel calls from UI and in real-time. |
| 4. | ParaSpell SDK | Move calls to separate NPM library |
-| 5. | Guide to add new
nodes to application
and network | Simplified and user-friendly wiki/guide for
users to understand how to add new nodes to
network startup configuration as well as to
add/understand calls used in application |
+| 5. | Guide to add new nodes to application and network | Simplified and user-friendly wiki/guide for users to understand how to add new nodes to network startup configuration as well as to add/understand calls used in application |
## Future Plans 🔭
@@ -164,8 +175,9 @@ In a long run, we also want to improve design, add new features that can be usef
**How did you hear about the Grants Program?** Personal recommendation
**About project success so far:**
+
- Project article was accepted on international conference ICECET2022 ( only 450 out of 1000+ articles got accepted)
-[Link to conference physical program - Article 862 ](http://www.icecet.com/program_P.pdf)
+[Link to conference physical program - Article 862](http://www.icecet.com/program_P.pdf)
- Project won 🥈 second place bounty at Polkadot North America Hackaton in category "Build an XCM Related Tool for Moonbeam"
diff --git a/applications/Parallel.md b/applications/Parallel.md
index 2fbb92abe21..a26dd3aa2e2 100644
--- a/applications/Parallel.md
+++ b/applications/Parallel.md
@@ -1,8 +1,8 @@
-# Parallel Finance Open Grant Proposal
+# Parallel Finance
-- **Project Name:** Parallel Finance
-- **Team Name:** Parallel
-- **Payment Address:** 0x17816E9A858b161c3E37016D139cf618056CaCD4
+- **Project Name:** Parallel Finance
+- **Team Name:** Parallel
+- **Payment Address:** 0x17816E9A858b161c3E37016D139cf618056CaCD4
## Project Overview :page_facing_up:
@@ -12,27 +12,27 @@ Parallel finance is a decentralized lending/borrowing and staking protocol built
Our platform offers a few key features and benefits:
-- **Lending and borrowing**: users can lend and borrow assets based on interest rates.
-- **Staking**: users can participate in Polkadot’s network validation and earn rewards.
-- **Earning double interests**: users can choose to stake and lend out their tokens simultaneously based on our new approach.
-- **Powered by Substrate**: our platform benefits from the speed, resiliency and convenient upgradability of Polkadot.
+- **Lending and borrowing**: users can lend and borrow assets based on interest rates.
+- **Staking**: users can participate in Polkadot’s network validation and earn rewards.
+- **Earning double interests**: users can choose to stake and lend out their tokens simultaneously based on our new approach.
+- **Powered by Substrate**: our platform benefits from the speed, resiliency and convenient upgradability of Polkadot.
Our project utilizes substrate framework and is built on top of polkadot parachain ecosystem:
-- We built the core interests model and functionalities on substrate runtime
-- We enabled off-chain worker to query the current price feed of DOT and other tokens
-- We will build cross-chain interoperability using XCMP protocol in the near future
+- We built the core interests model and functionalities on substrate runtime
+- We enabled off-chain worker to query the current price feed of DOT and other tokens
+- We will build cross-chain interoperability using XCMP protocol in the near future
**Why are we building Parallel Finance?**
-- We decided to pick this idea because of the rising demand for decentralized lending protocols on Polkadot and Kusama, as well as the lack of token liquidity that comes with staking on the mainnet. We estimate that 50% of all existing DOT and KSM tokens will be staked for blockchain validation with an estimated staking APY of 10-20%. However, the DOT and KSM tokens will lose their liquidity once they are staked to validate the network. Institutions and large token holders have high incentives to use our platform since it will allow them to not only participate in staking, but also generate additional profits through lending, and allow them to use their DOTs and KSMs as payment, or trading assets.
+- We decided to pick this idea because of the rising demand for decentralized lending protocols on Polkadot and Kusama, as well as the lack of token liquidity that comes with staking on the mainnet. We estimate that 50% of all existing DOT and KSM tokens will be staked for blockchain validation with an estimated staking APY of 10-20%. However, the DOT and KSM tokens will lose their liquidity once they are staked to validate the network. Institutions and large token holders have high incentives to use our platform since it will allow them to not only participate in staking, but also generate additional profits through lending, and allow them to use their DOTs and KSMs as payment, or trading assets.
### Project Details
##### MVP links
-- Testnet demo: https://parallel.fi/#/
-- Video demo: https://youtu.be/lgQX9rELpL8
+- Testnet demo:
+- Video demo:
#### Mockups and UI components
@@ -69,78 +69,79 @@ The lending protocol was inspired by compound protocol and our blockchain soluti
##### What your project is _not_ or will _not_ provide or implement
-- Our team does not plan on implementing the support for other tokens besides the native DOT and KSM tokens and Stable Coin at the initial launch in order to reduce the risks in cross-collaterals
-- We will not implement a decentralized exchange by ourselves. Instead, we will be focusing on building the lending/borrowing and staking protocol.
+- Our team does not plan on implementing the support for other tokens besides the native DOT and KSM tokens and Stable Coin at the initial launch in order to reduce the risks in cross-collaterals
+- We will not implement a decentralized exchange by ourselves. Instead, we will be focusing on building the lending/borrowing and staking protocol.
### Ecosystem Fit
-- **Where and how does your project fit into the ecosystem?** We are aiming to offer the first decentralized lending/borrowing and staking protocol in the Polkadot and Kusama ecosystem as a DeFi and a parachain.
-- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?** Our target audience are the DOT and KSM token holders who are looking to participate in lending/borrowing, staking and unlocking liquidity for their staked tokens, or generating "double interests" returns by lending and staking simultaneously. This audience would include retail, institutional and large token holders, traders (arbitrage opportunities in DeFi) and network validators. In general, large token holders will have a higher incentive to join the platform earlier as the exchange rate will be more favorable.
-- **What need(s) does your project meet?** Our project helps generate additional interests for token holders, provide assets for borrowing and unlock liquidity for token stakers who can use staked tokens (ex: xDOT) to trade, lend or use as payment.
-- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?**
- - **If so, how is your project different?** Compound has been a successful and proven model for lending and borrowing assets in a decentralized manner in the Ethereum ecosystem. However, Compound doesn't offer staking services, and there is currently no decentralized lending/borrowing solution launched in the Polkadot ecosystem. Acala Network does offer staking services, but doesn't offer lending/borrowing services. From that perspective, we are a unique solution that combines both services and offers additional interests to our users.
- - **If not, are there similar projects in related ecosystems?** We have not yet found a project that will be focusing on generating double interests for token holders through lending and staking.
+- **Where and how does your project fit into the ecosystem?** We are aiming to offer the first decentralized lending/borrowing and staking protocol in the Polkadot and Kusama ecosystem as a DeFi and a parachain.
+- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?** Our target audience are the DOT and KSM token holders who are looking to participate in lending/borrowing, staking and unlocking liquidity for their staked tokens, or generating "double interests" returns by lending and staking simultaneously. This audience would include retail, institutional and large token holders, traders (arbitrage opportunities in DeFi) and network validators. In general, large token holders will have a higher incentive to join the platform earlier as the exchange rate will be more favorable.
+- **What need(s) does your project meet?** Our project helps generate additional interests for token holders, provide assets for borrowing and unlock liquidity for token stakers who can use staked tokens (ex: xDOT) to trade, lend or use as payment.
+- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?**
+ - **If so, how is your project different?** Compound has been a successful and proven model for lending and borrowing assets in a decentralized manner in the Ethereum ecosystem. However, Compound doesn't offer staking services, and there is currently no decentralized lending/borrowing solution launched in the Polkadot ecosystem. Acala Network does offer staking services, but doesn't offer lending/borrowing services. From that perspective, we are a unique solution that combines both services and offers additional interests to our users.
+ - **If not, are there similar projects in related ecosystems?** We have not yet found a project that will be focusing on generating double interests for token holders through lending and staking.
## Team :busts_in_silhouette:
### Team members
-- Name of team leader: Yubo Ruan
-- Names of team members: Remi Gai, Zhou Yang, Li Pai, Cheng Jiang, Hai Yi
+- Name of team leader: Yubo Ruan
+- Names of team members: Remi Gai, Zhou Yang, Li Pai, Cheng Jiang, Hai Yi
### Contact
-- **Contact Name:** Yubo Ruan
-- **Contact Email:** yubo@parallel.fi
-- **Website:** www.parallel.fi
+- **Contact Name:** Yubo Ruan
+- **Contact Email:** yubo@parallel.fi
+- **Website:** www.parallel.fi
### Legal Structure
(we are in the process of registering the legal entity)
-- **Registered Address:** N/A
-- **Registered Legal Entity:** N/A
+- **Registered Address:** N/A
+- **Registered Legal Entity:** N/A
### Team's experience
-- **Yubo Ruan**: Yubo is currently a venture investor at Polychain Capital and 8 Decimal Capital. Yubo previously worked at TrustToken as a solidity engineer and helped build the TrueFi uncollateralized lending protocol. Additionally, Yubo started Alisimba Technology with wide range of media coverage in China and was granted many national patents and innovation awards. Yubo studied computer science at Stanford University.
-- **Yang Zhou**: Yang is a senior blockchain engineer at Elastos and its Gelaxy group. At Elastos, Yang contributed to the cli tool, cross-chain protocol, and merged mining specification. Additionally, Yang was the point of contact with the world's top mining pool (F2Pool, BTCPool, ANTPool, and Huobipool), and successfully launched the Elastos mining business. Yang also worked at large software tech companies and has 9 years of development experience.
-- **Remi Gai**: Remi is a software engineer with a background in product management, entrepreneurship and venture capital, and currently works at Microsoft. Previously, Remi worked as an early stage investor at 8 Decimal Capital, a crypto/blockchain focused fund, and was the co-founder of Bitsystems, a blockchain development firm based in Cambridge, Massachusetts.
-- **Lipai Zhu**: Lipai has 4 years of experience in blockchain. For the past 2 years, Li Pai has been working as a blockchain engineer at JianXinZhuHe technology at Shenzhen and focuses on consortium blockchain. Prior, Lipai studied BitCoin, Ethereum and Solidity and won a prize at BSN Second developer competition and a grand prize at the 4th China Blockchain Development Competition (In Competition, his duty is design smart contract and develop it).
-- **Cheng Jiang**: Cheng Jiang is a senior Fullstack Developer at Ubudu, experienced in Fullstack development, Network topology and Indoor Location System Algorithms.
-- **Hai Yi**: Hai Yi has 4 years experience in software engineering. He was a former software engineer at Swissborg, and trading product associate at the Bank of Montreal. Hai Yi holds a BSc in Computer Science degree from the University of Waterloo).
+- **Yubo Ruan**: Yubo is currently a venture investor at Polychain Capital and 8 Decimal Capital. Yubo previously worked at TrustToken as a solidity engineer and helped build the TrueFi uncollateralized lending protocol. Additionally, Yubo started Alisimba Technology with wide range of media coverage in China and was granted many national patents and innovation awards. Yubo studied computer science at Stanford University.
+- **Yang Zhou**: Yang is a senior blockchain engineer at Elastos and its Gelaxy group. At Elastos, Yang contributed to the cli tool, cross-chain protocol, and merged mining specification. Additionally, Yang was the point of contact with the world's top mining pool (F2Pool, BTCPool, ANTPool, and Huobipool), and successfully launched the Elastos mining business. Yang also worked at large software tech companies and has 9 years of development experience.
+- **Remi Gai**: Remi is a software engineer with a background in product management, entrepreneurship and venture capital, and currently works at Microsoft. Previously, Remi worked as an early stage investor at 8 Decimal Capital, a crypto/blockchain focused fund, and was the co-founder of Bitsystems, a blockchain development firm based in Cambridge, Massachusetts.
+- **Lipai Zhu**: Lipai has 4 years of experience in blockchain. For the past 2 years, Li Pai has been working as a blockchain engineer at JianXinZhuHe technology at Shenzhen and focuses on consortium blockchain. Prior, Lipai studied BitCoin, Ethereum and Solidity and won a prize at BSN Second developer competition and a grand prize at the 4th China Blockchain Development Competition (In Competition, his duty is design smart contract and develop it).
+- **Cheng Jiang**: Cheng Jiang is a senior Fullstack Developer at Ubudu, experienced in Fullstack development, Network topology and Indoor Location System Algorithms.
+- **Hai Yi**: Hai Yi has 4 years experience in software engineering. He was a former software engineer at Swissborg, and trading product associate at the Bank of Montreal. Hai Yi holds a BSc in Computer Science degree from the University of Waterloo).
### Team Code Repos
-- Backend: https://github.com/parallel-finance/parallel
-- Frontend: https://github.com/parallel-finance/hackathon-2021-spring/tree/main/teams/22-Parallel/src/parallel-dapp
+- Backend:
+- Frontend:
### Team LinkedIn Profiles
-- https://www.linkedin.com/in/yubo-ruan/
-- https://www.linkedin.com/in/remigai/
-- https://www.linkedin.com/in/cheng-jiang-2a414020a/
-- https://www.linkedin.com/in/haiyi-zhong-6274108b/?originalSubdomain=ca
-- https://www.linkedin.com/in/zhulipai/
-- https://www.linkedin.com/in/yz89/
+-
+-
+-
+-
+-
+-
## Development Roadmap :nut_and_bolt:
### Overview
+
* **Total Estimated Duration:** 4 months
-* **Full-time equivalent (FTE):** 4 FTE
-* **Total Costs:** 9k USD
+- **Full-time equivalent (FTE):** 4 FTE
+- **Total Costs:** 9k USD
### Milestone 1 — Implement Cross-chain support for DOT and KSM
-- **Estimated Duration:** 8 weeks
-- **FTE:** 1.8
-- **Costs:** 4000 USD
+- **Estimated Duration:** 8 weeks
+- **FTE:** 1.8
+- **Costs:** 4000 USD
The major deliverable of for this milestone:
-- Implement a multi-assets lending protocol.
-- Support automatic liquidation by using an off-chain worker.
+- Implement a multi-assets lending protocol.
+- Support automatic liquidation by using an off-chain worker.
| Number | Deliverable | Specification |
| -----: | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -155,22 +156,22 @@ The major deliverable of for this milestone:
| 5. | User Testing | We will conduct user testing to improve our product's UI and UX, to ensure that the borrowing and lending functionalities are intuitive. Initially, we will conduct qualitative user testing by observing 10-15 users who will use the v1 platform and provide a summary of the findings and improvements made based on insights. |
Other:
-* We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables).
+- We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables).
### Milestone 2 — Enable Staking for DOT and KSM
-- **Estimated Duration:** 8 weeks
-- **FTE:** 2.2
-- **Costs:** 5000 USD
+- **Estimated Duration:** 8 weeks
+- **FTE:** 2.2
+- **Costs:** 5000 USD
The major deliverable of for this milestone:
-- Implement the modules that allow for staking functionality, which includes
- - Exchange Rate
- - 28 days locking period for unstaking tokens
- - Slashing scenarios
- - Relay tokens to validators
-- Users will be able to stake DOT tokens, and receives xDOT in return. xDOT will then start accruing interests from staking and also be used for lending or transfered elsewhere for payment or trading. Similarly, staked KSM will be converted to xKSM with the same features as xDOT.
+- Implement the modules that allow for staking functionality, which includes
+ - Exchange Rate
+ - 28 days locking period for unstaking tokens
+ - Slashing scenarios
+ - Relay tokens to validators
+- Users will be able to stake DOT tokens, and receives xDOT in return. xDOT will then start accruing interests from staking and also be used for lending or transfered elsewhere for payment or trading. Similarly, staked KSM will be converted to xKSM with the same features as xDOT.
| Number | Deliverable | Specification |
| -----: | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -187,32 +188,32 @@ The major deliverable of for this milestone:
| 6. | User Testing | We will conduct user testing to improve our product's UX and UI, to ensure that the borrowing and lending functionalities are intuitive. Initially, we will conduct qualitative user testing by observing 10-15 users use the v1 platform and provide a summary of the findings and improvements made based on insights. |
Other:
-* We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables).
+- We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables).
## Future Plans
**Community Development**:
-- In the short term, we will focus on acquiring the early users for our platform, who are large token holders and institutions. The exchange rate will be lower initially as the pool size and number of blocks are lower, so there's a strong incentive for larger players to deposit their tokens early on. As the Kusama and Polkadot mainnets are approaching, we will be forming partnership with validators who might be interested in forming partnerships or use our platform to gain liquidity on their staked tokens.
-- We will frequently post on social media (Twitter, Medium, Youtube) to provide development news and video tutorials regarding our platform. We will also work with influencers, who can break down complex concepts and provide clear guidance to the mainstream users on how to use our platform.
-- Our long term plan is to provide a suite of products that will allow users to earn superior interests with their assets on our Defi platform, as we truly believe in the benefits of decentralization and allowing more mainstream investors to participate in the financial economy.
+- In the short term, we will focus on acquiring the early users for our platform, who are large token holders and institutions. The exchange rate will be lower initially as the pool size and number of blocks are lower, so there's a strong incentive for larger players to deposit their tokens early on. As the Kusama and Polkadot mainnets are approaching, we will be forming partnership with validators who might be interested in forming partnerships or use our platform to gain liquidity on their staked tokens.
+- We will frequently post on social media (Twitter, Medium, Youtube) to provide development news and video tutorials regarding our platform. We will also work with influencers, who can break down complex concepts and provide clear guidance to the mainstream users on how to use our platform.
+- Our long term plan is to provide a suite of products that will allow users to earn superior interests with their assets on our Defi platform, as we truly believe in the benefits of decentralization and allowing more mainstream investors to participate in the financial economy.
**Product Development**:
-- This is our tentative development roadmap for the rest of this year:
+- This is our tentative development roadmap for the rest of this year:
![image](https://user-images.githubusercontent.com/56744348/111891918-94ebaa80-89c4-11eb-8707-a16b33e7b54c.png)
## Additional Information :heavy_plus_sign:
-- We are a team that met and formed during the March 2021 Polkadot Hackathon in Shanghai. Our team members are both in the US and China, and come from a strong engineering background (crypto/blockchain, startup, traditional tech company), product management and financial background (venture capital, Defi). We were able to deliver our proof of concept within a month, and earned third place at the Hackathon.
+- We are a team that met and formed during the March 2021 Polkadot Hackathon in Shanghai. Our team members are both in the US and China, and come from a strong engineering background (crypto/blockchain, startup, traditional tech company), product management and financial background (venture capital, Defi). We were able to deliver our proof of concept within a month, and earned third place at the Hackathon.
-- We are currently still in the process of creating our white paper, but you can find more details about our documentation on our gitbook: https://docs.parallel.fi/.
+- We are currently still in the process of creating our white paper, but you can find more details about our documentation on our gitbook: .
-- Email: team@parallel.fi
-- Website: parallel.fi
-- Twitter: https://twitter.com/ParallelFi
-- Medium: https://medium.com/@parallelfinance
-- LinkedIn: https://www.linkedin.com/company/parallel-finance/
-- Unofficial white paper: https://docs.parallel.fi/
-- Testnet demo: https://parallel.fi/#/app
-- Video demo (Hackathon March 2021): https://youtu.be/lgQX9rELpL8
+- Email: team@parallel.fi
+- Website: parallel.fi
+- Twitter:
+- Medium:
+- LinkedIn:
+- Unofficial white paper:
+- Testnet demo:
+- Video demo (Hackathon March 2021):
diff --git a/applications/Plus-follow-up.md b/applications/Plus-follow-up.md
index 91322fed5e5..1821c3f6d8e 100644
--- a/applications/Plus-follow-up.md
+++ b/applications/Plus-follow-up.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Polkadot js plus / Nomination pools
-- **Project Name:** Polkadot js plus / Nomination pools
- **Team Name:** Polkadot js plus
- **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
diff --git a/applications/Plus-social-recovery-wallet.md b/applications/Plus-social-recovery-wallet.md
index 8cf666bb3c6..3d75b923800 100644
--- a/applications/Plus-social-recovery-wallet.md
+++ b/applications/Plus-social-recovery-wallet.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Polkadot js plus / Social Recovery Wallet
-- **Project Name:** Polkadot js plus / Social Recovery Wallet
- **Team Name:** Polkadot js plus
- **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3
diff --git a/applications/Plus.md b/applications/Plus.md
index be37264e555..22d9c0fc462 100644
--- a/applications/Plus.md
+++ b/applications/Plus.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Plus: Polkadot js plus extension
-- **Project Name:** Plus: Polkadot js plus extension
- **Team Name:** Kami Ekbatanifard
- **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
diff --git a/applications/PolkaKey.md b/applications/PolkaKey.md
index 9e60398f826..384c0133a77 100644
--- a/applications/PolkaKey.md
+++ b/applications/PolkaKey.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# PolkaKey
-* **Project:** PolkaKey
* **Proposer:** @HiZhaoYun
* **Payment Address:** 1NUYKUgjDrzXox7ebeT6xkFN5A64S419Xm
diff --git a/applications/PolkaSignIn.md b/applications/PolkaSignIn.md
index 4a95782e5e4..52059a7f72d 100644
--- a/applications/PolkaSignIn.md
+++ b/applications/PolkaSignIn.md
@@ -1,13 +1,12 @@
-# W3F Grant Proposal
+# Polka SignIn
-* **Project Name:** Polka SignIn
-* **Team Name:** Litentry
-* **Payment Address:** 0x37a45AdBb275d5d3F8100f4cF16977cd4B0f9Fb7 (USDT)
+* **Team Name:** Litentry
+* **Payment Address:** 0x37a45AdBb275d5d3F8100f4cF16977cd4B0f9Fb7 (USDT)
* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.*
-## Project Overview
+## Project Overview
### Overview
@@ -32,9 +31,9 @@ to ask the user to sign such a magic string with injected signers and provides i
#### Sign in Participants
-- **Service providers** are the dApps that have the sign-in requirement.
-- **Identity providers** are the injected signers which provide the authentication information of the user who holds the wallet.
-- **Resource Owners** are the users who hold the self-custody crypto wallets.
+* **Service providers** are the dApps that have the sign-in requirement.
+* **Identity providers** are the injected signers which provide the authentication information of the user who holds the wallet.
+* **Resource Owners** are the users who hold the self-custody crypto wallets.
#### Workflow
@@ -51,7 +50,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st
### Implementation
-1. Sign-in Request
+1. Sign-in Request
User want to sign in the dApp by send a simple request with identity chain type, eg: DOT, KSM, ETH etc.
@@ -65,7 +64,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st
}
```
-2. Authentication Requirement
+2. Authentication Requirement
dApp will return the callback info.
The callback endpoint is used by Identity provider to send signature data to dApp.
@@ -79,7 +78,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st
}
```
-3. Connect to Signer
+3. Connect to Signer
User sends request to the Identity Provider (Injected Signer like : Polkadot.js Extension, Metamask, Parity Signer ...).
@@ -94,7 +93,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st
}
```
-4. Provide Signature
+4. Provide Signature
The Identity Provider will generate the Signature data.
```
@@ -108,15 +107,15 @@ The workflow works the same with or without OAuth specification. Only the 4th st
explains:
- - identity-type
+ * identity-type
This field is used to choose the chain type and account.
- - public-key
+ * public-key
With the chain account chosen, get the public key of the account. This field will be used by dApp to decrypt the data and verify data consistency.
- - account-signed
+ * account-signed
use private key to sign the account.
@@ -135,18 +134,17 @@ The workflow works the same with or without OAuth specification. Only the 4th st
```
- - scope
-
+ * scope
+
scope define the permission needed for the dapp to interact with the account.
-
- - chanllenge
-
+
+ * chanllenge
+
a text string need to be signed by the private key.
-
The Identity Provider will send the signature data to the callback endpoint of dApp by step #3.
-5. Validation
+5. Validation
The dApp receives the signature data and do the verification.
@@ -160,18 +158,18 @@ The workflow works the same with or without OAuth specification. Only the 4th st
```
Verification Steps:
- - use **public-key** to decrypt the data of **account-signed** , this progress should be successful, and get the account address.
+ * use **public-key** to decrypt the data of **account-signed** , this progress should be successful, and get the account address.
**public-key** pairs with **private-key**, this step proves the validity of the private key, and ensure that the data was not tampered with.
-
- - use **public-key** to generate the address by the specified algorithmic mechanism according to the chain type, and get the account address refer to **public-key** .
+ * use **public-key** to generate the address by the specified algorithmic mechanism according to the chain type, and get the account address refer to **public-key** .
- - verify the two account address , success if they are the same.
+ * verify the two account address , success if they are the same.
- - if failure, it means the public key does not match the account address, it may happen when some malicious users want to impersonate an account.
+ * if failure, it means the public key does not match the account address, it may happen when some malicious users want to impersonate an account.
+
+ * if success, the dApp should return the response to the Identity Provider with the payload:
- - if success, the dApp should return the response to the Identity Provider with the payload:
```
{
"verified": true,
@@ -179,7 +177,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st
}
```
-6. Lookup Identity
+6. Lookup Identity
The dApp gets the account address . It can retrieve the related information of account from the external service providers , such as ENS, Polkadot/Kusama Identity Registrar, etc.
@@ -193,7 +191,7 @@ There is few solution combine the OAuth and self-custody wallet, and no such sol
* Hanwen Cheng
* Yunjian Bian
-* Eric Zhang
+* Eric Zhang
### Contact
@@ -212,15 +210,15 @@ There is few solution combine the OAuth and self-custody wallet, and no such sol
### Team Code Repos
-* https://github.com/litentry
-* https://github.com/litentry/litentry-parachain
-* https://github.com/litentry/litentry-app
+*
+*
+*
Github accounts:
-* https://github.com/hanwencheng
-* https://github.com/bianyunjian
-* https://github.com/jingleizhang
+*
+*
+*
## Development Status :open_book:
@@ -245,9 +243,8 @@ The hourly pay rate is 50 USD/hour
In total is 120 hours, and the total payment will be 6000 USD equivalent USDT.
-
## Future Plans
-We planned to have a web app for user to manage the access control of the logged platforms, and enable user to curate the profile information in the future.
+We planned to have a web app for user to manage the access control of the logged platforms, and enable user to curate the profile information in the future.
It would be great to integrate with popular auth solutions in web technology, like passport (node js), next-auth (next.js).
diff --git a/applications/Polkadart.md b/applications/Polkadart.md
index 5d7838e0edf..c6e59f79ca6 100644
--- a/applications/Polkadart.md
+++ b/applications/Polkadart.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Polkadart
-- **Project Name:** Polkadart
- **Team Name:** JURIMETRIC TECNOLOGIA LTDA
- **Payment Address:** 12kizkmmQzRFR5o6BQ5Kufo77RPT787eaFynswQoi42vv2Da (DOT)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3
diff --git a/applications/Polkadot-Dart.md b/applications/Polkadot-Dart.md
index add788510b8..84427d2f122 100644
--- a/applications/Polkadot-Dart.md
+++ b/applications/Polkadot-Dart.md
@@ -1,20 +1,16 @@
-Open Grant Proposal of Polkadot-Dart
-
-* **Project:** Polkadot-Dart
+# Polkadot-Dart
* **Proposer:** Michael So
* **Payment Address:** 3PbhNyWhiSTwb58fc5uYhg2mV2vJ34KwAJ
-* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/125#issuecomment-946479942)
-
-
+* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/125#issuecomment-946479942)
-## Project Overview :page_facing_up:
+## Project Overview :page_facing_up:
### Overview
-Dart has advantages in native development.
+Dart has advantages in native development.
Dart is a computer programming language developed by Google, which is used in the development of web, server, mobile apps and the IoT. Dart is an object-oriented, class-defined, single-inheritance language. Dart is a general programming language developed by Google, which was later recognized as a standard by ECMA (ECMA-408). It is used to build web, server, desktop and mobile applications. Its syntax is similar to C language and can be translated into JavaScript, interfaces, mixins, abstract classes, reified generics, optional typing and sound type system .
@@ -28,9 +24,9 @@ Similarly, we also found that there is currently no Polkadot SDK suitable for th
Similar to [polkaj](https://github.com/emeraldpay/polkaj) (Java version), we will develop the Dart version and name it `Polkadot-Dart`.
+### Project Details
-### Project Details
-To complete the porting, we follow the project structure of `Polkadot-JS`.
+To complete the porting, we follow the project structure of `Polkadot-JS`.
There are some differences between `Dart` and `Javascript`, and the project needs to be compatible. For example, The "wasm" compiled by Rust-lang is used in `Polkadot-JS` . As for dart, we use `dart:ffi` for communication. All Rust-native libraries will be compiled to `.so` for Linux/Android system, `.a` or `.framework` for iOS/MacOS, and `.dll` for Windows.
@@ -62,23 +58,21 @@ Therefore, we defined Dart project like `Polkadot-JS` .
| `@polkadot/type-known` | * not needed |
| `@polkadot/types` | types |
-
#### Technology Stacks
Dart/Flutter, Rust
+### Ecosystem Fit
-### Ecosystem Fit
+Similar projects:
-Similar projects:
* [Web3dart](https://github.com/simolus3/web3dart)
* [polkaj](https://github.com/emeraldpay/polkaj)
* [Dart-scale-codec](https://github.com/nbltrust/dart-scale-codec)
-* [Substrate-sign-flutter](https://github.com/hanwencheng/substrate_sign_flutter)
+* [Substrate-sign-flutter](https://github.com/hanwencheng/substrate_sign_flutter)
We have created `Polkadot-Dart`, which, combined with Flutter framework, can greatly reduce the barrier to participation for cross-platform developers, as well as reduce the complexity of cross-platform application development and maintenance. In addition, the cross-platform experience of Polkadot-Dart's users is also improved.
-
## Team :busts_in_silhouette:
### Team members
@@ -86,12 +80,12 @@ We have created `Polkadot-Dart`, which, combined with Flutter framework, can gre
* Michael So
* Zhongdan Wei
-### Team Website
+### Team Website
-* https://pocket4d.io (In progress)
-* https://firestack.one
+* (In progress)
+*
-### Legal Structure
+### Legal Structure
SHANGHAI NIEPAN INFORMATION TECHNOLOGY CO., LTD., a startup company focusing on blockchain development in China.
@@ -100,16 +94,15 @@ SHANGHAI NIEPAN INFORMATION TECHNOLOGY CO., LTD., a startup company focusing on
* Michael So, founder of FireStack, Serial entrepreneur. He devoted to blockchain for many years, leading token investment, wallet, blockchain game platform and other projects, and has accumulated rich experience in blockchain theories and practice.
* Zhongdan Wei, front-end architect, proficient in Flutter. As a leading member in Hellobike, he led the team to develop the Mobike Applications and makes it easy and fast to add flutter to existing mobile applications.
-
### Team Code Repos
-* https://github.com/Pocket4D/p4d-rust-binding (Will be renamed after proposal is accepted)
+* (Will be renamed after proposal is accepted)
### Team LinkedIn Profiles
None.
-## Development Roadmap :nut_and_bolt:
+## Development Roadmap :nut_and_bolt:
### Overview
@@ -173,10 +166,9 @@ None.
| 1 | documentations | Documentations for all packages |
| 2 | pub.dev | Publish to pub.dev for v1.0.0 |
-
### Community Engagement
-We are buiding our community on https://www.yuque.com/?language=en-us and newsletters will be regularly updated soon.
+We are buiding our community on and newsletters will be regularly updated soon.
## What has been done so far?
@@ -192,22 +184,25 @@ We are buiding our community on https://www.yuque.com/?language=en-us and newsle
| ☐ | 5 | network | Porting and implements `@polkadot/network` |
| ☑ | 6 | tests | Unit tests for deliverables above |
-
## Future Plans
### Maintainance
+
1. Keep following the upgrade of `Polkadot-JS` and `Substrate`, and supporting latest upgrades as soon as possible.
2. Seperate the rust/dart binding libs and other implementations to serveral packages, the native binding libs should be minimize and stable for long term, just like `@polkadot/wasm` does. And we should be focusing on upgrading the features.
### Products and ecosystems
-1. We have a plan of making a wallet app, using `Polkadot-Dart` as its main dependency, which has been communicated with many parachains, to prepare for linking into `Parachains` and lowering the threshold for users to use.
+
+1. We have a plan of making a wallet app, using `Polkadot-Dart` as its main dependency, which has been communicated with many parachains, to prepare for linking into `Parachains` and lowering the threshold for users to use.
2. We also have another substrate-based project called [Pocket4D](https://github.com/Pocket4D/), combining `Polkadot-Dart` and other components, we plan to build a new decentralized network. And `Polkadot-Dart` will be one of our client side core dependency.
3. The main purpose of this lib is to co-operate with ecosystem partners, especially `Parachains`, we need to build and test with them and fit their needs.
-
## Additional Information ➕
+
### Are there are any teams who have already contributed (financially) to the project?
+
No.
### Have you applied for other grants so far?
+
[Pocket4D](https://github.com/w3f/General-Grants-Program/pull/340)
diff --git a/applications/Polkadot_Web_UI.md b/applications/Polkadot_Web_UI.md
index 026735db5af..1447abbe970 100644
--- a/applications/Polkadot_Web_UI.md
+++ b/applications/Polkadot_Web_UI.md
@@ -1,5 +1,5 @@
-# Open Grant Proposal
-* **Project Name:** Polkadot UI Web Identicon + Angular Identicon
+# Polkadot UI Web Identicon + Angular Identicon
+
* **Team Name:** RidOne Technologies
* **Payment Address:** DAI 0xfA34F566bDDcA92Dc656310F08AC5aE64fC46456
## Project Overview
diff --git a/applications/Polkaholic.md b/applications/Polkaholic.md
index e7a49fc42a1..7a131866f1d 100644
--- a/applications/Polkaholic.md
+++ b/applications/Polkaholic.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Polkaholic.io's Multi-Chain Substrate Block Explorer
-- **Project Name:** Polkaholic.io's Multi-Chain Substrate Block Explorer
- **Team Name:** Colorful Notion
- **Payment Address:** Polkadot 13rTinCWgc38a2wZzme28dFbViQraCowTRjQqFLEWwdMTvFW
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
diff --git a/applications/Polkawatch.md b/applications/Polkawatch.md
index 3ad78603056..981f45c055e 100644
--- a/applications/Polkawatch.md
+++ b/applications/Polkawatch.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Polkawatch
-- **Project Name:** Polkawatch
- **Team Name:** Valletech AB
- **Payment Address:** 0xA39bD6af74f8c317F45137d2ED7F4e13176d916B (ETH/DAI)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
diff --git a/applications/Primis.md b/applications/Primis.md
index 6c70cedbe23..e3b5e733bcd 100644
--- a/applications/Primis.md
+++ b/applications/Primis.md
@@ -1,7 +1,5 @@
-# W3F Grant Proposal
+# Primis
-
-- **Project Name:** Primis
- **Team Name:** Primis
- **Payment Address:** 0x0Ad212E301AD590f4E70dA0c0Aa2912273cB4098 (USDC)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
@@ -10,26 +8,28 @@
## Project Overview
### Overview
+
Primis Desktop provides a one-stop Web3 integrated client for the Polkadot ecosystem.
### Primis Web3 Desktop for Polkadot
+
**Primis Wallet**
Primis Desktop Wallet is the best tool to manage multi-chain assets on the Polkadot ecosystem, such as Polkadot, Kusama, and other parachains. Asset management mainly includes digital/NFT assets checking, sending, receiving, and trading records on the Polkadot ecosystem.
**P2P Chat**
-Primis Desktop provides encrypted chat groups for Polkadot ecosystem users to discuss decentralized Gov2 governance and Proposal freely. ZK-Proof technology will be combined into Primis chat groups to offer more privacy and decentralized DAO governance space.
+Primis Desktop provides encrypted chat groups for Polkadot ecosystem users to discuss decentralized Gov2 governance and Proposal freely. ZK-Proof technology will be combined into Primis chat groups to offer more privacy and decentralized DAO governance space.
Primis Desktop could automatically create encrypted chat groups for Polkadot ecosystem DApps, each DApp has its own independent chat group.
- Channels For Chat
-
+
- P2P Chat
-
+
@@ -40,7 +40,7 @@ Primis Desktop also is a place for users to subscribe to Polkadot decentralized
**Primis Web3 PNS Browser**
-Primis Desktop will gestate a Chrome-compatible PNS browser for the Polkadot ecosystem, allowing Polkadot ecosystem users to access Web2 pages and interact with Web3 DApps freely. Primis Web3 PNS Browser supports Polkadot ecosystem PNS domains’ resolution and visit.
+Primis Desktop will gestate a Chrome-compatible PNS browser for the Polkadot ecosystem, allowing Polkadot ecosystem users to access Web2 pages and interact with Web3 DApps freely. Primis Web3 PNS Browser supports Polkadot ecosystem PNS domains’ resolution and visit.
Unlike traditional browsers such as Chrome, Brave, and Web2 centralized Cloud Service, Primis Web3 PNS Browser is based on a data relay network, where access and application data are transmitted to clients or Primis terminals through a relay network of Primis nodes.
@@ -57,7 +57,7 @@ All of our teammates truly believed in the Web3 Revolution! That's why we want t
### Tech Stack
-Supported Chains: Polkadot, Kusama, and other Parachains such as Acala, Astar, and Moonbeam.
+Supported Chains: Polkadot, Kusama, and other Parachains such as Acala, Astar, and Moonbeam.
Client language: Electron, React
@@ -74,6 +74,7 @@ Primis is the first blockchain project known as the web3 desktop. And we want to
## Team
### Team members
+
Primis team has rich experience in the fields of the public chain, infrastructure, and defi. Team members' info will be released after reviewing.
### Contact
@@ -84,7 +85,7 @@ Primis team has rich experience in the fields of the public chain, infrastructur
### Legal Structure
-- **Registered Address:** This info will be released after reviewing
+- **Registered Address:** This info will be released after reviewing
- **Registered Legal Entity:** Also, this info will be released after reviewing.
### Team's experience
@@ -98,13 +99,13 @@ Primis team has developed some blockchain projects, like [Metauce](metauce.org)
### Team LinkedIn Profiles (if available)
-This info will be released after reviewing
+This info will be released after reviewing
-## Development Status
+## Development Status
Primis Team already completed the designing work of Primis Desktop and started working on Milestone 1 Tech Tasks.
-## Development Roadmap
+## Development Roadmap
### Overview
@@ -134,10 +135,10 @@ Primis Team already completed the designing work of Primis Desktop and started w
Short-term: After finishing all milestones, the users' amount of Primis web3 desktop will be over 50K.
-Long-term: The most influenced Web3 desktop
+Long-term: The most influenced Web3 desktop
-## Additional Information
+## Additional Information
**How did you hear about the Grants Program?** Web3 Foundation Website
diff --git a/applications/QRUCIAL_DAO.md b/applications/QRUCIAL_DAO.md
index eb0a05c8f24..4e7f86b760d 100644
--- a/applications/QRUCIAL_DAO.md
+++ b/applications/QRUCIAL_DAO.md
@@ -1,10 +1,9 @@
-# W3F Grant Proposal
+# QRUCIAL DAO
> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed.
>
> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal.
-- **Project Name:** QRUCIAL DAO
- **Team Name:** QRUCIAL OÜ
- **Payment Address:** BTC - bc1qysscajxdstqzpe3x9x4ftr3y6l5gelggtk8a8g
- **Level:** 2
@@ -33,23 +32,26 @@ We are the first connecting defensive as well as offensive security tool executi
- Core components include Substrate, QRUCIAL DAO runtime, pallets and the ExoGlue.
- PoC can be found in the reference QRUCIAL DAO repository below.
-- What your project is _not_ or will _not_ provide or implement
+- What your project is *not* or will *not* provide or implement
- We won't solve business questions here, though we think our idea fill fit into the Polkadot/Kusama ecosystem.
- This project won't save all the smart contracts or render manual auditors/hackers useless. Quite the opposite, by providing proven execution, we want to provide work to the manual workers who verify and validate vulnerabilities.
- Main programming languages to be used: Rust, Python and JavaScript (for frontend)
-
+
#### What is ExoSys?
+
ExoSys is the system that schedules audit requests and handles ExoTool connections. It is implemented as a combination of a pallet and a daemon, running on the same system as the blockchain node.
ExoSys is also responsible for issuing the Non-Transferrable NFTs and keeps a track record of audit hashes and meta data.
#### What is ExoTool?
+
Selected set of security auditor tools, packaged and adapted to be executed by the request of ExoSys.
#### What is AuditorRep?
+
Élő's assumption is that the performance of an auditor in each audit is a random variable following a normal distributed bell curve over time.
An auditor might perform significantly better or worse from one audit to the next.
Using Élő their mean skill level would remain the same.
@@ -59,14 +61,16 @@ If additional vulnerabilities are found or false positives are removed, the cha
The increase and decrease of every individual auditor is relative to the Élő score of the original auditor and the one re-auditing a project.
High ranked auditor wins:
+
- few points are transferred from the low ranked auditor to the higher rated one.
Low rated auditor wins:
-- a lot of points are transferred from the higher rated auditor to the low rated one.
+
+- a lot of points are transferred from the higher rated auditor to the low rated one.
#### What is the CCTF talent pool?
-CCTF provides a proven track record of hackers solving challenges and based on their reputation, they are awarded as manual auditors in the QDAO ecosystem.
+CCTF provides a proven track record of hackers solving challenges and based on their reputation, they are awarded as manual auditors in the QDAO ecosystem.
### Ecosystem Fit
@@ -113,19 +117,18 @@ Silur is working at the Hungarian Academy of Sciences (MTA) as cryptographer, wa
knockoff is linux system administrator and junior rust developer.
-
### Team Code Repos
-- https://github.com/Qrucial/QRUCIAL-DAO
-- https://github.com/Qrucial/Hacking_Substrate_with_Chaos_Pallet
-- https://github.com/Qrucial/SafuDot
-- https://github.com/Qrucial/QRUCIAL_Audits
+-
+-
+-
+-
Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.
-- https://github.com/smilingSix
-- https://github.com/wigy-opensource-developer
-- https://github.com/Silur
+-
+-
+-
### Team LinkedIn Profiles (if available)
@@ -139,7 +142,6 @@ We have started the development already, details can be found under this reposit
The PoC is working, and we want to move forward in developing a live testnet version.
-
## Development Roadmap :nut_and_bolt:
### Overview
@@ -160,7 +162,7 @@ The PoC is working, and we want to move forward in developing a live testnet ver
| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. |
| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
-| 1. | Substrate runtime | The runtime config and compilable code for QRUCIAL DAO. |
+| 1. | Substrate runtime | The runtime config and compilable code for QRUCIAL DAO. |
| 2. | Substrate pallet: ExoSys | Core system that handles the extrinsics that request ExoTool execution. |
| 3. | Substrate pallet: AuditorRep | Reputation system for the manual auditors who verify the output recorded by ExoSys. |
| 4. | Substrate report storage | Includes the tools exogenous to the Substrate system, it is connected through the glue/proxy. |
@@ -184,7 +186,6 @@ The PoC is working, and we want to move forward in developing a live testnet ver
| 3. | ExoTool - CCA | Implement [Clippy](https://github.com/rust-lang/rust-clippy) and [Cargo Audit](https://docs.rs/cargo-audit/0.15.1/cargo_audit/) as an exotool package for ink!/WASM smart contract audits. |
| 4. | ExoTool - Octopus | Implement [Octopus](https://github.com/pventuzelo/octopus) as an exotool for bytecodes (WASM and Solidity) |
-
## Future Plans
- In the short term, we'd like to have the grant, so development goes faster. QRUCIAL as a company will keep funding the project until it becomes self-sustaining (meaning, the governance system keeps the DAO running on its own).
@@ -192,7 +193,6 @@ The PoC is working, and we want to move forward in developing a live testnet ver
- Elfz'n'Trollz is a marketing partner, so we don't just develop a DAO, but also make it usable and visually acceptable to all audiences.
- After final milestone, we will start building a larger community for QRUCIAL DAO and improve our partnership with CCTF.
-
## Additional Information :heavy_plus_sign:
**How did you hear about the Grants Program?** Personal recommendation from Achim Schneider and Jonan.
diff --git a/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md
index 6c913859d4b..323a1254213 100644
--- a/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md
+++ b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# QSTN
-- **Project Name:** QSTN
- **Team Name:** QSTN
- **Payment Address:** ETH - 0x7056A5Da7D269B31Eb2E54E5579e41ef283d7D2C
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1
diff --git a/applications/RainbowDAO Protocol ink! Phase 1.md b/applications/RainbowDAO Protocol ink Phase 1.md
similarity index 99%
rename from applications/RainbowDAO Protocol ink! Phase 1.md
rename to applications/RainbowDAO Protocol ink Phase 1.md
index 839da170a90..b0561630cec 100644
--- a/applications/RainbowDAO Protocol ink! Phase 1.md
+++ b/applications/RainbowDAO Protocol ink Phase 1.md
@@ -1,8 +1,5 @@
-# W3F Grant Proposal
+# RainbowDAO Protocol ink! Phase 1
-
-
-- **Project Name:** RainbowDAO Protocol ink! Phase 1
- **Team Name:** Rainbowcity Foundation
- **Payment Address:** 0xC2dA4D5813978BbC43d81e905dE6C98767526EdF (DAI)
- **[Level]** 2
diff --git a/applications/RareLink.md b/applications/RareLink.md
index 4375f026385..87d3e050a10 100644
--- a/applications/RareLink.md
+++ b/applications/RareLink.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# RareLink Protocol
-* **Project:** RareLink Protocol
* **Proposer:** 0x522359
* **Payment Address:** 3Ah1QWfs9oEPdhRDYkWPSJYf5yKa7NLcSF
* **Status:** [Terminated](https://github.com/w3f/Open-Grants-Program/pull/86#issuecomment-874241559)
diff --git a/applications/RedStone Network.md b/applications/RedStone Network.md
index e8fd6372698..f6934258d2c 100644
--- a/applications/RedStone Network.md
+++ b/applications/RedStone Network.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Redstone Network
-- **Project Name:** Redstone Network
- **Team Name:** Redstone Network
- **Payment Address:** 0x24cfc36f699dacc5cb652630ddd894a8df658233 (Ethereum ERC20 USDT)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
@@ -20,11 +19,14 @@ We will work with parallel chains in Polkadot/Kusama to build and deploy the fir
For the transaction firewall functionality, Redstone Network will build a set of on-chain/off-chain trigger components and their implementations. In general, users will not be aware of the firewall's operation, and the firewall will truthfully notify users of potential security risks when there are triggered alarms on the chain.
#### Passive defense and active alarms
-* We build a series of stateless atomic trigger components, including on-chain triggers (quantity trigger, time trigger, price trigger), off-chain triggers (mail trigger, discord trigger, slack trigger) and off-chain message interaction components, which are responsible for actively obtaining external information or pushing messages to a specified server.;
-* Analyze transaction characteristics and behavior, design transaction protocol analyze the transaction characteristics and behavior, design the transaction protocol, check whether the basic information and check information of the transaction match through protocol parsing, and initially determine the validity of the transaction;
-* according to the trigger and the transaction protocol, with the idea of social recovery and multiple signatures, formulate different security level trigger policies for users, including power grabbing mechanism, freezing mechanism and alarm mechanism.
+
+- We build a series of stateless atomic trigger components, including on-chain triggers (quantity trigger, time trigger, price trigger), off-chain triggers (mail trigger, discord trigger, slack trigger) and off-chain message interaction components, which are responsible for actively obtaining external information or pushing messages to a specified server.;
+
+- Analyze transaction characteristics and behavior, design transaction protocol analyze the transaction characteristics and behavior, design the transaction protocol, check whether the basic information and check information of the transaction match through protocol parsing, and initially determine the validity of the transaction;
+- according to the trigger and the transaction protocol, with the idea of social recovery and multiple signatures, formulate different security level trigger policies for users, including power grabbing mechanism, freezing mechanism and alarm mechanism.
#### Intelligent termination of transactions with evil address monitoring
+
The user-configured security scheme can effectively defend against known security problems, but not against unknown or unconfigured behaviors. By analyzing the transaction data recorded in the database under the chain, the transactions are analyzed according to the dimensions of transaction time, transaction frequency, transaction address, transaction direction, and transaction amount, and if the transaction behavior is different from the daily behavior, the meltdown mechanism will be triggered and alarmed; receiving the supervision instruction from a chain, the address that is doing evil and the derived address will be dynamically analyzed and the transaction meltdown mechanism will be triggered.
For the application scenario of transaction firewall, it is mainly divided into token assets and NFT assets. Users can choose the type of asset that needs to be configured with the firewall, either for a certain token, or to protect the account that issues NFT assets.
@@ -32,56 +34,66 @@ For the application scenario of transaction firewall, it is mainly divided into
In addition, the transaction firewall feature is not dependent on any application, any architecture and any address type restrictions, making it flexible to handle a variety of new attack methods that are known or have not yet emerged in the future, as it aims to study the security of A to B transfers.
**Technology stack**
-* Rust: Develop on-chain trigger/defense/alert modules
-* Go/Python: Develop off-chain analysis/trace/alarm modules
+
+- Rust: Develop on-chain trigger/defense/alert modules
+- Go/Python: Develop off-chain analysis/trace/alarm modules
### Ecosystem Fit
+
This project will be developed, deployed and run based on the Substrate framework. Unlike other trigger projects, with the advanced features of OCW, we are able to provide users with an advanced on-chain alert push mechanism, which will help shorten the time for users to get critical information. At the same time, rooted in Polkadot/Kasuma ecology, as a parallel chain, the trigger interface on it will provide additional application features for all parallel chains, and with the help of relay chains, it can facilitate unique transaction defense capabilities for other parachains. We note that we are entering a completely new area that will provide an unprecedented protection experience for the blockchain space once our project is in actual operation.
## Team :busts_in_silhouette:
### Team members
-- Bin Guo
-- Li Smith
-- yiwei Shi
-- Leon
+- Bin Guo
+- Li Smith
+- yiwei Shi
+- Leon
### Contact
-- **Contact Name:** Bin Guo
-- **Contact Email:** bin.guo@deeper.network
+- **Contact Name:** Bin Guo
+- **Contact Email:** bin.guo@deeper.network
### Legal Structure
+
(we are in the process of registering the legal entity)
-- **Registered Address:** N/A
-- **Registered Legal Entity:** N/A
+
+- **Registered Address:** N/A
+- **Registered Legal Entity:** N/A
### Team's experience
**Bin Guo**
+
- Over 9 years of experience in software development and project management, engaged in work related to blockchain and big data, and worked in a core research institution of State Grid (Fortune 500).
- Polkadot senior ambassador, Substrate Evangelist, and early participants in the Polkadot ecosystem.
- Github: https://github.com/AmadeusGB
- Email: amadeusgb123@gmail.com
**Smith Li**
+
- Over 9 years of working experience in various aspects of computer programming.
- Worked in the blockchain industry for 3+ years, a blockchain development engineer, familiar with polkadot, bitshares, fabric, etc.
- Hackathon winner as a team tech leader: Winners of Polkadot Hackathon 2022.
- github: https://github.com/baidang201
**yiwei Shi**
+
- Art and management background, worked for Hearst, MSN, responsible for market and product, more than one year of blockchain development experience, familiar with computer science, cryptography and different economic mechanisms, good at Go and Rust development。Hackathon winner as a team member: Winners of Polkadot Hackathon 2022
- Github : https://github.com/shiyivei
- Email : shiyivei@outlook.com
**leon**
+
- Over 7 years of working experience in web development experience ande more than one year of blockchain development experience, familiar with FrontEnd, good at Js,Ts and Rust development.Hackathon winner as a team member: Winners of Polkadot Hackathon 2022
- github: https://github.com/walle233
### Team Code Repos
+
We have forked substrate-template repository code to implement on-chain triggers (quantity triggers, time triggers, price triggers) and off-chain triggers (email triggers, slack triggers) with the help of decentralized off-chain communication components, in addition, we have implemented a simple oracle machine。
+
- [difttt-node](https://github.com/difttt/difttt-node)
- [evm-proxy](https://github.com/difttt/evm-proxy)
- [slack-notify](https://github.com/difttt/slack-notify)
@@ -89,6 +101,7 @@ We have forked substrate-template repository code to implement on-chain triggers
- [frontend](https://github.com/difttt/frontend)
## Development Roadmap :nut_and_bolt:
+
### Overview
- **Total Estimated Duration:** 3 months
@@ -108,8 +121,8 @@ We have forked substrate-template repository code to implement on-chain triggers
| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** to explain the concept, design and implementation of the design in Grant and how to use these features in the blockchain)
-| 1. | Passive_Defense Pallet | We will provide users with stateless and application-independent protective features, and this module will be implemented through Substrate Pallet:
**transaction limit configuration**: configure in advance the limit of transferring a transaction amount and limit the frequency of transactions within a specified time; protect users from suffering significant losses for a short period of time when their private keys are stolen.
**Freezing configuration**: advance configuration of freezing transaction time, freezing transaction type, and whether the freezing command can be withdrawn; when the user realizes that the private key has been stolen, the freezing operation will be triggered immediately to help the user further reduce losses.
**Capture account authority configuration**: configure in advance N friend addresses and M for friend operations to take effect; when the user realizes the private key has been stolen, let the account freeze first and contact their friends as soon as possible. When more than M friends vote to pass, the authority of the stolen account will be taken over and any transaction will be executed only after N friends vote. This way even if the hacker steals the private key, he will not be able to transfer money effectively. |
-| 2. | Active_Alarming Pallet | We will provide users with on-chain and off-chain alerting functions. This module will be implemented through Substrate Pallet:
**On-chain alarm configuration**: Any transaction that exceeds the limit will send an alarm event; for example, the user can configure that when N transactions exceeding the limit amount occur within a period of time, an off-chain alarm notification will be triggered; the user can configure, a period of Within a certain time, different times will trigger different alarm methods.
**Off-chain triggering alarms**: Provide users with three off-chain notification methods: Mail, Slack, and Discord. For example, general alarms are sent to Mail, important alarms are sent to Slack, and critical alarms are sent to Discord to achieve hierarchical management of alarms. |
+| 1. | Passive_Defense Pallet | We will provide users with stateless and application-independent protective features, and this module will be implemented through Substrate Pallet:
**transaction limit configuration**: configure in advance the limit of transferring a transaction amount and limit the frequency of transactions within a specified time; protect users from suffering significant losses for a short period of time when their private keys are stolen.
**Freezing configuration**: advance configuration of freezing transaction time, freezing transaction type, and whether the freezing command can be withdrawn; when the user realizes that the private key has been stolen, the freezing operation will be triggered immediately to help the user further reduce losses.
**Capture account authority configuration**: configure in advance N friend addresses and M for friend operations to take effect; when the user realizes the private key has been stolen, let the account freeze first and contact their friends as soon as possible. When more than M friends vote to pass, the authority of the stolen account will be taken over and any transaction will be executed only after N friends vote. This way even if the hacker steals the private key, he will not be able to transfer money effectively. |
+| 2. | Active_Alarming Pallet | We will provide users with on-chain and off-chain alerting functions. This module will be implemented through Substrate Pallet:
**On-chain alarm configuration**: Any transaction that exceeds the limit will send an alarm event; for example, the user can configure that when N transactions exceeding the limit amount occur within a period of time, an off-chain alarm notification will be triggered; the user can configure, a period of Within a certain time, different times will trigger different alarm methods.
**Off-chain triggering alarms**: Provide users with three off-chain notification methods: Mail, Slack, and Discord. For example, general alarms are sent to Mail, important alarms are sent to Slack, and critical alarms are sent to Discord to achieve hierarchical management of alarms. |
### Milestone 2 Example — Intelligent meltdown mechanism, including abnormal trading meltdown, evil trading meltdown
@@ -126,19 +139,20 @@ We have forked substrate-template repository code to implement on-chain triggers
| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** explaining the concept, design and implementation of smart meltdowns and how to use these features in the blockchain)
-| 1. | Analyzer Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language:
Users can choose whether to enable the off-chain transaction analysis function. The module records and analyzes user transaction characteristics based on a counter, and uploads to the blockchain when abnormal results emerge from the analysis. When a potentially abnormal transaction occurs, the user can choose, based on advance configuration, whether the module simply alerts when an abnormal transaction is reported, or freezes the account until the user comes to deal with the problem on their own. In this case, the hacker does not trigger any on-chain restrictions, only the off-chain transaction analysis detects the anomaly |
-| 2. | Tracker Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language.
This module implements the function of tracking the transaction records of a certain address at a certain time period, helping users to assist in analyzing the loss of the current address from the hacking attack, as well as analyzing the chain through which the hacker transferred the funds. |
+| 1. | Analyzer Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language:
Users can choose whether to enable the off-chain transaction analysis function. The module records and analyzes user transaction characteristics based on a counter, and uploads to the blockchain when abnormal results emerge from the analysis. When a potentially abnormal transaction occurs, the user can choose, based on advance configuration, whether the module simply alerts when an abnormal transaction is reported, or freezes the account until the user comes to deal with the problem on their own. In this case, the hacker does not trigger any on-chain restrictions, only the off-chain transaction analysis detects the anomaly |
+| 2. | Tracker Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language.
This module implements the function of tracking the transaction records of a certain address at a certain time period, helping users to assist in analyzing the loss of the current address from the hacking attack, as well as analyzing the chain through which the hacker transferred the funds. |
## Future Plans
Conceptualizing the application with the trigger concept, implementing the transaction firewall first, and refining our design based on user feedback.
Implementation steps.
-* develop on-chain/off-chain triggers for firewall requirements.
-* refining the firewall design based on user feedback.
-* implementing cross-chain transactions and providing transaction protection for cross-chain links.
-* configure different levels of defense strategies based on implementation experience.
+
+- develop on-chain/off-chain triggers for firewall requirements.
+- refining the firewall design based on user feedback.
+- implementing cross-chain transactions and providing transaction protection for cross-chain links.
+- configure different levels of defense strategies based on implementation experience.
## Additional Information :heavy_plus_sign:
-**How did you hear about the Grants Program?**
+**How did you hear about the Grants Program?**
How did you hear about the Grants Program? We heard about the Grants Program from the Web 3 Foundation Website, as well as personal recommendations from Polkadot community members.
diff --git a/applications/Relation-Graph.md b/applications/Relation-Graph.md
index 861c86e285a..083b9f997ee 100644
--- a/applications/Relation-Graph.md
+++ b/applications/Relation-Graph.md
@@ -1,25 +1,23 @@
-# W3F Grant Proposal
+# Relation Graph
> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed.
>
> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal.
-- **Project Name:** Relation Graph
+
- **Team Name:** Relationlabs
- **Payment Address:** 0x9fE784bD844C6c7eB7a570467937e6005eEd1C4C Ethereum (USDT/DAI)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/569#issuecomment-1299292773)
-
-## Project Overview :page_facing_up:
+## Project Overview :page_facing_up
### Overview
+
`Relation Graph` is a substrate pallet that allows anyone to use GraphDB in [Substrate platform](https://substrate.io/).
`Relation Graph` provides organizations with ready-to-use GraphDB service for successfully running Dapps on the Substrate. using `Relation Graph` Dapps builders can focus on bussiness logic by removing the complexities of Substrate.
-
### Project Details
-
**Relation Graph**
`Relation Graph` is a substrate pallet that allows anyone to use GraphDB in [Substrate platform](https://substrate.io/).
@@ -29,9 +27,9 @@
3、sparql as blockchain.
It supports the following specifications:
-* [SPARQL 1.1 Query](https://www.w3.org/TR/sparql11-query/), [SPARQL 1.1 Update](https://www.w3.org/TR/sparql11-update/), and [SPARQL 1.1 Federated Query](https://www.w3.org/TR/sparql11-federated-query/).
-* [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), and [N-Quads](https://www.w3.org/TR/n-quads/).
-* [SPARQL 1.1 Query Results JSON Format](https://www.w3.org/TR/sparql11-results-json/) and [SPARQL 1.1 Query Results CSV and TSV Formats](https://www.w3.org/TR/sparql11-results-csv-tsv/).
+- [SPARQL 1.1 Query](https://www.w3.org/TR/sparql11-query/), [SPARQL 1.1 Update](https://www.w3.org/TR/sparql11-update/), and [SPARQL 1.1 Federated Query](https://www.w3.org/TR/sparql11-federated-query/).
+- [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), and [N-Quads](https://www.w3.org/TR/n-quads/).
+- [SPARQL 1.1 Query Results JSON Format](https://www.w3.org/TR/sparql11-results-json/) and [SPARQL 1.1 Query Results CSV and TSV Formats](https://www.w3.org/TR/sparql11-results-csv-tsv/).
![arch.png](https://user-images.githubusercontent.com/91399393/165587783-c55954fe-6d72-4702-95d9-75a4521e980d.png)
@@ -60,7 +58,7 @@ INSERT DATA
- Update Data
-Changes to existing triples are performed as a delete operation followed by an insert operation in a single update request.
+Changes to existing triples are performed as a delete operation followed by an insert operation in a single update request.
The specification refers to this as `DELETE/INSERT`
Sample SPARQL: update age to `36` for person `P001`
@@ -84,6 +82,7 @@ DELETE WHERE
:P001 ?p ?o .
}
```
+
Sample SPARQL: delete partial properties of person `P001`
```sparql
@@ -93,6 +92,7 @@ DELETE WHERE
:name ?name .
}
```
+
2. SPARQL Query
Call RPC `sparql_query` with SPARQL for `query` operations.
@@ -103,7 +103,6 @@ curl -H "Content-Type: application/json" \
http://localhost:9933
```
-
### Ecosystem Fit
- Relation graph can effectively reduces the development threshold of building Web3 decentralized applications which contains large data.
@@ -123,7 +122,7 @@ curl -H "Content-Type: application/json" \
- **Contact Name:** Joe Guo
- **Contact Email:** pikajoe@relationlabs.ai
-- **Website:** https://relationlabs.ai/
+- **Website:**
### Legal Structure
@@ -132,7 +131,7 @@ curl -H "Content-Type: application/json" \
### Team's experience
-- Jessica Chang Founder
+- Jessica Chang Founder
Crypto and commodity trader
@@ -150,40 +149,38 @@ Led team of 200+ members AsiaInfo, HP, AWS
- Santry Huang CMO
-Former CMO at Patract Labs
+Former CMO at Patract Labs
9+ years of marketing and operation and experience
- Ben Zhang Chief Software Architect
-former core development engineer of IBM, AWS and other companies,
+former core development engineer of IBM, AWS and other companies,
10+ years of back-end development experience, Problem solving Bigdata
- Joe Guo CPO
-former product leader of top blockchain companies,
+former product leader of top blockchain companies,
6+ years of project experience in finance, logistics, social networking, games products
### Team Code Repos
-- https://github.com/relationlabs
-- https://github.com/gembin
-- https://github.com/bbo268
+-
+-
+-
### Team LinkedIn Profiles (if available)
-- Jessica Chang, Founder, https://www.linkedin.com/in/jessica-chang-a63313235/
-- Santry Huang, CMO, https://www.linkedin.com/in/santryhuang/
-- Yann, CTO, https://www.linkedin.com/in/yann-ren-361b91235/
-- Joe,CPO,https://www.linkedin.com/in/joe-guo-783780ab/
+- Jessica Chang, Founder,
+- Santry Huang, CMO,
+- Yann, CTO,
+- Joe,CPO,
## Development Status :open_book:
-
-- We have finished a version on Internet computer.It is a graph database written in Rust and deployed on WASM.Ereryone can try it here(https://kziov-eaaaa-aaaag-aaaxa-cai.ic0.app/ic_graph_developer.html).
-
+- We have finished a version on Internet computer.It is a graph database written in Rust and deployed on WASM.Ereryone can try it here().
## Development Roadmap :nut_and_bolt:
@@ -191,7 +188,6 @@ former product leader of top blockchain companies,
- **Full-Time Equivalent (FTE):** 2 FTE
- **Total Costs:** 30,000 USD
-
### Milestone 1 — Relation Graph deploy as pallet,contains insert,query,delete and update
- **Estimated duration:** 1 month
@@ -204,7 +200,6 @@ former product leader of top blockchain companies,
| 0b. | Documentation | We will provide inline documentation and a tutorial of use and deploy pallet |
| 0c. | Testing Guide | We will add unit tests to cover all basic logic.|
| 1. | wasm package | We will create a wasm package that can deployed as pallet,contains insert,query,delete and update|
-
### Milestone 2— Expand the basic functions of database,contains ACL,OGM and subgraph
@@ -238,6 +233,3 @@ former product leader of top blockchain companies,
## Future Plans
- Based on Relation Graph, we intend to provide a Web3 social DAPP build on substrate.
-
-
-
diff --git a/applications/Roloi.md b/applications/Roloi.md
index 4afa0517cb0..0d179f2fc01 100644
--- a/applications/Roloi.md
+++ b/applications/Roloi.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Roloi
-- **Project Name:** Roloi
- **Team Name:** NeoPower
- **Payment Address:** 0x1f5CE2eDdaAAe75ff62729feE50F861bCDC0b62e (ETH Network -> **USDT**)
- **Level:** 2
diff --git a/applications/RubeusKeeper.md b/applications/RubeusKeeper.md
index 7640d19e6d9..41b8a9fec6f 100644
--- a/applications/RubeusKeeper.md
+++ b/applications/RubeusKeeper.md
@@ -1,6 +1,5 @@
-# W3F Grant Proposal
+# Rubeus Keeper
-- **Project Name:** Rubeus Keeper
- **Team Name:** Bela Supernova
- **Payment Address:** 0xC0d28794eA40Ce9b9F4B62a1B2Bb42FD34b7d305 (USDT)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
diff --git a/applications/RubyProtocol.md b/applications/RubyProtocol.md
index f3a9dc46cd7..688cb1f33ab 100644
--- a/applications/RubyProtocol.md
+++ b/applications/RubyProtocol.md
@@ -1,57 +1,59 @@
-# Ruby Protocol - Open Grants Program
+# Ruby Protocol
-
-* **Project:** Ruby Protocol
-* **Proposer:** Ruby Protocol
-* **Payment Address:** 0x5aBBe7b65c572b9f5Cc7655Ba4a1Acad0e892720
+- **Proposer:** Ruby Protocol
+- **Payment Address:** 0x5aBBe7b65c572b9f5Cc7655Ba4a1Acad0e892720
## Project Overview :page_facing_up:
+
### Overview
+
#### Introduction
This project will design and implement a fine-grained personal data monetization framework, which would serve as a second-layer/middleware protocol interacting with the substrate module. The framework will enable a data owner to enforce a fine-grained access control policy over his/her encrypted private data using functional encryption, and share predefined computation results over the private data with a data purchaser in exchange for economic compensation. The access control policy will be built into the substrate module, and the data monetization transaction will also execute via substrate module, which is why this solution is defined as a second-layer/middleware protocol.
### Project Details
+
#### Project Architecture
-Functional encryption was originally proposed as a fine-grained access control mechanism over encrypted data [GPSW06]. A data owner encrypts a message `x` to generate ciphertext, which could be stored in an untrusted cloud server. The project might pay for the hosting expenses initially to jump-start the project, but we will gradually transfer the cost to the data owner since it would make sense for them to pay for their data monetization business. A data purchaser might wish to compute a function `f` over the encrypted message. With the consent of the data owner, a data purchaser would receive a secret key `sk_f` from a key distributor. The data purchaser can then use the private key `sk_f` to decrypt the ciphertext to compute `f(x)`. Note the data purchaser cannot retrieve any other information on the underlying message except the final decryption result `f(x)`. To prevent the data owner from accepting payment and then immediately removing their data from the cloud before the data purchaser receives the data, the data purchaser needs to retrieve the encrypted data before paying the owner.
+Functional encryption was originally proposed as a fine-grained access control mechanism over encrypted data [GPSW06]. A data owner encrypts a message `x` to generate ciphertext, which could be stored in an untrusted cloud server. The project might pay for the hosting expenses initially to jump-start the project, but we will gradually transfer the cost to the data owner since it would make sense for them to pay for their data monetization business. A data purchaser might wish to compute a function `f` over the encrypted message. With the consent of the data owner, a data purchaser would receive a secret key `sk_f` from a key distributor. The data purchaser can then use the private key `sk_f` to decrypt the ciphertext to compute `f(x)`. Note the data purchaser cannot retrieve any other information on the underlying message except the final decryption result `f(x)`. To prevent the data owner from accepting payment and then immediately removing their data from the cloud before the data purchaser receives the data, the data purchaser needs to retrieve the encrypted data before paying the owner.
Here is a more concrete example for functional encryption: the message here could be the user’s genomic data, and `f` could be a statistical analysis algorithm. The data purchaser could be a research institute intended to perform private statistical analysis over one’s genomic data. The secret key might be generated by the hospital that collects the users' genomic data or the data owner themselves. At the end of this transaction, the data owner will receive economic compensation for one's contribution to the computation result while the data purchaser will receive the statistical analysis results. In other cases, the data could also be one’s social network data and the function could be an analytics algorithm for online advertisement. We envision the monetary exchange between the data owner and purchaser will be executed as a substrate module.
This project will implement a second-layer/middleware protocol running on Polkadot that enables individuals to monetize their private data in a fine-grained fashion. The delivery will include:
-* A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption.
-* A substrate module that implements the encryption of the cryptographic keys of the functional encryption scheme and the associated zero-knowledge proof for its legitimacy.
-* A micropayment scheme running on the Polkadot blockchain can allow individual users to monetize their data.
-Here are the basic principles behind the overall architecture design of the fine-grained personal data monetization framework. We aim to keep the workload of the data owner minimum. This implies the online time of the data owner should be kept to a minimum. The optimal case would be the data owner is left alone after he generates and uploads the ciphertext. Ideally, the encryption workload of the data owner should also be kept as minimal as possible. The following scheme can be viewed as a generalization of the knowledge monetization scheme proposed in [TZLHJS2017].
+- A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption.
+- A substrate module that implements the encryption of the cryptographic keys of the functional encryption scheme and the associated zero-knowledge proof for its legitimacy.
+- A micropayment scheme running on the Polkadot blockchain can allow individual users to monetize their data.
-The general idea is shown in Fig. 1. A functional encryption scheme usually consists of four algorithms:`FE.Setup(1^\lambda)`, `FE.KeyGen(msk, f)`, `FE.Enc(mpk, x)` and `FE.Decrypt(Key_f, FE.Enc(mpk, x))`. At the beginning of the system, the key distributors run the `FE.Setup(1^\lambda)` algorithm to generate the master public key `mpk` and master secret key `msk`. Here `\lambda` denotes the security parameter. When a data owner wishes to sell his data, he encrypts his data `x` by running the `FE.Enc(mpk, x)` algorithm and uploads the output ciphertext `Enc(x)` to the untrusted cloud. He then specifies the pricing model with respect to different functions `f`’s in a substrate module SC, and posts it to the Polkadot blockchain. When a data purchaser intends to calculate `f(x)`, he will first generate a commitment of an appropriate amount of coin based on the pricing of the function `f` and his own public key `PK_P` as a transaction to call the module SC.
+Here are the basic principles behind the overall architecture design of the fine-grained personal data monetization framework. We aim to keep the workload of the data owner minimum. This implies the online time of the data owner should be kept to a minimum. The optimal case would be the data owner is left alone after he generates and uploads the ciphertext. Ideally, the encryption workload of the data owner should also be kept as minimal as possible. The following scheme can be viewed as a generalization of the knowledge monetization scheme proposed in [TZLHJS2017].
+
+The general idea is shown in Fig. 1. A functional encryption scheme usually consists of four algorithms:`FE.Setup(1^\lambda)`, `FE.KeyGen(msk, f)`, `FE.Enc(mpk, x)` and `FE.Decrypt(Key_f, FE.Enc(mpk, x))`. At the beginning of the system, the key distributors run the `FE.Setup(1^\lambda)` algorithm to generate the master public key `mpk` and master secret key `msk`. Here `\lambda` denotes the security parameter. When a data owner wishes to sell his data, he encrypts his data `x` by running the `FE.Enc(mpk, x)` algorithm and uploads the output ciphertext `Enc(x)` to the untrusted cloud. He then specifies the pricing model with respect to different functions `f`’s in a substrate module SC, and posts it to the Polkadot blockchain. When a data purchaser intends to calculate `f(x)`, he will first generate a commitment of an appropriate amount of coin based on the pricing of the function `f` and his own public key `PK_P` as a transaction to call the module SC.
-
+
-The substrate module should return a receipt to the data purchaser, who will in turn present it to the key distributor. The key distributor, after verifying the receipt and the respective coin commitment, runs the `FE.KeyGen(msk, f)` algorithm to generate the function key `Key_f` for the data purchaser.
+The substrate module should return a receipt to the data purchaser, who will in turn present it to the key distributor. The key distributor, after verifying the receipt and the respective coin commitment, runs the `FE.KeyGen(msk, f)` algorithm to generate the function key `Key_f` for the data purchaser.
-Simultaneously, the distributor will send SC the encryption of `Key_f` under the data purchaser’s public key `PK_P`, denoted as `Enc_(PK_P)(Key_f)` and an associated zero-knowledge proof proving `Key_f` is indeed a well-formed function key corresponding to `f`. SC with the inputs from both the key distributor and data purchaser is then verified by the Polkadot blockchain. Once the verification for both sides passes, meaning the amount of the committed coin is sufficient to pay for the decryption result `f(x)` and the gas fee, and the associated zero-knowledge proof is correct, the payment will be released to the data owner. The data purchaser can then download the ciphertext and decrypt `f(x)` by running the `FE.Decrypt(Key_f, FE.Enc(mpk, x))` algorithm.
+Simultaneously, the distributor will send SC the encryption of `Key_f` under the data purchaser’s public key `PK_P`, denoted as `Enc_(PK_P)(Key_f)` and an associated zero-knowledge proof proving `Key_f` is indeed a well-formed function key corresponding to `f`. SC with the inputs from both the key distributor and data purchaser is then verified by the Polkadot blockchain. Once the verification for both sides passes, meaning the amount of the committed coin is sufficient to pay for the decryption result `f(x)` and the gas fee, and the associated zero-knowledge proof is correct, the payment will be released to the data owner. The data purchaser can then download the ciphertext and decrypt `f(x)` by running the `FE.Decrypt(Key_f, FE.Enc(mpk, x))` algorithm.
-Note once the verification of SC is passed, SC will execute and payment is released to the data owner instantaneously. To ensure fairness towards the data purchaser, the data owner should provide verifiable evidence to prove his data source. `FE.Enc(x)` is accompanied by a certified signature `Sig_D(FE.Enc(x))` to prove the data is coming from the right source and thus the data quality can be guaranteed. Here D denotes the private key of the data source. The data source could charge an extra service fee from the data owner when the data owner first meets the data source (goes to the hospital and does the test in the genomic computation example) and decides to join the monetization program. We note even though the data source (the hospital in the genomic computation example) is the one that produces the data, it doesn't necessarily mean that it owns the patients' data. For instance, according to [this report](https://www.forbes.com/sites/forbestechcouncil/2018/04/23/who-really-owns-your-health-data/?sh=1499f91d6d62), some states in the US explicitly give patients ownership of their health data. In other words, only the patient can dictate how the data should be monetized. Although it might be tempting to let the data source be representative of the data owners and handle the monetization of their private data, it would both go against both the law and the ethos of the project, which is to put the control of one's data back in the hands of the owner.
+Note once the verification of SC is passed, SC will execute and payment is released to the data owner instantaneously. To ensure fairness towards the data purchaser, the data owner should provide verifiable evidence to prove his data source. `FE.Enc(x)` is accompanied by a certified signature `Sig_D(FE.Enc(x))` to prove the data is coming from the right source and thus the data quality can be guaranteed. Here D denotes the private key of the data source. The data source could charge an extra service fee from the data owner when the data owner first meets the data source (goes to the hospital and does the test in the genomic computation example) and decides to join the monetization program. We note even though the data source (the hospital in the genomic computation example) is the one that produces the data, it doesn't necessarily mean that it owns the patients' data. For instance, according to [this report](https://www.forbes.com/sites/forbestechcouncil/2018/04/23/who-really-owns-your-health-data/?sh=1499f91d6d62), some states in the US explicitly give patients ownership of their health data. In other words, only the patient can dictate how the data should be monetized. Although it might be tempting to let the data source be representative of the data owners and handle the monetization of their private data, it would both go against both the law and the ethos of the project, which is to put the control of one's data back in the hands of the owner.
-The design of the underlying functional encryption scheme, where the private key should correspond to the function chosen by the data purchaser. Since the encryption of the private key should be presented as evidence (as shown in Fig. 1) and verified on the blockchain, the private key should be of minimum size, preferably constant size. To keep the workload of both the data owner and key distributor minimal, the encryption time and key generation time should be as short as possible.
+The design of the underlying functional encryption scheme, where the private key should correspond to the function chosen by the data purchaser. Since the encryption of the private key should be presented as evidence (as shown in Fig. 1) and verified on the blockchain, the private key should be of minimum size, preferably constant size. To keep the workload of both the data owner and key distributor minimal, the encryption time and key generation time should be as short as possible.
-There exist several functional encryption schemes with constant key size such as the one presented in [SC2017,CRH2015, RDGBP2019,B2017,MSHBM2019]. General predicate encryption allows the data owner to encrypt the raw data items tagged with various attributes, and a data purchaser to query different parts of the data repository using a function key corresponding to a predicate. Inner product predicate encryption [CGW2015] is a special kind of predicate encryption, where the data purchaser could retrieve the data records if the inner product of their attribute vector `y` and the predicate vector `x` specified by the data purchaser is equal to 0. For instance, the data purchaser could potentially ask for the data records corresponding to a conjunctive predicate such as “Age”AND“gender”AND“Income” from a personal data repository. One of the most efficient inner product encryption schemes [CGW2015] has a private key consisting of four elliptic curve group elements, and its key generation is dominated by four modular exponentiations.
+There exist several functional encryption schemes with constant key size such as the one presented in [SC2017,CRH2015, RDGBP2019,B2017,MSHBM2019]. General predicate encryption allows the data owner to encrypt the raw data items tagged with various attributes, and a data purchaser to query different parts of the data repository using a function key corresponding to a predicate. Inner product predicate encryption [CGW2015] is a special kind of predicate encryption, where the data purchaser could retrieve the data records if the inner product of their attribute vector `y` and the predicate vector `x` specified by the data purchaser is equal to 0. For instance, the data purchaser could potentially ask for the data records corresponding to a conjunctive predicate such as “Age”AND“gender”AND“Income” from a personal data repository. One of the most efficient inner product encryption schemes [CGW2015] has a private key consisting of four elliptic curve group elements, and its key generation is dominated by four modular exponentiations.
-While the predicate encryption allows the data purchaser to retrieve different parts of a database based on a predefined predicate, a more general functional encryption allows the data purchaser to calculate an arbitrary function over the input `x`. This project will focus on a slightly narrow set of functional encryption schemes: inner product encryption and quadratic polynomial function encryption [MSHBM2019]. In an inner product encryption scheme, for encryption of a vector `x`, the data purchaser with a private key corresponding to another vector `y` will be able to compute the inner product between `x` and `y`. On the other hand, in a quadratic polynomial functional encryption scheme, the data owner will encrypt two vectors `v_1 \in \mathbb{Z}_n` and `v_2 \in \mathbb{Z}_n`, a data purchaser with a secret key corresponding to a matrix `H \in \mathbb{Z}^{n*n}` is allowed to decrypt the quadratic product of `x_1, x_2`, and `H`, i.e., `x_1^T\cdot H \cdot x_2`. Both inner product encryption and quadratic polynomial functional encryption can support sophisticated privacy-preserving machine learning tasks, such as classification [LCFS2017,SGP2018] and neural networks [RDGBP2019].
+While the predicate encryption allows the data purchaser to retrieve different parts of a database based on a predefined predicate, a more general functional encryption allows the data purchaser to calculate an arbitrary function over the input `x`. This project will focus on a slightly narrow set of functional encryption schemes: inner product encryption and quadratic polynomial function encryption [MSHBM2019]. In an inner product encryption scheme, for encryption of a vector `x`, the data purchaser with a private key corresponding to another vector `y` will be able to compute the inner product between `x` and `y`. On the other hand, in a quadratic polynomial functional encryption scheme, the data owner will encrypt two vectors `v_1 \in \mathbb{Z}_n` and `v_2 \in \mathbb{Z}_n`, a data purchaser with a secret key corresponding to a matrix `H \in \mathbb{Z}^{n*n}` is allowed to decrypt the quadratic product of `x_1, x_2`, and `H`, i.e., `x_1^T\cdot H \cdot x_2`. Both inner product encryption and quadratic polynomial functional encryption can support sophisticated privacy-preserving machine learning tasks, such as classification [LCFS2017,SGP2018] and neural networks [RDGBP2019].
The benchmark results for various inner product encryption and quadratic polynomial function encryption schemes can be found in [MSHBM2019]. The private key of inner product encryption consists of one elliptic curve group element, which is of 256 bits under 128-bit level security. The key generation for a vector of 100 elements takes 0.4149s, and the encryption time for the data owner is around 0.2103s for a vector of the same size. The private key of quadratic polynomial functional encryption also only consists of one elliptic curve group element. The average key generation and encryption time for each coordinate of the message vector is 0.001s and 0.025s.
In terms of the accompanied zero-knowledge proof scheme, the statement of the zero-knowledge proof scheme should be to convince the verifier that the encrypted content is a well-formed function key with regards to a predefined function in the module. Since the verification of the zero-knowledge proof should be verified by the blockchain, we need to make sure the verification is efficient and the proof size is as small as possible. The candidate zero-knowledge proof scheme for this is zk-snark implementation such as [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate), which is an implementation of Groth16 scheme. The proof generation time is comparatively short for the previously mentioned encryption schemes since the respective statement (determined by the key generation algorithm and the public key encryption) is quite simple.
-According to the pricing model of data monetization, a report presented by OECD [RRS2013] classifies the existing practical pricing models of personal data into two major categories: based on market valuation and individual valuation. The approach based on individual valuation suffers from the defect that the individual valuation of the private data is extremely context-dependent and cannot be measured with precision and certainty. The market-valuation-based approach can be further divided into the following sub-categories: market cap per data record, market prices for data, cost of a data breach, and data prices in illegal markets.
+According to the pricing model of data monetization, a report presented by OECD [RRS2013] classifies the existing practical pricing models of personal data into two major categories: based on market valuation and individual valuation. The approach based on individual valuation suffers from the defect that the individual valuation of the private data is extremely context-dependent and cannot be measured with precision and certainty. The market-valuation-based approach can be further divided into the following sub-categories: market cap per data record, market prices for data, cost of a data breach, and data prices in illegal markets.
-The approach based on market prices for data is particularly interesting given that data brokers usually publicly broadcast their asking prices for various personal data records. Our platform can easily aggregate and compare across various data brokers to use it as the proxy pricing model of the individual personal data record. One could further refine these data prices based on the queried function and adopt a fine-grained pricing approach used by DirectMail [MDJM2019]. They give an example where the base price per record is equal to $0.045 and the predicate-based price per record is equal to $0.0035 + $0 + $0.004 = $0.0075 (for example, calculated from the aforementioned conjunctive predicate). Thus, the total price per record for predicate encryption would be equal to $0.045 + $0.0075 = $0.0525. For the inner product encryption or quadratic polynomial function encryption, the price of the decryption result will exclude the base price of the record.
+The approach based on market prices for data is particularly interesting given that data brokers usually publicly broadcast their asking prices for various personal data records. Our platform can easily aggregate and compare across various data brokers to use it as the proxy pricing model of the individual personal data record. One could further refine these data prices based on the queried function and adopt a fine-grained pricing approach used by DirectMail [MDJM2019]. They give an example where the base price per record is equal to $0.045 and the predicate-based price per record is equal to $0.0035 + $0 + $0.004 = $0.0075 (for example, calculated from the aforementioned conjunctive predicate). Thus, the total price per record for predicate encryption would be equal to $0.045 + $0.0075 = $0.0525. For the inner product encryption or quadratic polynomial function encryption, the price of the decryption result will exclude the base price of the record.
-This will be one of the pricing strategies we adopt in phase 1 and phase 2 of our project. In the later development of our project, we will explore more algorithmic pricing approaches such as Automated Market Maker’s (AMMs), where the platform estimates how much the data purchaser is willing to pay for data of different qualities and determines the concrete data pricing model.
+This will be one of the pricing strategies we adopt in phase 1 and phase 2 of our project. In the later development of our project, we will explore more algorithmic pricing approaches such as Automated Market Maker’s (AMMs), where the platform estimates how much the data purchaser is willing to pay for data of different qualities and determines the concrete data pricing model.
#### Team Interest
@@ -64,45 +66,50 @@ We will leverage the existing cryptographic library in the Polkadot ecosystem, s
##### Open API and SDK
The ultimate goal of Ruby Protocol is to provide an essential open API and SDK from a high-level perspective with the above tools, fully powering the data monetization framework on Polkadot, including:
-* A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. A substrate module that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
-* The client can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms.
+
+- A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. A substrate module that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
+- The client can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms.
#### Ecosystem Fits
-The existing internet economic model relies almost exclusively on the monetization of personal data. The recent scandals on the internet companies mishandling individual data such as Facebook’s Cambridge Analytica scandal have prompted many individuals to awaken to the fact that in the current internet economy they are the product and they need to regain control over their data. In fact, I would argue that the recently published privacy regulation such as GDPR or CCPA is the response to this urge.
-Polkadot could act as an indispensable role to remove the middleman of the internet economy. A second-layer fine-grained personal data monetization framework based on Polkadot would potentially move Polkadot beyond a decentralized financial platform and enable Polkadot to play a central role in the next-generation data economy. It would also enable Polkadot to gain a moral high ground by freeing billions of web users from the control of monopoly middleman companies.
+The existing internet economic model relies almost exclusively on the monetization of personal data. The recent scandals on the internet companies mishandling individual data such as Facebook’s Cambridge Analytica scandal have prompted many individuals to awaken to the fact that in the current internet economy they are the product and they need to regain control over their data. In fact, I would argue that the recently published privacy regulation such as GDPR or CCPA is the response to this urge.
-The following is the reason why a cross-chain platform such as Polkadot is a perfect platform to implement a decentralized and transparent data monetization mechanism:
-The monetary return of one single data monetization transaction tends to be small. The economic benefit to the data owner can only be noticeable when this type of micropayment happens frequently. However, the mental cost incurred by having to deal with frequent micropayment might render it undesirable. Substrate module as publicly verifiable, self-enforcing code could help amortize the mental cost.
+Polkadot could act as an indispensable role to remove the middleman of the internet economy. A second-layer fine-grained personal data monetization framework based on Polkadot would potentially move Polkadot beyond a decentralized financial platform and enable Polkadot to play a central role in the next-generation data economy. It would also enable Polkadot to gain a moral high ground by freeing billions of web users from the control of monopoly middleman companies.
-The substrate module will specify the types of computation the data purchaser is allowed to perform over the ciphertext. Since the same computation result could be of different values to different data purchasers, automatic payment based on substrate module could be used to enforce sophisticated pricing models to guarantee the maximum economic return for the data owner.
+The following is the reason why a cross-chain platform such as Polkadot is a perfect platform to implement a decentralized and transparent data monetization mechanism:
+The monetary return of one single data monetization transaction tends to be small. The economic benefit to the data owner can only be noticeable when this type of micropayment happens frequently. However, the mental cost incurred by having to deal with frequent micropayment might render it undesirable. Substrate module as publicly verifiable, self-enforcing code could help amortize the mental cost.
-A publicly verifiable substrate module would not only help with the transparent enforcement of various privacy regulations such as General data protection regulation (GDPR) or California consumer privacy act (CCPA) but also ensure the fairness of data monetization transactions without the involvement of any middleman [TZLHJS17]. This is in stark contrast with the opaque business model of the existing internet economy where giant internet companies absorb all the economic benefits of personal data monetization. Our framework will let individuals regain control of their private data.
+The substrate module will specify the types of computation the data purchaser is allowed to perform over the ciphertext. Since the same computation result could be of different values to different data purchasers, automatic payment based on substrate module could be used to enforce sophisticated pricing models to guarantee the maximum economic return for the data owner.
+
+A publicly verifiable substrate module would not only help with the transparent enforcement of various privacy regulations such as General data protection regulation (GDPR) or California consumer privacy act (CCPA) but also ensure the fairness of data monetization transactions without the involvement of any middleman [TZLHJS17]. This is in stark contrast with the opaque business model of the existing internet economy where giant internet companies absorb all the economic benefits of personal data monetization. Our framework will let individuals regain control of their private data.
We all know the slogan “Data is the new oil”. According to alliedmarketresearch.com, the global data monetization market size was valued at $44869 in 2016, and is projected to reach at $370969 million by 2023, growing at a CAGR of 35.4% from 2017 to 2023. Even by capturing a small piece of this market, it would bring enormous economic benefits to the Polkadot ecosystem.
-A second-layer fine-grained data monetization framework will also greatly expand the Polkadot community through attracting not only privacy-conscious users but also business partners hunger for high-quality data such as research institutes, hospitals, traditional financial institutes, etc.
+A second-layer fine-grained data monetization framework will also greatly expand the Polkadot community through attracting not only privacy-conscious users but also business partners hunger for high-quality data such as research institutes, hospitals, traditional financial institutes, etc.
There are three relevant projects: the first one is perhaps the Enigma project, a privacy protocol that enables the creation of decentralized applications that guarantee privacy. The protocol Enigma bases on is secure multi-party computation (MPC). The second one, Insights Network is a data exchange based on combining blockchain technology, substrate module, and MPC. It is based on the EOS blockchain and a custom MPC system. The third one, NuCypher is a cryptographic infrastructure for privacy-preserving applications. Its main technology is threshold proxy re-encryption and fully homomorphic encryption. None of these second-layer protocols are built for the Polkadot ecosystem.
-There are several different ways of implementing an MPC protocol: threshold homomorphic encryption, garbled circuit, and secret sharing. The general idea of MPC is to outsource private data (either in the form of secret shares or homomorphic encryption) to a few separate computing parties so that they can perform confidential computation over the encrypted data. Directly applying MPC to fine-grained personal data monetization is problematic in the sense that once the data is outsourced, the data owner does not exert any control over what type of computation can be performed by the computing party. In other words, individual privacy is now at the mercy of these computing parties, which is against the human-centric ethos of fine-grained personal data monetization, where the access control policy should be defined by the data owner and enforced by the algorithm. On the other hand, functional encryption was specifically proposed and tailored for enforcing fine-grained access control over encrypted data. By allowing the data owner to define the access control policy, the owner has full control over what type of access the data purchaser can have over the encrypted personal data. The only decryption result the data purchaser will be able to retrieve is the predefined function evaluation.
+There are several different ways of implementing an MPC protocol: threshold homomorphic encryption, garbled circuit, and secret sharing. The general idea of MPC is to outsource private data (either in the form of secret shares or homomorphic encryption) to a few separate computing parties so that they can perform confidential computation over the encrypted data. Directly applying MPC to fine-grained personal data monetization is problematic in the sense that once the data is outsourced, the data owner does not exert any control over what type of computation can be performed by the computing party. In other words, individual privacy is now at the mercy of these computing parties, which is against the human-centric ethos of fine-grained personal data monetization, where the access control policy should be defined by the data owner and enforced by the algorithm. On the other hand, functional encryption was specifically proposed and tailored for enforcing fine-grained access control over encrypted data. By allowing the data owner to define the access control policy, the owner has full control over what type of access the data purchaser can have over the encrypted personal data. The only decryption result the data purchaser will be able to retrieve is the predefined function evaluation.
## Team :busts_in_silhouette:
+
### Team Members
-* David Spade - Full-stack Software Engineer
-* Kevin Hsu - Data Scientist
-* Dylan Dewdney - Marketing Advisor
-* Beni Issembert - Strategy Advisor
+- David Spade - Full-stack Software Engineer
+- Kevin Hsu - Data Scientist
+- Dylan Dewdney - Marketing Advisor
+- Beni Issembert - Strategy Advisor
### Team Website
-* http://rubyprotocol.com/
+-
### Legal Structure
-* Ruby Technology Ltd. is a company registered in the Cayman Islands.
+
+- Ruby Technology Ltd. is a company registered in the Cayman Islands.
### Team Experience
+
**David Spade**
David Spade graduated from the University of Nottingham. He is a full-stack developer with 8 years of experience in software development. David also has deep knowledge in zero-knowledge algorithms and he is an expert in data science.
@@ -116,44 +123,53 @@ Beni Issembert is a former Beam Privacy CMO, and currently works as Concordium C
Dylan Dewdney is a longtime crypto enthusiast (2011). In 2017 he co-founded Harbour DAO, which became an open-standard set of tools for building governance structures and voting mechanisms on ERC-20. Later, as Chief Evangelist of Beam and Head of Growth for AdEx, he was a key part of their GTM and general growth strategies. Dylan is a respected peer among many different projects and areas of business.Dylan is also the project lead and CEO of DeData project Kylin Network.
### Team Code Repos
-* https://github.com/Ruby-Protocol
+
+-
### Team Linkedin Profiles
-* www.linkedin.com/in/dylan-dewdney
-* www.linkedin.com/in/beniissembert
-* www.linkedin.com/in/yingkaixu
+
+- www.linkedin.com/in/dylan-dewdney
+
+- www.linkedin.com/in/beniissembert
+- www.linkedin.com/in/yingkaixu
## Development Roadmap :nut_and_bolt:
+
### Overview
-* **Total Estimated Duration:** 2 months
-* **Full-time equivalent (FTE):** 3 FTE
-* **Total Costs:** 30,000 DAI
+
+- **Total Estimated Duration:** 2 months
+
+- **Full-time equivalent (FTE):** 3 FTE
+- **Total Costs:** 30,000 DAI
#### Milestone 1 — Implement Cryptographic Modules
-* **Estimated Duration:** 5 months
-* **FTE:** 1
-* **Costs:** 10K DAI
-The main deliverable of this milestone includes:
-* A cryptographic library written in Rust that implements the inner product functional encryption and quadratic polynomial functional encryption.
+- **Estimated Duration:** 5 months
+
+- **FTE:** 1
+- **Costs:** 10K DAI
+
+The main deliverable of this milestone includes:
+
+- A cryptographic library written in Rust that implements the inner product functional encryption and quadratic polynomial functional encryption.
-* A substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
+- A substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
| **Number** | **Deliverable** | **Specification** |
| ---------- | ------------------------------------- | ------------------------------------------------------------ |
| 0a. | License | Apache License 2.0 |
| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can (for example) spin up one of our Substrate nodes. Once the node is up, it will be possible to send test transactions that will show how the new functionality works. |
-| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
-| 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed cryptographic library and substrate pallet delivered in this milestone.
+| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
+| 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed cryptographic library and substrate pallet delivered in this milestone.
| 1. | Cryptographic modules | We will implement the cryptographic modules including inner product functional encryption and quadratic polynomial functional encryption [MSHBM2019] and the associated zero-knowledge proof [ZeroPool]. The cryptographic modules will be written in Rust and modified from the [rust version](https://github.com/dev0x1/functional-encryption-schemes) of [CiFEr library](https://github.com/fentec-project/CiFEr). We will build privacy-preserving classification and neural networks based on these modules. We will also implement a substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. |
| 2. | Benchmark | Perform unit tests on the individual algorithms to ensure their safety. Benchmark on the gas cost and throughput of the proposed module. |
| 3. | Docker | We will provide a dockerfile to demonstrate the usage of our modules. |
#### Milestone 2 —— Client Implementation and Integration
-* **Estimated Duration:** 1 month
-* **FTE:** 2
-* **Costs:** 20K DAI
+- **Estimated Duration:** 1 month
+- **FTE:** 2
+- **Costs:** 20K DAI
The main deliverable of the milestone is the client that can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms.
@@ -161,17 +177,19 @@ The main deliverable of the milestone is the client that can trigger the aforeme
| ---------- | ------------------------------------- | ------------------------------------------------------------ |
| 0a. | License | Apache License 2.0 |
| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can (for example) spin up one of our Substrate nodes. Once the node is up, it will be possible to send test transactions that will show how the new functionality works. |
-| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
+| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed client and UI delivered in this milestone.
| 1. | Client modules | We will implement the client to support the key distribution and decryption of the functional encryption scheme [MSHBM2019]. The client will also generate the transaction that can trigger the aforementioned cryptographic modules and the micropayment scheme [MDJM2019], such as the encrypted functional key and zero-knowledge proof. We will provide a basic UI to take inputs from the users for all these algorithms and receive the outputs. More specifically, the UI will enable the data owner to input the raw data to generate the signed ciphertext and upload it to the cloud server. The UI will also allow the data purchaser to retrieve the functional key from the key authority and the ciphertext from the cloud and then perform the decryption. The UI will also register a qualified data source and allow a data owner to join the data monetization program when he/she meets the data source and the data owners to request a signature from a registered source, which will then be verified on-chain. Finally, it will also allow these entities to interact with the substrate module with the inputs and outputs defined in our architecture. |
| 2. | Benchmark | Perform unit tests on the individual algorithms to ensure their safety. Benchmark on the latency and usability of the proposed client functionalities. |
| 3. | Docker | We will provide a dockerfile to demonstrate the usage of our modules. |
### Community Engagement
-* **Bounty Program for General Community:** We will reward users who contribute positively to community building and content creation through an Ambassador Program. The community management team will be available 24/7 to answer questions.
-* **Incentive Program for Data Monetization:** After the main functions are completed, we will provide incentives for users to monetize their data on our platform. This is an encouragement for users to provide the data and purchase the data.
-* **Parachain Loan Offering Campaign:** We may hold a Parachain Loan Offering and reward users for helping our auction with Ruby Protocol tokens.
-* **Affiliated Program of Cryptographic Infrastructure:** It is proven effective for user growth and can be integrated into Ruby’s cryptographic infrastructure.
+
+- **Bounty Program for General Community:** We will reward users who contribute positively to community building and content creation through an Ambassador Program. The community management team will be available 24/7 to answer questions.
+
+- **Incentive Program for Data Monetization:** After the main functions are completed, we will provide incentives for users to monetize their data on our platform. This is an encouragement for users to provide the data and purchase the data.
+- **Parachain Loan Offering Campaign:** We may hold a Parachain Loan Offering and reward users for helping our auction with Ruby Protocol tokens.
+- **Affiliated Program of Cryptographic Infrastructure:** It is proven effective for user growth and can be integrated into Ruby’s cryptographic infrastructure.
## Future Plans
@@ -184,6 +202,7 @@ In phase 2, our goal is to deliver the micropayment scheme and enable the users
Finally, our goal is to provide an essential open API and SDK from a high-level perspective with the above tools, fully powering the data monetization framework on Polkadot.
## Additional Information :heavy_plus_sign:
+
### Reference
[GPSW06] Goyal, V., Pandey, O., Sahai, A., & Waters, B. (2006, October). Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM conference on Computer and communications security (pp. 89-98).
@@ -196,11 +215,11 @@ Finally, our goal is to provide an essential open API and SDK from a high-level
[B2017] Bourse, F. (2017). Functional encryption for inner-product evaluations (Doctoral dissertation).
-[B2018] Vitalik Buterin,
-https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477,
+[B2018] Vitalik Buterin,
+,
2018.
-[BCTV2013] Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza. Succinct non-interactive zero knowledge for a von Neumann architecture. In Proceedings of the 23rd USENIX Security Symposium, Security '14. Available at http://eprint.iacr.org/2013/879.
+[BCTV2013] Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza. Succinct non-interactive zero knowledge for a von Neumann architecture. In Proceedings of the 23rd USENIX Security Symposium, Security '14. Available at .
[BMEB2016] Bataineh, A. S., Mizouni, R., El Barachi, M., & Bentahar, J. (2016, June). Monetizing Personal Data: A Two-Sided Market Approach. In ANT/SEIT (pp. 472-479).
@@ -222,12 +241,4 @@ https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-t
[SC2017] Agrawal, Shashank, and Melissa Chase. "Simplifying design and analysis of complex predicate encryption schemes." Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Cham, 2017. [SGP2018] Sans, E.D., Gay, R., Pointcheval, D.: Reading in the dark: Classifying encrypted digits with functional encryption. IACR Cryptology ePrint Archive 2018, 206, (2018).
-[TZLHJS2017] Florian Tramer, Fan Zhang, Huang Lin, Jean-Pierre Hubaux, Ari Juels, and Elaine Shi. ”Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge.” In Security and Privacy (EuroS&P), 2017 IEEE European Symposium on, pp. 19-34. IEEE, 2017.
-
-
-
-
-
-
-
-
+[TZLHJS2017] Florian Tramer, Fan Zhang, Huang Lin, Jean-Pierre Hubaux, Ari Juels, and Elaine Shi. ”Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge.” In Security and Privacy (EuroS&P), 2017 IEEE European Symposium on, pp. 19-34. IEEE, 2017.
diff --git a/applications/SEOR-code-less-smart-contract-platform.md b/applications/SEOR-code-less-smart-contract-platform.md
index 7cfd500a4be..e84939c6b39 100644
--- a/applications/SEOR-code-less-smart-contract-platform.md
+++ b/applications/SEOR-code-less-smart-contract-platform.md
@@ -1,6 +1,5 @@
-# Open Grant Proposal
+# SEOR code-less smart contract platform
-* **Project Name:** SEOR code-less smart contract platform
* **Team Name:** SEOR
* **Payment Address:** 0x573e932F79a8846a058032454Ee7Fd7C6df7Dc41
* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/205#issuecomment-1168462194)
diff --git a/applications/SaaS3.md b/applications/SaaS3.md
index ee0de6ff0e1..4451de0e826 100644
--- a/applications/SaaS3.md
+++ b/applications/SaaS3.md
@@ -1,38 +1,38 @@
-# W3F Grant Proposal
+# SaaS3
> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed.
-- **Project Name:** SaaS3
-- **Team Name:** SaaS3 Lab
+- **Team Name:** SaaS3 Lab
- **Payment Address(USDT):** 0x8341e551B0AE5E5905C20A112b123b5F797612f3
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
## Project Overview :page_facing_up:
### Overview
-#### Dilemma of web3 Ecosystem - With functionalities yet to become full-fledged, Web3.0 applications need a rethink of development stacks.
-For instance, most of the web2 projects and dependencies are based on Java, C++, PHP, etc., while web3 requires another totally different technical stacks such as Solidity, Motoku, or Substrate on EVM / WASM which hinders web2 developers to build web3 applications.
-![image](https://user-images.githubusercontent.com/95557343/157393726-c22c47d2-a4d0-4335-b890-29d6fad4417c.png)
+#### Dilemma of web3 Ecosystem - With functionalities yet to become full-fledged, Web3.0 applications need a rethink of development stacks
+
+For instance, most of the web2 projects and dependencies are based on Java, C++, PHP, etc., while web3 requires another totally different technical stacks such as Solidity, Motoku, or Substrate on EVM / WASM which hinders web2 developers to build web3 applications.
+![image](https://user-images.githubusercontent.com/95557343/157393726-c22c47d2-a4d0-4335-b890-29d6fad4417c.png)
-SaaS3 project aims to deliver a fully decentralized software as a service (SaaS) network with highly scalable, crypto token incentivized and results in a solution that can serve as the application interface (API) layer for web3.
-SaaS3 is devoted to transforming traditional web2 API to web3 dAPI by decentralized docker runtime (dRuntime).
-Particularly, regardless of development stack differences, Linux-based Web2 APIs can be deployed on our platform for providing web3 services by decentralized APIs (dAPI).
-Essentially, SaaS3 is an off-chain scaling technique of layer-2 which utilizes cheap off-chain docker computation to replace high-priced on-chain WASM / EVM runtime, while still remaining computation decentralization by delegated proof of stake (DPoS) consensus and on-chain zero knowledge proof.
-Therefore, such layer-2 off-chain scaling is not only for computation price but technical development stacks compatible.
+SaaS3 project aims to deliver a fully decentralized software as a service (SaaS) network with highly scalable, crypto token incentivized and results in a solution that can serve as the application interface (API) layer for web3.
+SaaS3 is devoted to transforming traditional web2 API to web3 dAPI by decentralized docker runtime (dRuntime).
+Particularly, regardless of development stack differences, Linux-based Web2 APIs can be deployed on our platform for providing web3 services by decentralized APIs (dAPI).
+Essentially, SaaS3 is an off-chain scaling technique of layer-2 which utilizes cheap off-chain docker computation to replace high-priced on-chain WASM / EVM runtime, while still remaining computation decentralization by delegated proof of stake (DPoS) consensus and on-chain zero knowledge proof.
+Therefore, such layer-2 off-chain scaling is not only for computation price but technical development stacks compatible.
The SaaS3 project aims to decentralize computational providers and mint income-NFT to earn profits.
The API creators could earn an income fee by holding those iNFT or selling them on NFT marketplace.
-As a result, the SaaS3 project will bridge web2 APIs to web3 dAPIs to flourish web3 ecosystem and achieve creator economy in a decentralized and trust-minimized way.
-This grant will allow us to develop several pallets to implement a parachain with substrate on Polkadot / Kusama.
+As a result, the SaaS3 project will bridge web2 APIs to web3 dAPIs to flourish web3 ecosystem and achieve creator economy in a decentralized and trust-minimized way.
+This grant will allow us to develop several pallets to implement a parachain with substrate on Polkadot / Kusama.
SaaS3 as a part of Polkadot / Kusama / web 3 Ecosystem and has the following properties:
- - Bridge - Monetize abundant web2 projects as decentralized web3 services in a very short time with extremely cheap cost.
- - No Middleman - Cheap fee for dAPI users or Dapp developers compare with centralized SaaS products.
- - Security - Improve the security for a system by PoS consensus and zero knowledge proof for miner network. Web3 dAPI are backed by token stakers (DPoS) with a reward and punishment mechanism.
- - Reliability - Strengthen robustness for dAPI by computation decentralization and dRuntime redundancy of miners.
- - Green - Save energy and reduce the cost by making use of spare computation resources for API computation.
+- Bridge - Monetize abundant web2 projects as decentralized web3 services in a very short time with extremely cheap cost.
+- No Middleman - Cheap fee for dAPI users or Dapp developers compare with centralized SaaS products.
+- Security - Improve the security for a system by PoS consensus and zero knowledge proof for miner network. Web3 dAPI are backed by token stakers (DPoS) with a reward and punishment mechanism.
+- Reliability - Strengthen robustness for dAPI by computation decentralization and dRuntime redundancy of miners.
+- Green - Save energy and reduce the cost by making use of spare computation resources for API computation.
### Protocol Details
@@ -40,28 +40,27 @@ SaaS3 as a part of Polkadot / Kusama / web 3 Ecosystem and has the following pro
![image](https://user-images.githubusercontent.com/95557343/159788632-250f04b6-b2b9-42c5-9927-6e4487aea8ef.png)
-
Decentralized docker runtime (dRuntime) is built on miner network which aims to execute dAPIs. Those dAPIs is created by API creators as a result of development labor. Computational node targets to setup the dRuntime, or better known as the 'miner', namely the party that performs the computational tasks. They are hereafter referred to as 'nodes' or 'miners'. The Dapp developer is the dAPI user, who sends requests and pays to access the dAPI. Their actions are detailed below.
- - To access a web3 dAPI, users pay $SA3 tokens to nodes as the Gas fee and to software creators as the royalty fee.
+- To access a web3 dAPI, users pay $SA3 tokens to nodes as the Gas fee and to software creators as the royalty fee.
- - The node(s) are rewarded to execute dAPIs with dRuntime on their equipments. Importantly, each miner can run multiple dAPIs with dRuntime cache (dCache) to maximize the throughput.
+- The node(s) are rewarded to execute dAPIs with dRuntime on their equipments. Importantly, each miner can run multiple dAPIs with dRuntime cache (dCache) to maximize the throughput.
- - The Creator receives the royalty fee as the reward for their commitment to the docker development; they are the author of Web2 API codes.
+- The Creator receives the royalty fee as the reward for their commitment to the docker development; they are the author of Web2 API codes.
![image](https://user-images.githubusercontent.com/95557343/159788719-f6fb785d-65ce-4f7c-a3cb-5b0226708895.png)
+##### Security & Off-chain Miner Consensus
-##### Security & Off-chain Miner Consensus
-
-- Miner security - To qualify, a miner or node is required to stake a particular amount of tokens as collateral (POS). Each request for API will trigger an on-chain zero-knowledge proof check (zkc), which determines whether the node is rewarded or punished.
+- Miner security - To qualify, a miner or node is required to stake a particular amount of tokens as collateral (POS). Each request for API will trigger an on-chain zero-knowledge proof check (zkc), which determines whether the node is rewarded or punished.
- API security - Similar to API3 insurance, API security is achieved via Delegation Proof of Staking (DPoS). Particularly, the API creator is required to stake an amount of tokens at the time of submitting the dAPI deployment. The amount is set at a default value in their first submission and is adjusted in proportion to the service income. Besides, the token holders are able to stake on the dAPIs as a collateral and share profits with API creator. The mechanism is established following the same vein of the concepts in Polkadot / Kusama, including staking, nomination, and validation.
-
-The process described above establishes a de facto safeguard mechanism, sheltering dAPI users from potential malfunctions of the computational node or the API service, and when available providing remedies in compensation.
+
+The process described above establishes a de facto safeguard mechanism, sheltering dAPI users from potential malfunctions of the computational node or the API service, and when available providing remedies in compensation.
##### Collateral and Sue Claims
-In the case of a malfunction, the user detects the misperformance and assesses the damages and losses, and is able to lodge a sue claim published on the Court DAO. In supplement, the staked tokens or collaterals are 'locked' for a period, a mechanism to discourage stakers from 'front-running claims', i.e. withdrawing the staked token as soon as a miner or service malfunctions to evade claims. On the other hand, the litigant is required to stake funds to be able to make a claim, which elevates the cost of abuse. The Court DAO deliberates on the sue claim and decides whether a remedy should be made to the victimized dAPI user. Once a claim is passed in Court DAO, the amount of tokens as has been claimed will be transferred to the litigant in compensation.
+
+In the case of a malfunction, the user detects the misperformance and assesses the damages and losses, and is able to lodge a sue claim published on the Court DAO. In supplement, the staked tokens or collaterals are 'locked' for a period, a mechanism to discourage stakers from 'front-running claims', i.e. withdrawing the staked token as soon as a miner or service malfunctions to evade claims. On the other hand, the litigant is required to stake funds to be able to make a claim, which elevates the cost of abuse. The Court DAO deliberates on the sue claim and decides whether a remedy should be made to the victimized dAPI user. Once a claim is passed in Court DAO, the amount of tokens as has been claimed will be transferred to the litigant in compensation.
The same mechanism also applies to the punishment meted out for the node(s) that malfunctioned with on-chain zkc. Such a reward-and-punishment mechanism encourages nodes to act in good faith and better service quality. Hence, a much lower risk of potential cyber threats such as the Sybil attack.
@@ -87,108 +86,104 @@ The same mechanism also applies to the punishment meted out for the node(s) that
1. **Location Proof of Stake (LPoS) with zkc for Miners**
Regarding the miner network, we deploy on-chain zero knowledge check (zkc) and adopt a location-based optimization for PoS consensus, thus improving the network throughput for off-chain dRuntime execution. Specifically, when a dAPI user sends a request, a list of miner candidates will be generated, consisting of 10 nodes in the closest locations, (e.g., determined by network latency) which are determined by network latency. Meanwhile, since all nodes are required to have staked a amount of tokens, nodes are ranked in a list of, for example, 100 according to the staked amount. 3 miners has to be among the leading token stake and the ten nearest to qualify for executing the request and receiving the rewards, while the on-chain zero-knowledge check (zkc) is carried out. Admittedly, the network may to some degree hurt tolerable security. Nevertheless, the dAPI user will be able to access not just at low net-latency but also backed by the PoS consensus with zkc (for more about zkc, please refer to 7 or 9). It should also be noted that node congestion is mitigated en passant.
-
+
2. **dRuntime**
-dRuntime refers to a decentralized docker runtime which execute dAPIs in a network of distributed computing resources. It is essentially an off-chain technique to scaling up computation for on-chain runtime, such as WASM or EVM in Polkadot or Ethereum networks.
+dRuntime refers to a decentralized docker runtime which execute dAPIs in a network of distributed computing resources. It is essentially an off-chain technique to scaling up computation for on-chain runtime, such as WASM or EVM in Polkadot or Ethereum networks.
3. **dCache**
dRuntime cache is a 3-level caching mechanism to guarantee high performance and large throughput for dRuntime.
-
+
4. **SaaSDAO**
SaaSDAO refers to the decentralized autonomous organization charged with governance duties.
-
+
-5. **iNFT**
+5. **iNFT**
iNFT refers to a tradable income NFT that is minted when an API creator submits a docker image to create a dAPI. iNFT allows the API creator to earn royalty fee.
6. **Miner Network**
The miner network is implemented by pallet-miner and consists of all the providers of computational capabilities. The network offer decentralized APIs which undertakes to execute containers to reply DeResponse for user's DeRequest. All docker images can be deployed on each miner. Thus, other nodes are called in replacement should any node break down. The 'redundancy' of computing nodes, which is at the miner-level, helps the SaaS3 maintain its decentralization features and remain robust.
-7. **On-chain 3-person zero knowledge proof check (3-zkc) and rewards**
+7. **On-chain 3-person zero knowledge proof check (3-zkc) and rewards**
Each dAPI call will be executed by 3 miners. Therefore, the hash values generated following the three responses will be compared against each other for agreement. The 3-zkc is performed enabled by a callable, on-chain pallet-function. There are multiple scenarios, as follows.
- The three hash values are in agreement. No one will being slashed.
- Only two values are in agreement, the check still gains approval. Another miner is found inconsistent and will be slashed on its token stake.
- There is no agreement among the three nodes. In this case, the API call returns failure. The gas fee is nonetheless consumed and has no refunds. No party will face slash or claim reward, as neither miner malfunctions nor dAPI bugs can be found attributable. However, the failure-logs are recorded on on-chain storage. The user could raise an issue to the creator to push for a new docker, or lodge a sue claim on Court DAO as a query for potential compensation from miners / creators. For more details, please refer to 9. 3-zkcg.
8. **Court DAO**
-At Court DAO, the dAPI user can pay a fee for sue claims and, subject to the court's ruling, may claim compensation from miners / creators on SaaS3 DAO on grounds of any dAPI failure. To supplement the on-chain failure logs, the user is required to provide the details regarding the failure case, such as the input data and the version of the failed API (docker image version). The Jury consists of top 101 largest staked API creators who are open source developers and active on DAO events. Members of the Jury can download the same version docker image and retest the failure case to investigate the failure cause. The on-chain failure log is available for jury members.
+At Court DAO, the dAPI user can pay a fee for sue claims and, subject to the court's ruling, may claim compensation from miners / creators on SaaS3 DAO on grounds of any dAPI failure. To supplement the on-chain failure logs, the user is required to provide the details regarding the failure case, such as the input data and the version of the failed API (docker image version). The Jury consists of top 101 largest staked API creators who are open source developers and active on DAO events. Members of the Jury can download the same version docker image and retest the failure case to investigate the failure cause. The on-chain failure log is available for jury members.
Jury will have the following options given the on-chain log records and local test results.
- Reject - The user's sue claim is rejected, with no compensation, and the sue fee will not be refunded. Such a ruling may be on the grounds such as forged evidence and unreasonable amount of claims. Terms and conditions and regulations of SaaSDAO apply.
- Approve
- - Miner malfunction:
+ - Miner malfunction:
- Which miners should be slashed. (This is multiple choices refer to on-chain log):
- Miner1, Miner2, or Miner3
- Slash the dAPI in terms of drawbacks or bugs.
-
9. **3-zkc and gas calculation algorithm (3-zkcg)**
-We will provide a protocol / software which is similar with [AWS Lambda API Pricing](https://aws.amazon.com/lambda/pricing/) for miner, but replace dollar unit with gas. In SaaS3, miners should monitor each container's resource usage by our software to calculate gas usage i.e., `gas_used` for once dAPI call. `rewards=gas_used*gas_price` gas_used is defined by following process with 3-zkc. Here, we illustrate the algorithm to show the procedure, a user request with `gas_limit` is sent to three miners `m1,m2,m3` at time `t=0` with user-set maximum timeout `Tmax`, there will be following scenarios:
- - If after timeout `Tmax`, no response is received, go to the failure state.
- - Else, got `m1` response `r1` with reported gas `g1` at time `t1`, reset timeout `Tmax=max(2*t1, Tmax)`.
- - If after timeout `Tmax`, go to failure state.
- - Else, got `m2` response `r2` with reported gas `g2` at time `t2`, zkc will be conducted to confirm whether `r1=r2`
- - `r1=r2` return `r1` to user and distribute `rewards=min(g1,g2) * gas_price` to `m1` with `(1-g1/(g1+g2)) * rewards` and to `m2` with `(1-g2/(g1+g2))*rewards` which means the lower `gas report`, the more rewards.
- - `r1!=r2` reset timeout `Tmax=max(2*t2, Tmax)`
- - If after timeout `Tmax`, go to failure state.
- - Else, got `m3` response `r3` with reported gas `g3` at time `t3`, zkc will be conducted to confirm whether `r3=r1` or `r3=r2`
- - If `r1!=r2!=r3`, go to failure state.
- - Else, two conditions
- - `r3=r1`, return `r1` to user and distribute `rewards=min(g1, g3) * gas_price` to `m1` with `(1-g1/(g1+g3)) * rewards` and to `m3` with `(1-g3/(g1+g3))*rewards`. `m2` will be slashed.
- - `r3=r2`, return `r2` to user and distribute `rewards=min(g2, g3) * gas_price` to `m2` with `(1-g2/(g2+g3)) * rewards` and to `m3` with `(1-g3/(g2+g3))*rewards`. `m1` will be slashed.
- - Failure state: reply user `error: dAPI fail` and charge gas fee as `gas_mean * gas_price`, where `gas_mean` is the average gas for that dAPI in the history. Neither three miners will be slashed, since in such case, it hard to determine whether the dAPI has bugs. The user could raise an issue/sue to Creator/CourtDAO to acquire compensation based on above on-chain records. If the miners notice some weird slashes with on-chain evidence, miners could raise sue to CourtDAO with their proof (e.g., give an IPFS docker image path which is the same version as creator submitted) to acquire claims and slash dAPI with acceptance from Court DAO.
-
-
+We will provide a protocol / software which is similar with [AWS Lambda API Pricing](https://aws.amazon.com/lambda/pricing/) for miner, but replace dollar unit with gas. In SaaS3, miners should monitor each container's resource usage by our software to calculate gas usage i.e., `gas_used` for once dAPI call. `rewards=gas_used*gas_price` gas_used is defined by following process with 3-zkc. Here, we illustrate the algorithm to show the procedure, a user request with `gas_limit` is sent to three miners `m1,m2,m3` at time `t=0` with user-set maximum timeout `Tmax`, there will be following scenarios:
+- If after timeout `Tmax`, no response is received, go to the failure state.
+- Else, got `m1` response `r1` with reported gas `g1` at time `t1`, reset timeout `Tmax=max(2*t1, Tmax)`.
+ - If after timeout `Tmax`, go to failure state.
+ - Else, got `m2` response `r2` with reported gas `g2` at time `t2`, zkc will be conducted to confirm whether `r1=r2`
+ - `r1=r2` return `r1` to user and distribute `rewards=min(g1,g2) * gas_price` to `m1` with `(1-g1/(g1+g2)) * rewards` and to `m2` with `(1-g2/(g1+g2))*rewards` which means the lower `gas report`, the more rewards.
+ - `r1!=r2` reset timeout `Tmax=max(2*t2, Tmax)`
+ - If after timeout `Tmax`, go to failure state.
+ - Else, got `m3` response `r3` with reported gas `g3` at time `t3`, zkc will be conducted to confirm whether `r3=r1` or `r3=r2`
+ - If `r1!=r2!=r3`, go to failure state.
+ - Else, two conditions
+ - `r3=r1`, return `r1` to user and distribute `rewards=min(g1, g3) * gas_price` to `m1` with `(1-g1/(g1+g3)) * rewards` and to `m3` with `(1-g3/(g1+g3))*rewards`. `m2` will be slashed.
+ - `r3=r2`, return `r2` to user and distribute `rewards=min(g2, g3) * gas_price` to `m2` with `(1-g2/(g2+g3)) * rewards` and to `m3` with `(1-g3/(g2+g3))*rewards`. `m1` will be slashed.
+- Failure state: reply user `error: dAPI fail` and charge gas fee as `gas_mean * gas_price`, where `gas_mean` is the average gas for that dAPI in the history. Neither three miners will be slashed, since in such case, it hard to determine whether the dAPI has bugs. The user could raise an issue/sue to Creator/CourtDAO to acquire compensation based on above on-chain records. If the miners notice some weird slashes with on-chain evidence, miners could raise sue to CourtDAO with their proof (e.g., give an IPFS docker image path which is the same version as creator submitted) to acquire claims and slash dAPI with acceptance from Court DAO.
+
### Game theory Proof for 3-zkc algorithm with Nash Equilibrium Convergence ###
Both Miner1,Miner2, and Miner3 will choose loyalty.
-
-
-
+
### Technical Implementation Diagram
-We will implement 5 pallets: `pallet-entity`, `pallet-dAPI`, `pallet-DAO`, `pallet-miner`, and `pallet-stake` where `pallet-dAPI` is the core component of the project.
-![image](https://user-images.githubusercontent.com/95557343/159320880-a6fc9d62-5cc2-457e-9797-11db72edf352.png)
+We will implement 5 pallets: `pallet-entity`, `pallet-dAPI`, `pallet-DAO`, `pallet-miner`, and `pallet-stake` where `pallet-dAPI` is the core component of the project.
+![image](https://user-images.githubusercontent.com/95557343/159320880-a6fc9d62-5cc2-457e-9797-11db72edf352.png)
### Ecosystem Fit
- Although web2 applications are highly dependent on centralized libraries and technical stack, they have a potential case of monetization if migrated to web3 as decentralized web3 dAPI through SaaS3 protocol.
- SaaS3 cloud could be a competitive alternative to centralized SaaS / API providers such as [Salesforce](https://appexchange.salesforce.com), [Microsoft Azure](https://docs.microsoft.com/en-us/rest/api/azureml/) and [Google AI](https://cloud.google.com/products/ai).
- SaaS3 brings millions of dAPI/Dapp users, providers of computing resources and users into a harmony and an organic ecosystem, with lowered costs and reliable services. SaaS3 aims to become the world's largest decentralized API platform based on Polkadot / Kusama to provide high-quality dAPIs / Dapps at extremely affordable prices.
-- SaaS holds potential for interaction with other parachains of Polkadot / Kusama. SaaS3's dAPIs can also be utilized as computation services for other parachain's specific usage such as AI-related recognition or game-AI algorithms.
+- SaaS holds potential for interaction with other parachains of Polkadot / Kusama. SaaS3's dAPIs can also be utilized as computation services for other parachain's specific usage such as AI-related recognition or game-AI algorithms.
Similar Projects:
-- **Livepeer** https://livepeer.org/ It provides a video encoding service instead of general web3 SaaS.
-- **API3** https://api3.org/ Its dAPI as decentralized oracle to provide off-chain data streaming for smart contracts instead of computation tasks to offer a SaaS in web3.
-
+- **Livepeer** It provides a video encoding service instead of general web3 SaaS.
+- **API3** Its dAPI as decentralized oracle to provide off-chain data streaming for smart contracts instead of computation tasks to offer a SaaS in web3.
SaaS market in Dapp, web3.0, and Metaverse:
-- **Software Services** For example, the softwares on [Salesforce](https://appexchange.salesforce.com), Office365, Grammarly.
-- **AI Services** Speech2Text, Voice2Text, Image Recognition, UGC-NFT Recognition, Marketing Analysis, Algorithm Recommendation, Bot-AI, Game-AI, Reinforcement Learning, and Behavior Analysis.
+- **Software Services** For example, the softwares on [Salesforce](https://appexchange.salesforce.com), Office365, Grammarly.
+- **AI Services** Speech2Text, Voice2Text, Image Recognition, UGC-NFT Recognition, Marketing Analysis, Algorithm Recommendation, Bot-AI, Game-AI, Reinforcement Learning, and Behavior Analysis.
### Designs / Mock-ups
+
![6742e6c196c0ec2354f3e65474c0dd7](https://user-images.githubusercontent.com/95557343/155807321-3d96b3a6-f6c1-4b64-9411-3d75bd7eceb5.png)
![a07096c685597b9faaa8de4bce9956c](https://user-images.githubusercontent.com/95557343/155807345-fd92a0aa-1d5f-44ea-a57a-4f1ec8a4f70c.png)
-
## Team :busts_in_silhouette:
### Team members
+
The core team members are top Ph.Ds in computer science who are technical and experienced.
-- **Steven** is a Ph.D. in artificial intelligence and vice president of SaaS3 to build dRuntime on p2p network and financing-related works. Currently, he is an AI researcher and blockchain developer. He has written computer programs since he was 14 and got many hackathon awards in the past.
+- **Steven** is a Ph.D. in artificial intelligence and vice president of SaaS3 to build dRuntime on p2p network and financing-related works. Currently, he is an AI researcher and blockchain developer. He has written computer programs since he was 14 and got many hackathon awards in the past.
- **Rocky** is the CTO of SaaS3 undertakes SaaS3 protocol design. Currently, he is the presidential postdoctoral fellow in NTU and chief scientist in Singapore Smart City Project. Previously, he was an AI researcher at UCB. Besides, he is also a visiting lecture professor of NTU, NUS. He is also the winner of over 10 hackathons.
@@ -199,13 +194,11 @@ The core team members are top Ph.Ds in computer science who are technical and ex
- **Laekshan** was a software engineer in a world-leading company. He is also an expert in IoT
development. He has mined bitcoin since 2015. Therefore, he has a lot of experience in crypto mining and market analysis.
-
-
### Contact
- **Contact Name:** Rocky Yang
- **Contact Email:** contact@saas3.io
-- **website:** https://www.saas3.io
+- **website:**
### Legal Structure
@@ -214,27 +207,27 @@ development. He has mined bitcoin since 2015. Therefore, he has a lot of experie
### Team Code Repos
-- https://github.com/SaaS3DAO/
-- https://github.com/SaaS3DAO/DeAIMainNet
-- https://github.com/SaaS3DAO/non-api-nft
-- https://github.com/SaaS3DAO/substrate-node-template
-- https://github.com/SaaS3DAO/substrate
+-
+-
+-
+-
+-
GitHub accounts of all team members.
-- https://github.com/isrugeek
-- https://github.com/Marsrocky
-- https://github.com/qinwang-ai
-- https://github.com/ChinW
-- https://github.com/Deslate
-- https://github.com/kkazuha
-- https://github.com/hugoycj
+-
+-
+-
+-
+-
+-
+-
### Team LinkedIn Profiles (if available)
-- https://www.linkedin.cn/injobs/in/israel-goytom-66713011b
-- https://www.linkedin.cn/injobs/in/jianfei-yang-55560386/
-- https://www.linkedin.com/in/steven-wong-3b015079/
+-
+-
+-
## Development Roadmap :nut_and_bolt:
@@ -244,14 +237,12 @@ GitHub accounts of all team members.
- **Full-Time Equivalent (FTE):** 5
- **Total Costs:** 45500 USDT
-### Milestone 1 — SaaS3 Documentation, pallet-entity, pallet-service, pallet-stake,
+### Milestone 1 — SaaS3 Documentation, pallet-entity, pallet-service, pallet-stake
- **Estimated duration:** 2.5 month
- **FTE:** 4
- **Costs:** 24000 USD
-
-
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| 0a. | License | Apache 2.0|
@@ -259,15 +250,15 @@ GitHub accounts of all team members.
| 0c. | Testing Guide | We will provide a full test suite and guide for dAPIs usage for `pallet-dAPI`, token stake for `pallet-stake`. `pallet-entity` will be tested for dAPI usage and payment.|
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article**/workshop that explains (what was done/achieved as part of the grant). (Content, language and medium should reflect our target audience described above.)
-| 1. | pallet-entity| [pallet_assets](https://crates.io/crates/pallet-assets) is utilized for implementation with a minor change to fit SaaS3 project. An user and creator both can be implemented as entity. They are same in implementation perspective. |
-| | Functions | No public function |
-| 2. | pallet-dAPI| `pallet-dAPI` is core implementation of SaaS3 project which is a key middle ware and interacted a lot with other pallets' functions. A dAPI is also a iNFT to indicate the beneficial right for API creator. iNFT related part is implemented based on pallet-uniques. |
-| | Functions| 1). `pub fn subscribe_dAPI(eid:u32, iNFT_id:u64, timespan:u256, count:u256) ` dAPI user call this function to pay token to subscribe dAPI.
2). `pub fn create_dAPI(eid:u32, pid:u32)` Creator's docker image will be deployed as a dAPI.
3). `pub fn use_dAPI(eid:u32, ip_address:Vec, iNFT_id:u64)` dAPI user call this function to allocate reliable miners to run dAPI.
4). `fn check_dAPI(eid:u32, iNFT_id:u64)` The function can automatically check whether the dAPI is available for usage.|
-| | Storage| `ServiceList get(fn iNFT_list): map hasher(blake2_128_concat) u32 => Vec;`
`SubscriptionList get(fn subscription_list): map hasher(blake2_128_concat) u32 => Vec;`
`Usages get(fn get_usages): map hasher(blake2_128_concat) u32 => Vec; `|
-| | Struct| `pub struct iNFT`
`pub struct Subscription`
`pub struct Usage`|
+| 1. | pallet-entity| [pallet_assets](https://crates.io/crates/pallet-assets) is utilized for implementation with a minor change to fit SaaS3 project. An user and creator both can be implemented as entity. They are same in implementation perspective. |
+| | Functions | No public function |
+| 2. | pallet-dAPI| `pallet-dAPI` is core implementation of SaaS3 project which is a key middle ware and interacted a lot with other pallets' functions. A dAPI is also a iNFT to indicate the beneficial right for API creator. iNFT related part is implemented based on pallet-uniques. |
+| | Functions| 1). `pub fn subscribe_dAPI(eid:u32, iNFT_id:u64, timespan:u256, count:u256)` dAPI user call this function to pay token to subscribe dAPI.
2). `pub fn create_dAPI(eid:u32, pid:u32)` Creator's docker image will be deployed as a dAPI.
3). `pub fn use_dAPI(eid:u32, ip_address:Vec, iNFT_id:u64)` dAPI user call this function to allocate reliable miners to run dAPI.
4). `fn check_dAPI(eid:u32, iNFT_id:u64)` The function can automatically check whether the dAPI is available for usage.|
+| | Storage| `ServiceList get(fn iNFT_list): map hasher(blake2_128_concat) u32 => Vec;`
`SubscriptionList get(fn subscription_list): map hasher(blake2_128_concat) u32 => Vec;`
`Usages get(fn get_usages): map hasher(blake2_128_concat) u32 => Vec;`|
+| | Struct| `pub struct iNFT`
`pub struct Subscription`
`pub struct Usage`|
| 3. | pallet-stake| This pallet implements rewards and slashes related functions for token stakers to stake their tokens to services for DPoS consensus. [pallet-staking](https://crates.io/crates/pallet-staking) will be utilized for initial implementation and we will finely package it into our pallet-stake. |
-| | Functions|1). `pub fn stake(eid:u32, sid:u32, credits:u32) ` User call this function to stake their credit to a dAPI as collateral.
2). `pub fn stake queryStake(eid:u32, sid:u32)` It returns how many tokens is staked on a dAPI for a specific entity.
3). `pub fn queryTotStake(eid:u32, mid:u32)` It returns the total staked tokens for a dAPI.
4). `pub fn withdraw(eid:u32, sid:u32, credits:u32) ` Staker call this function to withdraw their tokens from dAPI. |
-| | Storage|`MinerCollateral get(fn get_miner_collateral): map hasher(blake2_128_concat) u32 => u32;` |
+| | Functions|1). `pub fn stake(eid:u32, sid:u32, credits:u32)` User call this function to stake their credit to a dAPI as collateral.
2). `pub fn stake queryStake(eid:u32, sid:u32)` It returns how many tokens is staked on a dAPI for a specific entity.
3). `pub fn queryTotStake(eid:u32, mid:u32)` It returns the total staked tokens for a dAPI.
4). `pub fn withdraw(eid:u32, sid:u32, credits:u32)` Staker call this function to withdraw their tokens from dAPI. |
+| | Storage|`MinerCollateral get(fn get_miner_collateral): map hasher(blake2_128_concat) u32 => u32;` |
| 4. | UI & Frontend | This part is implemented by [substrate front-end template](https://github.com/substrate-developer-hub/substrate-front-end-template) The frontend and UI of user-side will be finished in this milestone. |
### Milestone 2 — Documentation and tutorial for miner and DAO. Development of pallet-miner and pallet-DAO
@@ -284,34 +275,33 @@ GitHub accounts of all team members.
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article**/workshop that explains (what was done/achieved as part of the grant). (Content, language and medium should reflect our target audience described above). |
| 1. | pallet-miner | The pallet implements on-chain related things for miner to compute off-chain docker runtime. The computational power providers or miners in the network provide dAPI which aim to execute docker runtime to reply user's dRequest. Each docker image can be generally deployed on any miners. The pallet contains logic with off-chain softwares / models executions. 3-zkc related logics also will be implemented in this pallet. |
-| | Functions | 1). `pub fn deploy(eid:u32, mid:u32, iNFT_id:u64)` The function is utilized to deploy one dAPI (ie., iNFT) on a specific miner and build off-chain connection to the dAPI user.
2). `pub fn docker_manager()` It is only called at the first time when the miner connects to the blockchain to start a off-chain computation resource management related things such as 3-level dCache dispatch.
3). `pub fn modify_miner_params(mid:u32, args:Vec)` It is an optional interface for miner to modify some on-chain parameters for adjustment computation. The implementation will be very careful to cause any security issues. 4). `fn distribute_rewards()` It can distribute Gas fee to miners|
-| | Struct| `pub struct MinerParams`
`pub struct EntityData`
`pub struct EntityRuntime`|
-| | Storage | `MinerParams get(fn get_miner_params): map hasher(blake2_128_concat) u32 => MinerParams;`
`EntityData get(fn get_entity_data): map hasher(blake2_128_concat) u32 => Vec;`
`EntityRuntime get(fn get_entity_runtime): map hasher(blake2_128_concat) u32 => Vec;`|
+| | Functions | 1). `pub fn deploy(eid:u32, mid:u32, iNFT_id:u64)` The function is utilized to deploy one dAPI (ie., iNFT) on a specific miner and build off-chain connection to the dAPI user.
2). `pub fn docker_manager()` It is only called at the first time when the miner connects to the blockchain to start a off-chain computation resource management related things such as 3-level dCache dispatch.
3). `pub fn modify_miner_params(mid:u32, args:Vec)` It is an optional interface for miner to modify some on-chain parameters for adjustment computation. The implementation will be very careful to cause any security issues. 4). `fn distribute_rewards()` It can distribute Gas fee to miners|
+| | Struct| `pub struct MinerParams`
`pub struct EntityData`
`pub struct EntityRuntime`|
+| | Storage | `MinerParams get(fn get_miner_params): map hasher(blake2_128_concat) u32 => MinerParams;`
`EntityData get(fn get_entity_data): map hasher(blake2_128_concat) u32 => Vec;`
`EntityRuntime get(fn get_entity_runtime): map hasher(blake2_128_concat) u32 => Vec;`|
| 2. | pallet-DAO | A DAO of judgement court, dAPI user raise sue to determine the punishment of malfunction miners / services and return sue claimed tokens to dAPI user.|
-| |Functions |`pub fn submit_sue(eid:u32)` dAPI User submit sue claims for malfunction.
`pub fn vote_sue(eid:u32, sid:u32)` Jury evaluates and votes the sue submission to determine punishment.
`pub fn process_sue(sid:u32)` Process the accepted sue claims of dAPI user to slash malfunction miner / dAPI. The tokens will be paid to dAPI user and treasury with a ratio. |
+| |Functions |`pub fn submit_sue(eid:u32)` dAPI User submit sue claims for malfunction.
`pub fn vote_sue(eid:u32, sid:u32)` Jury evaluates and votes the sue submission to determine punishment.
`pub fn process_sue(sid:u32)` Process the accepted sue claims of dAPI user to slash malfunction miner / dAPI. The tokens will be paid to dAPI user and treasury with a ratio. |
| | Struct| `pub struct Sue`
| | Storage| `SueList get(fn get_sue_list): map hasher(blake2_128_concat) u32 => Vec;`
| 4. | UI & Frontend | This part is implemented by [substrate front-end template](https://github.com/substrate-developer-hub/substrate-front-end-template). The frontend web interface contains DAO procedures related functions which including user sue judgement. A special document website is developed to guide entities to participant DAO events. |
## Future Plans
-- Initially, the parathreads will be utilized to connect the relay chain. Once the project goes well, we will participate slot auction.
+- Initially, the parathreads will be utilized to connect the relay chain. Once the project goes well, we will participate slot auction.
- Continue developing and polishing the project to flourish SaaS3 ecosystem to burst the web3 world based on Polkadot / Kusama / Substrate multi-chain system.
- Provide more reliable efficient computation service which can run Polkadot / Kusama validator dockers.
-
## Additional Information :heavy_plus_sign:
-**How did you hear about the Grants Program?**
+**How did you hear about the Grants Program?**
web3 Foundation Website
**Related Files**
-- PitchDeck: https://www.saas3.io/file/PitchDeck_SaaS3.pdf
-- SaaS3 website: https://saas3.io
-- iNFT Demo (move to RMRK standard soon): https://saas3.io/non-api-nft
-- Whitepaper(Beta Version): https://www.saas3.io/file/SaaS3Whitepaper.pdf
+- PitchDeck:
+- SaaS3 website:
+- iNFT Demo (move to RMRK standard soon):
+- Whitepaper(Beta Version):
**Other Grants**
diff --git a/applications/Shivarthu.md b/applications/Shivarthu.md
index 73a7c2724da..36976e4adad 100644
--- a/applications/Shivarthu.md
+++ b/applications/Shivarthu.md
@@ -1,14 +1,12 @@
-# W3F Open Grant Proposal
+# Shivarthu
> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed.
>
> See the [Open Grants Program Process](https://github.com/w3f/Open-Grants-Program/#pencil-process) on how to submit a proposal.
-* **Project Name:** Shivarthu
* **Team Name:** Reaudito
* **Payment Address:** 0x7e30FB962f951ef78D901865F87DD036fc5aa946 (DAI)
-
> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.*
## Project Overview :page_facing_up:
@@ -22,58 +20,60 @@ If this is an application for a follow-up grant (the continuation of an earlier,
Shivarthu: The blockchain-based decentralized governance system. Democracy is about fair and equal treatment of everyone in a country. But it becomes unrealistic to achieve when political parties have their conflict of interest, and leaders don’t have the expertise to make evidence-based policies and neither have the skill and manpower for solving problems that surround our society and ecosystem. The new fair democracy provides an elegant way of governance that separates the representative responsibility according to their specialization and can grow into any complexity. The governance is divided into various departments, and each department is supervised by representatives with expertise in the field. Voters are rational and need to have enough knowledge about the departments and the department problems, in order to vote for the selecting representatives of a department. The selection process of representatives is “difficult in and easy out”,
which allows only utilitarian actors to hold the responsibility, weeding out frivolous ones.
-https://shivarthu.reaudito.com/paper/Shivarthu_whitepaper.pdf
+
Shivarthu will be build on Substrate.
Our democracy has many challenges, blockchain can provide a way to tackle those challenges by minimizing trust through game theory. That made our team interested in creating this project.
-
### Project Details
-Project Github link: https://github.com/amiyatulu/shivarthu
+Project Github link:
+#### Departments
-#### Departments:
The governance is divided into many departments like education, infrastructure, health, community service for every locality.
-#### Expertise evaluation of representatives :
-Voters and especially representatives need to have some experience or expertise in the department. Experience is required because education about the department leads to better decision making.
-Their experience is evaluated by schelling game.
+
+#### Expertise evaluation of representatives
+
+Voters and especially representatives need to have some experience or expertise in the department. Experience is required because education about the department leads to better decision making.
+Their experience is evaluated by schelling game.
-#### Schelling Game:
+#### Schelling Game
+
In this project, the Schelling game is used for experise evaluation and review of projects. We use a modification of Schelling game named score Schelling game for fund distribution of projects.
-Juror applies for making a decision like whether the required experience can be accepted or review quality of projects is acceptable. The probability of being drawn as a juror is proportional to the amount of tokens a juror stakes. The higher the amount of tokens he stakes, the higher the probability that he will be drawn as a juror. Also, jurors are drawn randomly. This protects the system from sybil attacks.
+Juror applies for making a decision like whether the required experience can be accepted or review quality of projects is acceptable. The probability of being drawn as a juror is proportional to the amount of tokens a juror stakes. The higher the amount of tokens he stakes, the higher the probability that he will be drawn as a juror. Also, jurors are drawn randomly. This protects the system from sybil attacks.
We will use the substrate randomness trait for generating a random number.
-https://substrate.dev/recipes/randomness.html
-Then jurors will vote for their decision using the commit and reveal scheme. In the commit phase, they submit the hash of the vote string. Then, in the reveal phase, they submit the hash and the vote string. If the vote string matches with the hash, then the vote is accepted.
-If a juror's vote is coherent (more than 51% of other jurors agree) then they receive incentives, otherwise, incentives are deducted from the stake of the juror.
-
-#### Voting for selection of representatives:
-The election is multi-winner approval. We will use seq-phragmen of the substrate to select the representatives. Here, we will keep vote weight as reputation score (instead of stake), the amount of score they obtained through the participation of network.
-https://substrate.dev/rustdocs/v3.0.0/sp_npos_elections/fn.seq_phragmen.html
-Approval Voting:
-
-Winners:
+
+Then jurors will vote for their decision using the commit and reveal scheme. In the commit phase, they submit the hash of the vote string. Then, in the reveal phase, they submit the hash and the vote string. If the vote string matches with the hash, then the vote is accepted.
+If a juror's vote is coherent (more than 51% of other jurors agree) then they receive incentives, otherwise, incentives are deducted from the stake of the juror.
+
+#### Voting for selection of representatives
+
+The election is multi-winner approval. We will use seq-phragmen of the substrate to select the representatives. Here, we will keep vote weight as reputation score (instead of stake), the amount of score they obtained through the participation of network.
+
+Approval Voting:
+
+Winners:
-#### Project application and acceptance:
-The representatives are in charge of accepting the incoming projects for funding.
+#### Project application and acceptance
+
+The representatives are in charge of accepting the incoming projects for funding.
People will submit their problems, for example, waterlogging in the locality.
Then experts all around the globe will submit the solution. The solution will be peer-reviewed to check its pros, cons, and suggest improvements that can be made. The review must meet the scientific guidelines. The solution can undergo revision through peer review feedback.
-The solution provider and peer reviewer have to stake some money to receive incentives for their work. The solution and peer review will again be approved and disapproved through the shelling game after checking whether the content meets the quality as recommended in scientific guidelines. The solutions provider and reviewer will get the incentives if it gets approved, otherwise, some money will be cut from the stake. It creates pressure on the reviewer to maintain quality without noise.
-
+The solution provider and peer reviewer have to stake some money to receive incentives for their work. The solution and peer review will again be approved and disapproved through the shelling game after checking whether the content meets the quality as recommended in scientific guidelines. The solutions provider and reviewer will get the incentives if it gets approved, otherwise, some money will be cut from the stake. It creates pressure on the reviewer to maintain quality without noise.
+
The representatives of the department will select the most optimal solution.
-After that persons wanting to take the lead to implement the solution will apply. Again representatives will select the best project leader from the application.
+After that persons wanting to take the lead to implement the solution will apply. Again representatives will select the best project leader from the application.
-
-
+
+### Money for projects
-### Money for projects:
-
-People can either directly donate to the projects or to the department funding pool. Transaction fees of governance token are also collected and kept in the tax funding pool.
+People can either directly donate to the projects or to the department funding pool. Transaction fees of governance token are also collected and kept in the tax funding pool.
The amount you can contribute to the department funding pool is calculated using the following formula.
@@ -89,38 +89,35 @@ Your stake = 100
You can contribute to the funding pool = 50000/10000 * 100
-Then, funding to the projects is distributed through the score schelling game.
+Then, funding to the projects is distributed through the score schelling game.
+
+### Price discovery through Score Schelling Game
-### Price discovery through Score Schelling Game:
You can rate the project from 1-5, without knowing what others are assigning. If the “mean” of all the product rating is near to your rating then the juror will get incentives, otherwise, juror incentives will be deducted. So, the juror will try to match the score with what others will assign based on information available rather than defecting by any arbitrary rating.
We can discover the prices of projects that need to be funded from a common funding pool.
Here is an algorithm:
+
1) When you submit a project, you need to provide details of the funding needed for work to be done.
You can’t provide a funding amount value of more than 4/5 power of the total funding pool amount.
e.g. If the total funding pool has $50000, you can’t assign a value larger than $5743
2) Then, we will have a percentage Schelling game to predict the price. That is, you can predict whether to increase or decrease the funding amount in percentage. Remember, it can’t be larger than (Total funding pool amount)^(4/5). Score values will remain from -10 to +10, -10 means 100% decrease, +10 means 100% increase
The range of -10 to +10 has a problem because the mean works best without extreme values. So, if someone gives -10, and others give 1, the mean result can get screwed due to the -10 outlier. So the trick is to remove outliers by computing the standard deviation. Remove all values more than one standard deviation away from the mean. Then, we calculate the new mean of the left values (it consists of 68.27% data of the set).
Code to calculate new mean:
-https://gateway.ipfs.io/ipfs/QmdgL7ytRPSE8vyp5KBffaAjmhGRLusiPcEbt9VWFkgMjf
+
-
3) Then, we will do quality score voting Schelling game that checks the project meets the quality guidelines. The score range is 0-5
4) The amount of funding will be directly proportional to (Predicted Price) * (Quality Score/5*2)
Code:
-https://gateway.ipfs.io/ipfs/QmcPfQFJKzozLMHFkAesDQc9n2CaEh6M8M4VWdsozgWRB9
+
The algorithm tries to meet the values of teal organization through reduced compensation inequality
-
-
-
### Ecosystem Fit
+The project will be built on the substrate as a parachain or parathread.
-The project will be built on the substrate as a parachain or parathread.
-
-Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / Kusama ecosystem. Gitcoin uses quadratic funding, but we will use score schelling game for allocation of funds. Gitcoin is for mainly blockchain projects, but our projects includes local community problems.
+Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / Kusama ecosystem. Gitcoin uses quadratic funding, but we will use score schelling game for allocation of funds. Gitcoin is for mainly blockchain projects, but our projects includes local community problems.
## Team :busts_in_silhouette:
@@ -134,7 +131,7 @@ Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / K
* **Contact Name:** Amiya Behera
* **Contact Email:** amiyatulu@gmail.com
-* **Website:** https://shivarthu.reaudito.com/#/
+* **Website:**
### Legal Structure
@@ -143,26 +140,17 @@ Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / K
### Team's experience
-Amiya Behera is a full-stack developer and has build many webapps and a few dapps. Has experience in substrate, rust, reactjs, python and also in building mobile apps in react native.
+Amiya Behera is a full-stack developer and has build many webapps and a few dapps. Has experience in substrate, rust, reactjs, python and also in building mobile apps in react native.
Soumya Ranjan Behera is also a full stack developer with experience in reactjs, react native and python.
-
-
### Team Code Repos
-* https://github.com/amiyatulu
-* https://github.com/soumyababu
-* https://github.com/amiyatulu/shivarthu
-
-
-
-
-
-
+*
+*
+*
## Development Roadmap :nut_and_bolt:
-
### Overview
* **Total Estimated Duration:** 8 Months
@@ -187,9 +175,6 @@ Soumya Ranjan Behera is also a full stack developer with experience in reactjs,
|3.| Reactjs UI for Experience Evaluation| Uploading evidence of experience for the department using IPFS, UI for commit and reveal voting for schelling game and interaction of UI with substrate |
|4.| Reactjs Approval Voting UI| Userfriendly UI for voting the representatives where their profile is shown |
-
-
-
### Milestone 2 — Additional features
* **Estimated Duration:** 4 month
@@ -203,26 +188,22 @@ Soumya Ranjan Behera is also a full stack developer with experience in reactjs,
| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article**/workshop that explains our project (what was done/achieved as part of the grant.) |
-| 1. | Substrate module: Peer review system | Reviewing the projects using schelling game |
-| 2. | Substrate module: Fund allocation | Allocating the fund using score schelling game |
+| 1. | Substrate module: Peer review system | Reviewing the projects using schelling game |
+| 2. | Substrate module: Fund allocation | Allocating the fund using score schelling game |
| 3.| Reactjs UI for peer review system and Fund allocation | User friendly UI for reviewing the projects, schelling game voting interface, and fund allocation |
| 4. | Search Engine| Offchain search engine for project discovery and finding representatives |
-
-
-
## Future Plans
Short-term:
Improve the ideas with discussing with community
Increase social media reach
Write the source code
-
+
Long-term:
Onboard people into the app, and improve it taking feedback from the community.
Enhance the app, provide upgrades when required.
-
## Additional Information :heavy_plus_sign:
-**How did you hear about the Grants Program?** Web3 Foundation Website
+**How did you hear about the Grants Program?** Web3 Foundation Website
diff --git a/applications/Societal.md b/applications/Societal.md
index f6ced360f5f..739a0e48b06 100644
--- a/applications/Societal.md
+++ b/applications/Societal.md
@@ -1,9 +1,8 @@
-# W3F Grant Proposal
+# Societal - MVP - Phase 1
-- **Project Name:** Societal - MVP - Phase 1
- **Team Name:** Societal Labs Ltd.
- **Payment Address:** Ethereum - USDT: 0xcDcCF94f10d8A7165C1A336DD3795430a6CDE530
-- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
+- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
## Project Overview
@@ -14,24 +13,25 @@ Societal is an all-in-one Decentralized Autonomous Organization (DAO) creation a
Utilizing Polkdaot’s layer-0 infrastructure and ecosystem, Societal will provide DAOs with both maximum functionality and a cohesive user experience. With features including agnostic token compatibility, zero gas fees, a freemium entry point, and a SaaS-based membership pricing, Societal combines best-in-class features into one vertically integrated product. With integrations into DeFi, privacy, and identity protocols, Societal will enable web3 organizations to seamlessly transition and manage their DAOs into the future.
-The Societal team has been building in the Polkadot ecosystem for the last year. While at a previous Polkadot project, the Societal team noticed a lack of integrated DAO tooling - not only in the Polkadot ecosystem, but in the broader web3 industry as a whole. After analyzing how we might transition and manage our previous project into a DAO, there was no clear path. This, along with the team being both members and council members of various DAOs and noticing the lack of infrastructure, we decided to build a solution - Societal.
+The Societal team has been building in the Polkadot ecosystem for the last year. While at a previous Polkadot project, the Societal team noticed a lack of integrated DAO tooling - not only in the Polkadot ecosystem, but in the broader web3 industry as a whole. After analyzing how we might transition and manage our previous project into a DAO, there was no clear path. This, along with the team being both members and council members of various DAOs and noticing the lack of infrastructure, we decided to build a solution - Societal.
### Project Details
-Societal Labs has been designing the product vision of the Socital platform for quite some time. We will go over the project details and blockchain architecture in this application and provide references below for more in-depth context.
+Societal Labs has been designing the product vision of the Socital platform for quite some time. We will go over the project details and blockchain architecture in this application and provide references below for more in-depth context.
-In Societal's final state, it will offer four main services; Create, Transition, Transfer and Manage. Create will allow any web3 user to create their own DAO. Transition will allow protocols to progressively move towards community ownership. Transfer will allow DAOs to transfer their DAO from an expensive siloed chain to the Sociteal platform. Manage will provide DAOs all the required product features to manage their organization, whether it is a small investment club or a large community-governed protocol.
+In Societal's final state, it will offer four main services; Create, Transition, Transfer and Manage. Create will allow any web3 user to create their own DAO. Transition will allow protocols to progressively move towards community ownership. Transfer will allow DAOs to transfer their DAO from an expensive siloed chain to the Sociteal platform. Manage will provide DAOs all the required product features to manage their organization, whether it is a small investment club or a large community-governed protocol.
-Societal will offer a wide range of features to create and manage a DAO. The features are split into three categories; Operations, Treasury, and Governance. The Operations features are: job & task boards, payroll, customizable feeds, legal tooling, on-chain reputation, and web & mobile application. The Treasury features are as follows: treasury wallets (multi-sig), DeFi integrations, on-chain cap table, accounting and private asset integrations. The governance features are: zero gas fee governance, proposal calendar, built-in governance models, governance treasury execution, and private voting.
+Societal will offer a wide range of features to create and manage a DAO. The features are split into three categories; Operations, Treasury, and Governance. The Operations features are: job & task boards, payroll, customizable feeds, legal tooling, on-chain reputation, and web & mobile application. The Treasury features are as follows: treasury wallets (multi-sig), DeFi integrations, on-chain cap table, accounting and private asset integrations. The governance features are: zero gas fee governance, proposal calendar, built-in governance models, governance treasury execution, and private voting.
-Societal will vertically integrate with projects to advance its tech stack and product offering, something not seen in most web3 projects today. For example, Societal can integrate DeFi services by working with projects like Acala, Parallel, and Composable Finance, which will allow for active treasury management for DAOs managed with Societal. For private assets and voting, projects like Manta and Phala can provide privacy-enabling functions like zero-knowledge proofs and trusted execution environments to make this possible. For on-chain credentials, projects like KILT and Litentry can provide KYC and member credentialing services that can be used by DAOs for governance and recruiting.
+Societal will vertically integrate with projects to advance its tech stack and product offering, something not seen in most web3 projects today. For example, Societal can integrate DeFi services by working with projects like Acala, Parallel, and Composable Finance, which will allow for active treasury management for DAOs managed with Societal. For private assets and voting, projects like Manta and Phala can provide privacy-enabling functions like zero-knowledge proofs and trusted execution environments to make this possible. For on-chain credentials, projects like KILT and Litentry can provide KYC and member credentialing services that can be used by DAOs for governance and recruiting.
The Societal platform will host a vast network of DAOs and eventually offer a Cross-DAO Marketplace. DAO’s onboarded onto the platform will have access to a network of individual DAOs, along with any associated sub-DAOs or guilds. When a DAO has a task that needs to be completed, they will have the ability to post this task to the entire Societal network. This will reach the collective network of sub-DAOs or guilds that may have the ability to complete the required work. The interconnection of DAOs on the Societal platform will open up never before seen opportunities in collaboration across the web3 DAO, sub-DAO, and guild ecosystem.
-Finally, Societal plans to progressively transition into a DAO itself. Once the token is launched, a community-run treasury will grow over time until the entire network is owned and operated by the community.
+Finally, Societal plans to progressively transition into a DAO itself. Once the token is launched, a community-run treasury will grow over time until the entire network is owned and operated by the community.
For more information, please refer to the following resources:
+
- Societal Whitepaper [here](https://docsend.com/view/2gte2fd8wc4jp4rg)
- Societal Docs [here](https://docs.sctl.xyz/)
- Societal Testnet Requirements Doc [here](https://docs.google.com/document/d/1seqVIZC-KDVe0ZAdPD1eb8WLKkpirMGB0CcM61eRq3k/edit)
@@ -52,11 +52,11 @@ UI Mockups:
As it stands today, the DAO landscape within the Polkadot ecosystem is not as mature as other ecosystems such as Ethereum and Solana. This is due to insufficient DAO creation and tooling infrastructure in the ecosystem. Currently, the Polkadot ecosystem does not have the creation, governance, treasury management, and payroll tooling products as other major blockchains. By building these tooling products on Polkadot, both the Polkadot DAO landscape and the broader DAO management tooling space is primed for innovation by utilizing the unique technical abilities that Substrate provides.
-The target audience of the Societal application are web3 users who require a platform to easily create and manage their DAO. Using the technical capabilities that Substrate provides, Societal will design our chain to be token agnostic, allowing current MetaMask users to easily connect to our chain and start using the governance application right away. By doing this, our project will meet the needs of the Polkadot community to create their own DAOs and have the tools to manage them as seen in other ecosystems.
+The target audience of the Societal application are web3 users who require a platform to easily create and manage their DAO. Using the technical capabilities that Substrate provides, Societal will design our chain to be token agnostic, allowing current MetaMask users to easily connect to our chain and start using the governance application right away. By doing this, our project will meet the needs of the Polkadot community to create their own DAOs and have the tools to manage them as seen in other ecosystems.
-The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and DoraFactory. Societal differs from these projects in multiple ways. First, Polkassembly is not building their own parachain and is only a governance platform for large Polkadot projects. Societal wants to allow any web3 user to create their own DAO - not just catering to large established protocols. SubDAO has recently been focusing on smart contract deployments on multiple chains and does not appear to be building a parachain. Societal will build its own parachain and use the technical capabilities of Substrate to be truly token agnostic, connecting with widely used wallets such as MetaMask, to avoid doing multiple chain deployments via smart contracts. Dora Factory is similar to Societal in the sense that they are building their own parachian, however we plan to offer zero gas fees and a SaaS based pricing model to enhance our user's experience. Societal will also seek to integrate with other parachains, having cross-chain smart contract execution.
+The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and DoraFactory. Societal differs from these projects in multiple ways. First, Polkassembly is not building their own parachain and is only a governance platform for large Polkadot projects. Societal wants to allow any web3 user to create their own DAO - not just catering to large established protocols. SubDAO has recently been focusing on smart contract deployments on multiple chains and does not appear to be building a parachain. Societal will build its own parachain and use the technical capabilities of Substrate to be truly token agnostic, connecting with widely used wallets such as MetaMask, to avoid doing multiple chain deployments via smart contracts. Dora Factory is similar to Societal in the sense that they are building their own parachian, however we plan to offer zero gas fees and a SaaS based pricing model to enhance our user's experience. Societal will also seek to integrate with other parachains, having cross-chain smart contract execution.
-## Team
+## Team
### Team members
@@ -73,7 +73,7 @@ The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and D
### Legal Structure
- **Registered Address:** 707 5 St SW Unit 500, Calgary, AB, Canada T2P 0Y3
-- **Registered Legal Entity:** Societal Labs Ltd.
+- **Registered Legal Entity:** Societal Labs Ltd.
### Team's experience
@@ -81,16 +81,18 @@ Graeme Fox is the former Director of Business Development at Ruby Protocol, a pr
Tyler Gellatly has been building and scaling early stage start-ups for the last 4+ years. He was employee #1 and Director of Operations & Partnerships at Cuboh (a YC-backed SAAS middleware operating within the ghost kitchen industry) More recently, Tyler helped found Ruby Protocol, a novel privacy protocol building on the Substrate framework, and is still involved in a strategic advisory capacity. Currently, he sits on the DAO council for the Illuminati Collective, which currently has a 1000 ETH treasury under management. Tyler holds a Bachelor of Commerce from the University of Victoria, specializing in corporate strategy and finance. A well-rounded business operations leader with a background in finance, operations, capital fundraising, and strategic partnerships, Tyler is mission driven to bring web3 communities together at scale by utilizing blockchain technology.
-Max Kudinov is the CEO of Magic Powered, a software development firm building multiple web3 projects. Max has a passion for governance projects and was the Project Lead for the development of [Astro DAO](https://astrodao.com/), an all-in-one DAO creation and management platform built on Near. From this experience, Max has excellent understanding of Rust and how he would like to improve upon the Astro DAO project. Max has highly experienced web3 and rust developers on his team, ready to start the development of this project.
+Max Kudinov is the CEO of Magic Powered, a software development firm building multiple web3 projects. Max has a passion for governance projects and was the Project Lead for the development of [Astro DAO](https://astrodao.com/), an all-in-one DAO creation and management platform built on Near. From this experience, Max has excellent understanding of Rust and how he would like to improve upon the Astro DAO project. Max has highly experienced web3 and rust developers on his team, ready to start the development of this project.
### Team Code Repos
Org:
+
- https://github.com/sctllabs
Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.
Team:
+
- https://github.com/gfox1
- https://github.com/near-daos
- https://github.com/near-daos/astro-ui
@@ -117,7 +119,7 @@ Before applying for the Web3 Foundation Grant, the Societal team conducted the f
### Overview
- **Total Estimated Duration:** 4 months
-- **Full-Time Equivalent (FTE):** 3 FTE
+- **Full-Time Equivalent (FTE):** 3 FTE
- **Total Costs:** 30,000 USDT
@@ -127,7 +129,7 @@ Before applying for the Web3 Foundation Grant, the Societal team conducted the f
- **FTE:** 3
- **Costs:** 20,000 USD
-The main delivery of this milestone will be the DAO Factory Pallet. This pallet will allow someone to create a DAO on the Societal Network, where the DAO consists of a governance token, treasury and governance system.
+The main delivery of this milestone will be the DAO Factory Pallet. This pallet will allow someone to create a DAO on the Societal Network, where the DAO consists of a governance token, treasury and governance system.
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
@@ -146,7 +148,7 @@ The main delivery of this milestone will be the DAO Factory Pallet. This pallet
- **FTE:** 3
- **Costs:** 10,000 USD
-The main delivery of this milestone is to have an easy to use and interactive UI for users to create a DAO and manage its governance and treasury.
+The main delivery of this milestone is to have an easy to use and interactive UI for users to create a DAO and manage its governance and treasury.
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
@@ -158,19 +160,19 @@ The main delivery of this milestone is to have an easy to use and interactive UI
| 1. | Client Modules | We will create a client facing UI that will interact with the Societal chain. The main function of the dashboard will be for the creation of the DAO, and manage its goverance & treasury. |
| 2. | Substrate chain | In this milestone the Substrate chain will be built and the necessary pallets will be implemented. The pallets that will be included are: DAO FACTORY, System, Support, Executive, Assets, Authority Discovery, BABE, Balances, Democracy, Elections, Referenda, GRANDPA, Indices, Membership, Multisig, Nicks, Proxy, Scheduler, Transaction Payment, and Treasury |
-Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain.
+Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain.
## Future Plans
-Societal plans to secure fundraising and expand the development team. After the completion of the milestones stated above, Societal plans to expand the product offering by implementing a DAO Market Place and a Mobile App for DAO management. Ideally Societal will be able to secure another Web3 grant for these milestones, along with integrations for [private voting](https://github.com/w3f/Grants-Program/blob/master/rfps/anti-collusion%20infrastructure.md) and [identity voting](https://github.com/w3f/Grants-Program/blob/master/rfps/identity-directory.md) based on links to the RFPs. From there, Societal would also like to apply for the Substrate Builders Program, establishing itself at the go to DAO and governance platform. Finally, Societal will progressively transition into a DAO itself and release control to the community.
+Societal plans to secure fundraising and expand the development team. After the completion of the milestones stated above, Societal plans to expand the product offering by implementing a DAO Market Place and a Mobile App for DAO management. Ideally Societal will be able to secure another Web3 grant for these milestones, along with integrations for [private voting](https://github.com/w3f/Grants-Program/blob/master/rfps/anti-collusion%20infrastructure.md) and [identity voting](https://github.com/w3f/Grants-Program/blob/master/rfps/identity-directory.md) based on links to the RFPs. From there, Societal would also like to apply for the Substrate Builders Program, establishing itself at the go to DAO and governance platform. Finally, Societal will progressively transition into a DAO itself and release control to the community.
## Additional Information
-**How did you hear about the Grants Program?**
+**How did you hear about the Grants Program?**
Societal heard about the Grants Program from our time building in the Polkadot Ecosystem.
@@ -183,4 +185,4 @@ Additional Information:
- Yes, all the founders of Societal Labs have contributed financially to the project.
- Previous grants you may have applied for?
- - No other grants have been applied for.
+ - No other grants have been applied for.
diff --git a/applications/SpiderDAO.md b/applications/SpiderDAO.md
index 3cf94fbb377..028a1ab0ba5 100644
--- a/applications/SpiderDAO.md
+++ b/applications/SpiderDAO.md
@@ -1,16 +1,18 @@
# SpiderDAO Grant Proposal
+
![](https://i.imgur.com/zlw9lZ3.png)
-* **Project:** SpiderDAO
-* **Proposer:** [SpiderDAO] (https://github.com/SpiderDAO)
+
+* **Proposer:** [SpiderDAO] ()
* **Payment Address:** 3Pxq3ViqRW6b3e7qsX7Mo7gSikHcToa7ig
* **Document Version:** Version 2.4
* **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/129#issuecomment-1011987896)
+## Project Overview :page_facing_up:
-## Project Overview :page_facing_up:
**SpiderDAO** is a next-generation hardware-based DAO governance model that aims to bring a new standard of fairness to existing DAO frameworks. Traditional DAO models are subject to attack and takeover by plutocracies controlled by wealthy whales. He who controls the votes controls the DAO.
### Overview
+
**SpiderDAO** is a unique governance infrastructure layer for a hardware-enabled DAO and can be applied in a variety of use cases. As the first use case, Spider will leverage its well-established presence in the hardware VPN market together with a partnership with Sentinel, an established dVPN provider and BPSAA Alliance member, to create a fully self-governing decentralized VPN network called SpiderVPN.
We intend for SpiderDAO to run on its own Parachain on the Polkadot network. If the bond cannot be funded, the protocol will run on Parathreads or possibly as a series of smart contracts. Our initial testnet and protocol configuration will be built on Kusama and ported onto Polkadot for the mainnet launch.
@@ -18,6 +20,7 @@ We intend for SpiderDAO to run on its own Parachain on the Polkadot network. If
We believe that in order to fulfil the SpiderDAO’s vision of bringing greater privacy to the end-user, it is vital to establish a robust ecosystem that prioritises users’ interests. To do this, we must first establish a resilient, scalable and community-led governance system that dynamically adapts to the rapidly changing times. We believe that building a decentralised autonomous organisation is the perfect mechanism that will enable us to reach this goal.
### Project Details
+
![](https://i.imgur.com/4y8BwFo.png)
SpiderDAO’s long term vision is to propose a set of tools bringing privacy and security to today and tomorrow's internet users. To do so in an efficient and sustainable fashion, SpiderDAO’s team imagined and leveraged a robust DAO standard that will withstand the incredible adversity that such a mission implies. A first step is to address the plutocracy governance problem in traditional DAOs by introducing a set of rules that must be abided by to qualify for the right to an on-chain vote via the DAO.
@@ -28,12 +31,12 @@ The SpiderConnect Hardware Router can be purchased by any community member, once
![](https://i.imgur.com/XFm46ql.png)
-
-**SpiderDAO** ecosystem brings together several other components to provide the building blocks for growing and sustaining a dynamic ecosystem.
+**SpiderDAO** ecosystem brings together several other components to provide the building blocks for growing and sustaining a dynamic ecosystem.
![](https://i.imgur.com/AGJhoA5.png)
**Spider Ecosystem will include:**
+
* SpiderDAO is the first hardware-governed DAO with a self-maintaining and self-improving robust Hardware/Software Governance control mechanism.
* SpiderConnect Routers offer multiple roles as a high-speed VPN tunnel, a DAO voting ticket, and a node in a fully autonomous decentralised VPN.
* SpiderVPN is a Virtual Private Network interlinking all the elements of the DAO & offering a complimentary dVPN service for qualifying users.
@@ -43,71 +46,68 @@ The SpiderConnect Hardware Router can be purchased by any community member, once
* **SpiderDashboard** (as seen Below) will provide an end-users access point to the features of the SpiderDAO.
![](https://i.imgur.com/UuanKdg.png)
-
-
+
### Ecosystem Fit
We see many projects in the Polkadot ecosystem that are having similar issues when it comes to voting system: MANTRA DAO is one of the examples.
-The main problem with **Mantra DAO** which is built on **Rio Chain** is the same problem that many other DAOs faces where each token represent 1 vote in the ecosystem which introduces a major problem with the governing body where whales can take control of the DAO by buying big amounts of tokens making them in a way the deciding vote for any proposals.
+The main problem with **Mantra DAO** which is built on **Rio Chain** is the same problem that many other DAOs faces where each token represent 1 vote in the ecosystem which introduces a major problem with the governing body where whales can take control of the DAO by buying big amounts of tokens making them in a way the deciding vote for any proposals.
-### To solve this we intend to add the following features.
+### To solve this we intend to add the following features
**SpiderConnect Router Security**
-- Our routers do have a secured ROM which we can control securely for all units and that's where the essential data will be saved. Our unique ID which currently contains the mac address & the router serial number will be combined with the wallet address and encrypted using our algorithm to make sure it would be nearly impossible to be compromised.
+* Our routers do have a secured ROM which we can control securely for all units and that's where the essential data will be saved. Our unique ID which currently contains the mac address & the router serial number will be combined with the wallet address and encrypted using our algorithm to make sure it would be nearly impossible to be compromised.
**Whale Resistant Voting Model**
-- Our model shifts voting power away from token holders to hardware owners, where one validated router equals one vote. Additionally, Blockchain-based router tracking ensures that hoarding of devices are instantaneously detected by the network and ‘fake’ routers are locked out of the network. The liquidity incentive mechanism will be available to all users and not just people with routers so the entry barrier is removed in this case.
+* Our model shifts voting power away from token holders to hardware owners, where one validated router equals one vote. Additionally, Blockchain-based router tracking ensures that hoarding of devices are instantaneously detected by the network and ‘fake’ routers are locked out of the network. The liquidity incentive mechanism will be available to all users and not just people with routers so the entry barrier is removed in this case.
**Voting by Direct Democracy**
-- Our voting mechanism would be classified as a Direct Democracy system. We are going to balance the voting power by only allowing token holders to have one router regardless of how many tokens they hold. We will make sure they got to go through SpiderConnect to gain more routers for their tokens if we agreed to that. Our DPI filters will monitor that keeping their identity anonymous.
+* Our voting mechanism would be classified as a Direct Democracy system. We are going to balance the voting power by only allowing token holders to have one router regardless of how many tokens they hold. We will make sure they got to go through SpiderConnect to gain more routers for their tokens if we agreed to that. Our DPI filters will monitor that keeping their identity anonymous.
+
+ **How will spiderDAO try and prevent Whales/Bots from manipulating the Hardware Governnace?**
- **How will spiderDAO try and prevent Whales/Bots from manipulating the Hardware Governnace?**
-
-- We are aware that whales/bots can buy more routers using new wallets to try and affect the governance model, but that will come at a heavy cost for adding more routers and also have to wait for a period of time deemed reasonable to the DAO. Users must have active transactions on the wallet before being able to vote to make sure bots and whales won't get access with ease.
+* We are aware that whales/bots can buy more routers using new wallets to try and affect the governance model, but that will come at a heavy cost for adding more routers and also have to wait for a period of time deemed reasonable to the DAO. Users must have active transactions on the wallet before being able to vote to make sure bots and whales won't get access with ease.
-- We will be keeping a log of every MAC Address and serial number for every router we add to our inventory, this we’ll be added to an on-chain ledger or on-chain database. This will help us to identify any clone or anyone trying to spoof/manipulate the hardware.
+* We will be keeping a log of every MAC Address and serial number for every router we add to our inventory, this we’ll be added to an on-chain ledger or on-chain database. This will help us to identify any clone or anyone trying to spoof/manipulate the hardware.
We will also be in constant contact with the growing SpiderDAO community and the open-source community for beneficial ideas on how to make the governorate safer and more resilient to whales-resistance.
-- If the essential data (explained below) is not matched to the end-user and they try to spoof or manipulate access. There will be 3 warnings followed by a ban from taking a part in our governance model for a limited time(still to be decided). The ban time will be increased systematically based on the number of times this is identified until the customer is banned indefinitely if the infringement persistently continues.
-
+* If the essential data (explained below) is not matched to the end-user and they try to spoof or manipulate access. There will be 3 warnings followed by a ban from taking a part in our governance model for a limited time(still to be decided). The ban time will be increased systematically based on the number of times this is identified until the customer is banned indefinitely if the infringement persistently continues.
+
**What is the essential data?**
**The essential data is a combination of the following:**
-- Encrypted wallet seed using aes-256-cbc encryption standard with an auto-generated passphrase* saved as part of the essential data.
-- Router Mac Address to avoid it being cloned.
-- Router serial number which cannot be cloned as it's a part of the chipset code.
-- SHA-512 checksum for a temp file that is created with all the data above which is updated every time the router is rebooted with the timestamp.
+* Encrypted wallet seed using aes-256-cbc encryption standard with an auto-generated passphrase* saved as part of the essential data.
+* Router Mac Address to avoid it being cloned.
+* Router serial number which cannot be cloned as it's a part of the chipset code.
+* SHA-512 checksum for a temp file that is created with all the data above which is updated every time the router is rebooted with the timestamp.
**PS:** Please note the passphrase would only be local and will be independent to the requests sent by the router for the governorate operations.
**Is SpiderConnect Hardware Router open-source?**
-
-- Yes as we want to be involved much more in the open-source community, We are going to be using the Uboot environment with its open-source code to save the essential data which would be listed in the next question.
-- To go into more detail on that point, We will also be giving our community members the option to choose between Open Source wireless drivers and the closed source ones for them to choose so we can make sure we offer an OpenSource friendly solution.
+* Yes as we want to be involved much more in the open-source community, We are going to be using the Uboot environment with its open-source code to save the essential data which would be listed in the next question.
+
+* To go into more detail on that point, We will also be giving our community members the option to choose between Open Source wireless drivers and the closed source ones for them to choose so we can make sure we offer an OpenSource friendly solution.
**PS:** No secured or closed source ROM will be needed using this solution
-
- **How we plan to build on Polkadot Ecosystem?**
-
-- We are planning to build using smart contracts at the beginning but as we scale up to more transactions, We are most likely to move toward a shared solution so we can cut the costs and take charge of how our blockchain will operate.
-**How we plan to achieve on-chain and off-chain communication with SpiderConnect Routers and SpiderDAO governance?**
+ **How we plan to build on Polkadot Ecosystem?**
-- We are planning to write a substrate faucet to communicate with our discord server for our customers to send the token needed for the vote, Initiate voting, pass on the vote for the voting process that would be operated through our discord server.
-- Real votes will be done through our substrate faucet until the final Polkadot/SpiderDAO flavour features are fully-fledged.
-
+* We are planning to build using smart contracts at the beginning but as we scale up to more transactions, We are most likely to move toward a shared solution so we can cut the costs and take charge of how our blockchain will operate.
+**How we plan to achieve on-chain and off-chain communication with SpiderConnect Routers and SpiderDAO governance?**
+* We are planning to write a substrate faucet to communicate with our discord server for our customers to send the token needed for the vote, Initiate voting, pass on the vote for the voting process that would be operated through our discord server.
+* Real votes will be done through our substrate faucet until the final Polkadot/SpiderDAO flavour features are fully-fledged.
## Team :busts_in_silhouette:
### Team members
+
* Nathan Varty (Full-Time, Founder, CEO)
* Žiga Flis (Full-Time, Founder, Senior blockchain Developer & Analyst)
* Anas Sayed (Full-Time, Founder, CTO, Development Manager, Architecture, Full Network Stack Implementation)
@@ -116,40 +116,49 @@ We will also be in constant contact with the growing SpiderDAO community and the
* Pierre Laurent (Strategic Advisor, Blockchain and crypto Enthusiast)
### Team Website
-* https://spiderdao.io
+
+*
### Legal Structure
+
**SpiderDAO** is incorporated in Cayman Island.
### Team's experience
+
**Nathan Varty**
+
* Experienced entrepreneur specialized in IoT development and operations, Skilled in management of onsite Developers.
* Successfully overseeing SpiderVPN's operations since 2017.
* Passionate about decentralizing global currency and governance with the vision to implement that in wider fields.
* Over 5 years experience investing and trading in digital assets.
**Žiga Flis**
+
* Worked as a Chief Technology Officer at RiveX, where he contributed to the development of various blockchain technologies.
* Experienced in on and off-chain tech and has a passion for developing decentralized solutions.
* Experienced in crypto markets since 2016.
**Anas Sayed**
+
* Long standing Project Manager and working with teams of Developers and Administrators.
* Worked on many projects in Entertainment/Telecommunications field including FuboTV, Pensil Media, SpiderVPN.
* Currently working on different projects with market leaders in Telecommunications field.
* Bachelor’s Degree in Computer Science from HICIT in Shorouk Academy, Egypt.
**Alexy Petrunin**
+
* Experienced backend developers with full SDLC implementations.
* Developed multiple OpenWRT projects.
* Extensive knowledge in all Open Systems Interconnection (OSI) model.
**Dr. Alfie Zhao**
+
* Chief Technology Officer, GL Technologies (Hong Kong) Limited.
* Winner of CES innovation awards in 2019 and 2020.
* PhD in engineering management with proven track record in hardware IoT since 2012.
**Pierre Laurent**
+
* Co-founder at Atka advisory.
* Overseeing the European operation of a cryptocurrency exchange as Blockchain Partnerships Manager in 2018
* Early adopter of Blockchain and advisor on several projects
@@ -157,22 +166,24 @@ We will also be in constant contact with the growing SpiderDAO community and the
* Tech-savvy, startup enthusiast, passionate about blockchain technologies.
### Team Code Repos
-* https://github.com/spiderdao
-* https://github.com/painfull30
-* https://github.com/flisko
+
+*
+*
+*