metadata: {"signature": "0xd6d98a9dabcef91412c60686dc9981993f03542bd68f1ed945f6df91cccdbbdb33ba0212438192029f3f9fee779013ac81b67711059b06a42e22a19485e0997d1b", "application": {"round": "0x2d4d59757d5a7c3c376fc47b9f4501c347b9654d", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "nR22ByVeiDmjM34ZvMZSMf0k6ZWoqK2XHogQv4+PmdGFGhc6dK0jrGiw5IjFhBom", "encryptedSymmetricKey": "58fa9f86e788713d4cbbcfab637b16f47db42faf81eeb17019a3304b2141dcbc4da322b47942a9dc6385b7b882c43201998bc4dd626b95068c759bca2c7ba227ba6d9c7e1fc9f476941c5afdd95936c1c055218a66178db5cba28157feedf89077fe8859cf7e265cce9ce96a1e985a0ff63f3563a7919318bb89ec3386c9e65500000000000000200d36e156afe384aa3f9d89adbd4a5d120e73258b3f5d61c2a1aac4f2c368ca143c17b46e11aa31ba5a936d9034b2c7a0"}}, {"type": "short-answer", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "https://github.com/orbitdb/orbitdb", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "answer": "https://matrix.to/#/%23orbitdb_Lobby:gitter.im", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "https://builder.gitcoin.co/#/chains/137/registry/0x/projects/0xb41886ba1efb90342778b99e54257c26a58a723ac6820b1578a359824452044f", "hidden": true, "question": "Have you participated in a previous Gitcoin Grants Round? If so, please name the rounds or link the builder profile to prior rounds.", "questionId": 4}, {"type": "paragraph", "answer": "OrbitDB is a p2p database system. As such it does not provide support for secure and efficient smart contract development. However, it provides a crucial part of the decentralized development stack; data storage, allowing dapps to become truly decentralized. \n\nStoring more information off-chain (and directly, with the user) will reduce the need for additional functionality onchain, simplifying smart contracts. A smart contract with less \"moving parts\" will be easier to secure and audit, thus reducing the attack surface area.\n\nAn application of off-chain data collection could be used in a voting mechanism whereby votes cast are stored to an OrbitDB database and later \"rolled-up\" and cryptocraphically signed before being \"ratified\" online via a smart contract. Such a feature could be extended to other concepts such as micro-payments.\n\nUsage statistics publicly available on website, github and package pages:\n\nhttps://github.com/orbitdb/orbitdb\nhttps://www.orbitdb.org\nhttps://www.npmjs.com/package/@orbitdb/core\n\nDuring IPFS Camp 2024, OrbitDB was downloaded over 41,000 times.", "hidden": true, "question": "How does your project contribute significantly to the Ethereum network's infrastructure? Please provide specific examples and metrics if available.", "questionId": 5}, {"type": "paragraph", "answer": "OrbitDB is a peer-to-peer, serverless database system. Its primary use case is to take back ownership of electronic data, by storing it directly on the storage of the creator. OrbitDB is privacy-focussed and censorship-proof. A user's data cannot be sold by others unless the user expressly shares their data with other parties. Their data cannot be deleted or blocked by outside agencies.\n\nOrbitDB fills the storage gap in the decentralized software stack. OrbitDB provides developers with tools necessary to enhance user privacy, take back control of data ownership and ensure information is censorship-free.\n\nOrbitDB is easy for developers to implement into their new or existing projects. Our aim is to abstract away many of the difficulties associated with TOR, p2p and other decentralized network topologies.\n\nOrbitDB is not tied to a cryptocurrency, is not funded by large investors and does not have a large marketing budget. OrbitDB is an important piece of technology developed by volunteers. Therefore, it is not tied to any agendas.", "hidden": true, "question": "Describe any pioneering development work in your project, particularly in enhancing privacy, interoperability, or user experience.", "questionId": 6}, {"type": "paragraph", "answer": "OrbitDB is a peer-to-peer, serverless database system. It provides one of the core building blocks in the decentralized application stack; storage.\n\nThe Decentralized Application (dApp) primary user experience is to provide an easy-to-use graphical interface when \"talking to\" Ethereum smart contracts. In fact, much of the tooling around dApps is Ethereum-funded and Ethereum-focussed. Other technologies such as IPFS have been integral pieces to the Ethereum ecosystem, even providing the industry-standard decentralized storage for ERC721 NFT smart contracts.\n\nOrbitDB can fulfill two core roles; 1) providing the \"much-needed\" decentralized storage for the dApp stack and 2) providing off-chain storage where IPFS may not be required. For example, OrbitDB database or record hashes could be used for NFTs which may not require the storage of rich media (PDFs, images, video, etc). ", "hidden": true, "question": "What specific problems or challenges in the Ethereum ecosystem does your project address? How does your solution improve upon existing alternatives?", "questionId": 7}, {"type": "paragraph", "answer": "This grant will be specifically targeted at two deliverables OrbitDB is currently undertaking in parallel:\n\n- Data Encryption\n\nData, both at the record and database level can be encrypted and decrypted using a modular architecture. Both symmetric and asymmetric encryption can be applied using alternative \"pluggable\" modules.\n\nhttps://github.com/orbitdb/orbitdb/tree/feat/encryption\n\nRoadmap:\n\n- Prototype of encrypted databases (done)\n- Encrypt data in using OrbitDB identities (done)\n- Decrypt data out using OrbitDB identities (done)\n- Encryption unit testing\n- Decryption unit testing\n\n\n- Pinning (Replication) Service\n\nVoyager, OrbitDB's pinning service provides replication of databases without the data owner's machine being present on the network. This is particularly useful for browser-based dApps which leverage OrbitDB. It can be assumed that a database in a browser will be offline much of the time, rendering the user's data inaccessible. By replicating it via an \"always-up\" peer, applications can access a user's data even when their data source is offline.\n\nhttps://github.com/orbitdb/orbit-db-pinner/tree/pinner/new\nhttps://github.com/orbitdb/orbit-db-pinner/tree/pinner/new-refactor-2\n\nRoadmap:\n\n- Voyager: Replication server (done)\n- Orbiter: Voyager interfacing tools (done)\n- Lander: Voyager Client tools (done)\n- Develop robust communication between Voyager and source peers\n- Unit testing\n\n\nFunds raised will be used to fund the core developers who have volunteered their time and expertise to the above  projects so far and to ensure the development of the outstanding tasks.", "hidden": true, "question": "Outline your project's roadmap and how the grant funds will be used to achieve your development goals.", "questionId": 8}, {"type": "paragraph", "answer": "Imagine a decentralized exchange which stores the user's settings to an OrbitDB database. The user's settings, off-chain transaction history and other particulars are replicated across every device where the exchange  application is used, without any need to deploy centralized data storage infrastructure.\n\nOrbitDB provides a crucial piece of the dApp stack; storage.\n\nOrbitDB can greatly simplify data storage needs and abstract many of the complications which arise from decentralized protocols, allowing developers to focus on the features of their software rather than the internal mechanics.", "hidden": true, "question": "How does your project contribute to the decentralization and security of the Ethereum network?", "questionId": 9}, {"type": "paragraph", "answer": "N/A OrbitDB is chain agnostic.", "hidden": true, "question": "For any project deploying smart contracts on blockchain networks, please list all your deployer addresses and their corresponding blockchain networks. Use this format for each entry: [deployer_address], [chain_id]\u2014for example, 0x123abc..., 42161 (This represents a deployer address on the Arbitrum network). Please include a separate line for each unique deployer address and blockchain combination.", "questionId": 10}], "project": {"id": "0xb41886ba1efb90342778b99e54257c26a58a723ac6820b1578a359824452044f", "title": "OrbitDB", "logoImg": "bafkreic6nakpnnhdma2wuxr63ypmrsjkh7ozcoqn6ztnevokv2lriiqvwu", "metaPtr": {"pointer": "bafkreigcil7qgjapxsgsrzojtiygrx22uo2sx5eooyuc2a2t77fh3ulbum", "protocol": "undefined"}, "website": "https://www.orbitdb.org", "bannerImg": "bafkreidhdqli7c4op3zac3pbpa3ufs5htbzqafaoirmpdxswzbpejyfmd4", "createdAt": 1713385730355, "userGithub": "haydenyoung", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..Rpj2hnfGjJdhttCEDbBAcm4b8gP5DhGemdNNNs-pxqquJgxpkxnBGUKcnQ4eylf6ZzfWOgrzSR0NmSAWdVUPAA", "type": "Ed25519Signature2018", "created": "2024-04-17T20:24:47.880Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-17T20:24:47.879Z", "expirationDate": "2024-07-16T20:24:47.879Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x11cb4B21b11b6C1282291A01cB7725933FD76792", "hash": "v0.0.0:3Jmz/7ASOUx8wvWyJV2pFk+DInk43zsdNlivk0hSoBE=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#orbitdb#936565"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..MwkyqJ-kf505m5oFdxLEsN_GMuhwKzRSPBweBCS_6gDWkXOU5arXW21Udaf11pQ8L9tqO6J-yCfmlI2UD8QpBQ", "type": "Ed25519Signature2018", "created": "2024-04-17T20:28:24.326Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-17T20:28:24.326Z", "expirationDate": "2024-07-16T20:28:24.326Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x11cb4B21b11b6C1282291A01cB7725933FD76792", "hash": "v0.0.0:H5lPPKJSDtOD6twCs5ah2f7Fq/v0Xog0CFz8SICY49Q=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#orbit_db"}}}, "description": "OrbitDB is a serverless, distributed, peer-to-peer database. OrbitDB uses IPFS as its data storage and Libp2p Pubsub to automatically sync databases with peers. It's an eventually consistent database that uses Merkle-CRDTs for conflict-free database writes and merges making OrbitDB an excellent choice for p2p and decentralized apps, blockchain applications and local-first web applications.\n\nOrbitDB empowers developers to build applications which protect data ownership, ensure user privacy and resist censorship.", "lastUpdated": 0, "projectGithub": "orbitdb", "projectTwitter": "orbit_db"}, "recipient": "0x7d8d6519c81de8017d473247b4374fafb42996f5"}}