{"signature": "0xff132946fce87c6832526763a4b9ee399e01f4da2555c343f25239d547a38d054e62848c1e55f00a19e388ad7f38e408b730377a8581890f7d221f63cede4bb81c", "application": {"round": "0x2d4d59757d5a7c3c376fc47b9f4501c347b9654d", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "hgbq2BR8FUmNPxMulhRXlamrs5gwF2Y+tAsu8oggt/1htNNX3QKvC0DfcC5+0Q5A", "encryptedSymmetricKey": "e7e6d7da2cf4522af548d9c6f148a715a51f6c2403dcd4096ee30c0094fffa0ab3a13afbf9dcfb71000a9e14bdf049100f79224e956fb641be5ecb2d01107ad8a5b27a0a3110e26f6275cb68f15165720a24fc00b60e3a32e10b72e52882fca402cc55d834a209185c0734f66fa749dd63872fddea283534505b7505f272f54500000000000000208c286b32668072445cd1484ae4d3e5aaa795babe8ffa7990f31a2815cca6d990cef271a9fe50a549d106601a33aec9b6"}}, {"type": "short-answer", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "https://github.com/quic-go/quic-go", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "GG20", "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": "quic-go powers QUIC connectivity in Prysm.", "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": "We're constantly working to improve quic-go. This year, we shipped 7 major releases (see https://github.com/quic-go/quic-go/releases for details), primarily focused on improving performance and enabling new QUIC features.\n\nA highlight this year was the launch of our new comprehensive documentation website (https://quic-go.net/docs/), which explains both basic and advanced QUIC concepts and how to make use of them in quic-go (incl. lots of code samples).", "hidden": true, "question": "Describe any pioneering development work in your project, particularly in enhancing privacy, interoperability, or user experience.", "questionId": 6}, {"type": "paragraph", "answer": "QUIC offers:\n\n* fast connection establishment (the libp2p QUIC handshake completes in 2 RTTs instead of 4-5 RTTs for the libp2p TCP handshake)\n\n* enhanced congestion control and loss recovery -> faster transfer / message propagation speeds, especially on lossy connections\n\n* another connection option next to TCP -> better chances of censorship circumvention (makes it harder for networks to block Ethereum traffic)\n\nSince Lighthouse has had QUIC support for about one year now (see https://lighthouse-blog.sigmaprime.io/Quic,%20Networking.html), Prysm nodes will now be able to use QUIC to connect to those Lighthouse nodes, as well as to other Prysm nodes.", "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": "The grant funds will be used for further performance improvements and continued maintenance of the library.\n\nFeature-wise, this includes:\n* Implementing the ACK_FREQUENCY extension (https://github.com/quic-go/quic-go/issues/2482). We expect significant speedups of high-bandwidth transfers.\n* Implementing BBRv3: A new congestion controller, improving performance by reducing queueing delays (https://github.com/quic-go/quic-go/issues/4565).", "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": "Without QUIC, the Ethereum network would have to rely on libp2p's TCP based transport. This transport involves a lot of moving parts (and network roundtrips) to set up a connection, namely:\n1. multistream to negotiate a security protocol\n2. security handshake (in Ethereum's case: Noise)\n3. multistream to negotiate a stream multiplexer (mplex and yamux)\n\nIn addition to wasting a lot of network roundtrips, all of these components are less well specified and less well tested than QUIC.\n\nFurthermore, widespread QUIC support makes it easier for new implementations to join the network, as all they need is a QUIC stack (which are available in every programming language by now), as opposed to the bespoke libp2p handshake described above.", "hidden": true, "question": "How does your project contribute to the decentralization and security of the Ethereum network?", "questionId": 9}, {"type": "paragraph", "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]—for 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": "0x11fdec05421d0276e2ed523ad646343efb18d7c7309c2281ef1b10b01e6c3f49", "title": "quic-go", "metaPtr": {"pointer": "bafkreieyrtosijfljpvdtdgci4i3a7mlscjtcviekgnphsye4ch347xlb4", "protocol": "undefined"}, "website": "https://github.com/quic-go/quic-go", "bannerImg": "bafkreiaztofk2472t6owacg67p4k3vaju3uyonfvha3m54kialfbvulbui", "createdAt": 1712809614078, "userGithub": "marten-seemann", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..kIIFXh2vrdJB0km1RD2SWodcbDNAwcs8MQDIGVcuh_rNo8zMTlY6jfirjvXXUh_ZA74TFKn7mmFfQKgvjk6cDg", "type": "Ed25519Signature2018", "created": "2024-04-11T04:23:04.097Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-11T04:23:04.097Z", "expirationDate": "2024-07-10T04:23:04.097Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x2590cd551F58c7BB11A38fA96F5Ba3B7f9badaFC", "hash": "v0.0.0:ODjdl8dg+Zd3vFNa/+ddbgcI+nVMM1VP+EdjOGmUe20=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#quic-go#1478487"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..BxnPieyGS4057tnvRnybm_Z6XZ2QjOEJ1AcShUDL43hKOocYvKp0TWdJMgDorH6SH2zFvH2QtIzlNnOxVo8gCQ", "type": "Ed25519Signature2018", "created": "2024-04-11T04:29:25.541Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-11T04:29:25.541Z", "expirationDate": "2024-07-10T04:29:25.541Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x2590cd551F58c7BB11A38fA96F5Ba3B7f9badaFC", "hash": "v0.0.0:SL88J/TKYomEFiKecHdAXMS3/QaeN1ikBI12rmDdkkg=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#m4r73n"}}}, "description": "quic-go is an open-source, pure Go implementation of the QUIC protocol (RFC 9000).\n\nPrysm recently (https://github.com/prysmaticlabs/prysm/pull/13786) enabled support for QUIC, provided by quic-go. Lighthouse already had QUIC support enabled for a long time.\n\nThis has the following impact on Prysm nodes:\n* fast connection establishment (the libp2p handshake completes in 2 RTTs instead of 4-5 RTTs when using TCP)\n* enhanced congestion control and loss recovery -> faster transfer / message propagation speeds (especially on lossy connections)\n* another connectivity option next to TCP -> better chances of censorship circumvention (makes it harder to block Ethereum traffic)", "lastUpdated": 0, "projectGithub": "quic-go", "projectTwitter": "m4r73n"}, "recipient": "0x713A213708104FC9a9dfA4f9A26A1da288e5e59b"}}