mettre()
méthode avec le hachage BLOB et des frais en ETH. Les frais seront progressivement distribués aux fournisseurs de stockage lors de la soumission d'une preuve valide de stockage de BLOBs hors chaîne au fil du temps. Le testnet EthStorage fonctionne sur le testnet Ethereum Sepolia avec plusieurs participants de la communauté prouvant avec succès leur stockage local.Remerciements : Un grand merci à Piper Merriam de l'EF, Karthik Raju de Polychain, Qiang d'EthStorage pour avoir donné leur avis sur l'article.
Le 22 octobre 2023, Péter Szilágyi, le célèbre responsable du développement de Go-Ethereum (Geth), a exprimé ses profondes préoccupations sur Twitter. Il a souligné que tandis que les clients Geth conservent toutes les données historiques, d'autres clients Ethereum comme Nethermind et Besu peuvent être configurés pour fonctionner sans certaines données historiques d'Ethereum, telles que les corps de blocs et les en-têtes historiques. Cela rend tous les clients incohérents et est injuste pour Geth. Cela a suscité des discussions intenses et des débats autour du problème de stockage d'Ethereum dans la feuille de route d'Ethereum.
Pourquoi Nethermind et Besu choisissent-ils d'arrêter de stocker des données historiques? Quels problèmes sous-tendent cette décision? De mon point de vue, il y a deux causes profondes principales:
La première raison découle de l'escalade des exigences de stockage pour exécuter un client Ethereum. Pour approfondir les exigences spécifiques, le diagramme circulaire suivant illustre la répartition des coûts de stockage pour un nouveau nœud Geth, au bloc 18,779,761 le 13 décembre 2023.
Comme le montre la photo :
La deuxième raison est l'absence d'incitations ou de pénalités dans le protocole pour stocker les blocs historiques. Alors que le protocole impose aux nœuds de stocker toutes les données historiques, il ne prévoit aucun mécanisme pour encourager le stockage ou pénaliser le non-respect. Stocker et partager des données historiques par les nœuds devient purement altruiste, et un nœud est libre d'élaguer toutes les données historiques sans encourir de conséquences néfastes. En revanche, les validateurs, par exemple, doivent maintenir le dernier état complet pour éviter de proposer/voter pour un bloc invalide, risquant la perte d'incitations dans les deux cas.
Par conséquent, lorsque le coût de stockage devient un fardeau substantiel pour un nœud, il n'est pas surprenant que certains opérateurs de nœuds choisissent de tailler les données historiques. Le choix de fonctionner sans données historiques peut entraîner des économies de coûts de stockage importantes, les réduisant d'environ 1 To à environ 300 Go.
Illustration : La configuration de Nethermined pour exécuter un nœud sans les corps de blocs historiques - économisant environ 460 Go de coûts de stockage pour le moment.
Le défi du stockage devrait s'intensifier avec la prochaine mise à niveau de la disponibilité des données Ethereum (DA). Le cheminLe processus de mise à l'échelle complète de l'Ethereum DA commence avec l'EIP-4844 à DenCun, introduisant un objet binaire de taille fixe (BLOB) accompagné d'un modèle de frais indépendant connu sous le nom de blobGasPrice. Chaque BLOB est fixé à 128 Ko et l'EIP-4844 permet à chaque bloc de contenir jusqu'à 6 BLOBs. Pour améliorer la scalabilité des données, le plan prévoit la mise en œuvre du code de Reed-Solomon 1D, permettant 32 BLOBs par bloc initialement et atteignant éventuellement 256 BLOBs par bloc à pleine échelle.
Avec l'opération de données Ethereum DA à pleine capacité avec 256 BLOB par bloc, un an de réseau Ethereum DA est prévu pour accepter environ 80 To de données, dépassant les capacités de stockage de la plupart des nœuds Ethereum.
Vitaliktweetde la feuille de route d'Ethereum, dans laquelle le Purge traite principalement du stockage.
Les coûts croissants de stockage ont attiré l'attention des chercheurs au sein de l'écosystème Ethereum. Pour y remédier et garantir l'alignement entre tous les clients, plusieurs propositions sont en développement pour élaguer explicitement le stockage. Les deux principales propositions sont :
Quelle est la conséquence de l'élagage des données historiques de tous les clients? La principale est qu'un nouveau nœud ne peut pas se synchroniser avec le dernier état via une "synchronisation complète" - une synchronisation pour rejouer les transactions depuis le bloc de genèse jusqu'au dernier bloc. Au lieu de cela, nous devons recourir à une "synchronisation instantanée" ou "synchronisation d'état" pour synchroniser le dernier état à partir des pairs Ethereum. Cette approche est déjà implémentée dans Geth et s'exécute comme la synchronisation par défaut.
De même, cette conséquence s'applique également à tous les L2, c'est-à-dire qu'un nouveau nœud de L2 ne peut pas rejouer entièrement le dernier état depuis le début de L2 à partir d'Ethereum en rejouant les blocs de L2 depuis le début de L2. De plus, étant donné que les nœuds L1 ne maintiennent pas l'état L2, l'approche de synchronisation instantanée pour L2 ne peut pas dériver le dernier état de L2 à partir de L1 - brisant une hypothèse importante de L2 d'hériter des garanties de sécurité d'Ethereum. La solution projetée reposera sur des services tiers tels qu'Infura / Etherscan / les projets L2 eux-mêmes pour stocker une copie des données ou de l'état historiques de L2, qui est centralisée avec des incitations indirectes hors protocole.
Les questions fondamentales que nous posons sont
Le réseau de portail Ethereum sert de réseau d'accès léger et décentralisé au protocole Ethereum. Offrant une interface JSON-RPC Ethereum telle que eth_call, eth_getBlockByNumber, il traduit les demandes JSON-RPC en demandes P2P à une table de hachage distribuée, similaire au réseau IPFS. Contrairement à IPFS, qui permet le stockage de tout type de données et est susceptible de spam, le réseau P2P du Portail héberge exclusivement des données Ethereum, telles que des en-têtes et des corps historiques. Ceci est réalisé grâce à une technique de vérification de client léger intégrée dans le réseau de portails.
Une caractéristique significative du réseau Portal est sa conception pour un fonctionnement léger et sa compatibilité avec des appareils aux ressources limitées. Il peut fonctionner sur un nœud avec quelques mégaoctets de stockage et une faible mémoire, favorisant la décentralisation. Même un téléphone portable ou un appareil Raspberry Pi peut potentiellement rejoindre le réseau et contribuer à la disponibilité des données Ethereum.
Le développement du réseau Portal est conforme à la philosophie de diversité des clients Ethereum, avec des clients écrits en Rust, JavaScript, Nim et Go. Le réseau de balises et le réseau d'historique sont prêts à être utilisés, tandis que le réseau d'état est activement en cours de développement. Notamment, le réseau Portal ne fournit pas d'incitations directes pour le stockage de données - tous les nœuds du réseau fonctionnent de manière altruiste.
Illustration : Exécution d’un réseau de portail (Trin) avec une limite de stockage de 100 Mo.
Le réseau de stockage EthStorage est un réseau de stockage incitatif décentralisé spécialement conçu pour stocker des BLOB EIP-4844, soutenu par une subvention du programme ESP.
D'un point de vue de la modularité de la blockchain, EthStorage fonctionne comme une couche 2 d'Ethereum, mais collecte des frais de stockage au lieu de frais de transaction. En indexant les hachages de BLOB on-chain, EthStorage est une couche de stockage modulaire Ethereum avec une évolutivité de stockage importante et des économies de coûts significatives - ciblant environ 1000x.
En termes de développement, EthStorage est déjà intégré à l'EIP-4844 sur le testnet Ethereum Sepolia. Un test de stress sur EthStorage et le testnet Ethereum Sepolia a été réalisé, impliquant l'écriture d'environ des centaines de gigaoctets de BLOB sur EthStorage. Plus de 50 participants de la communauté ont rejoint le réseau et ont réussi à prouver leurs stockages locaux.
L'avantage principal du réseau EthStorage réside dans la fourniture d'une incitation directe et décentralisée sur Ethereum, une fonctionnalité pionnière, pour autant que nos connaissances actuelles s'étendent. Cependant, une limitation du réseau est qu'il est spécifiquement conçu pour des BLOB de taille fixe.
Le tableau de bord d'EthStorage sur Ethereum Devnet
Le stockage d'Ethereum, bien que moins mis en avant, revêt une importance significative au sein de l'écosystème Ethereum. Alors que le réseau Ethereum connaît une croissance rapide, le stockage et l'accessibilité des données Ethereum émergent comme des défis critiques. Bien que le réseau Portal et le réseau EthStorage en soient à leurs débuts, nous envisageons plusieurs directions intrigantes pour le long terme :
Dans notre poursuite, nous aspirons à ce que ces efforts contribuent collectivement à la feuille de route d'Ethereum, posant les bases pour les futures solutions de stockage décentralisé au sein de l'écosystème Ethereum.
Cet article est reproduit à partir de [ flux technologique profond marée] , le titre original est “Ethereum Storage Roadmap: Challenges and Opportunities”, les droits d'auteur appartiennent à l'auteur original [EthStorage], si vous avez des objections à la reproduction, veuillez contacter Équipe d'apprentissage de Gate, l'équipe s'en occupera dès que possible selon les procédures pertinentes.
Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les points de vue personnels de l'auteur et ne constituent aucun conseil en investissement.
D'autres versions linguistiques de l'article sont traduites par l'équipe Gate Learn, non mentionnées dansGate.io , l'article traduit ne peut être reproduit, distribué ou plagié.
mettre()
méthode avec le hachage BLOB et des frais en ETH. Les frais seront progressivement distribués aux fournisseurs de stockage lors de la soumission d'une preuve valide de stockage de BLOBs hors chaîne au fil du temps. Le testnet EthStorage fonctionne sur le testnet Ethereum Sepolia avec plusieurs participants de la communauté prouvant avec succès leur stockage local.Remerciements : Un grand merci à Piper Merriam de l'EF, Karthik Raju de Polychain, Qiang d'EthStorage pour avoir donné leur avis sur l'article.
Le 22 octobre 2023, Péter Szilágyi, le célèbre responsable du développement de Go-Ethereum (Geth), a exprimé ses profondes préoccupations sur Twitter. Il a souligné que tandis que les clients Geth conservent toutes les données historiques, d'autres clients Ethereum comme Nethermind et Besu peuvent être configurés pour fonctionner sans certaines données historiques d'Ethereum, telles que les corps de blocs et les en-têtes historiques. Cela rend tous les clients incohérents et est injuste pour Geth. Cela a suscité des discussions intenses et des débats autour du problème de stockage d'Ethereum dans la feuille de route d'Ethereum.
Pourquoi Nethermind et Besu choisissent-ils d'arrêter de stocker des données historiques? Quels problèmes sous-tendent cette décision? De mon point de vue, il y a deux causes profondes principales:
La première raison découle de l'escalade des exigences de stockage pour exécuter un client Ethereum. Pour approfondir les exigences spécifiques, le diagramme circulaire suivant illustre la répartition des coûts de stockage pour un nouveau nœud Geth, au bloc 18,779,761 le 13 décembre 2023.
Comme le montre la photo :
La deuxième raison est l'absence d'incitations ou de pénalités dans le protocole pour stocker les blocs historiques. Alors que le protocole impose aux nœuds de stocker toutes les données historiques, il ne prévoit aucun mécanisme pour encourager le stockage ou pénaliser le non-respect. Stocker et partager des données historiques par les nœuds devient purement altruiste, et un nœud est libre d'élaguer toutes les données historiques sans encourir de conséquences néfastes. En revanche, les validateurs, par exemple, doivent maintenir le dernier état complet pour éviter de proposer/voter pour un bloc invalide, risquant la perte d'incitations dans les deux cas.
Par conséquent, lorsque le coût de stockage devient un fardeau substantiel pour un nœud, il n'est pas surprenant que certains opérateurs de nœuds choisissent de tailler les données historiques. Le choix de fonctionner sans données historiques peut entraîner des économies de coûts de stockage importantes, les réduisant d'environ 1 To à environ 300 Go.
Illustration : La configuration de Nethermined pour exécuter un nœud sans les corps de blocs historiques - économisant environ 460 Go de coûts de stockage pour le moment.
Le défi du stockage devrait s'intensifier avec la prochaine mise à niveau de la disponibilité des données Ethereum (DA). Le cheminLe processus de mise à l'échelle complète de l'Ethereum DA commence avec l'EIP-4844 à DenCun, introduisant un objet binaire de taille fixe (BLOB) accompagné d'un modèle de frais indépendant connu sous le nom de blobGasPrice. Chaque BLOB est fixé à 128 Ko et l'EIP-4844 permet à chaque bloc de contenir jusqu'à 6 BLOBs. Pour améliorer la scalabilité des données, le plan prévoit la mise en œuvre du code de Reed-Solomon 1D, permettant 32 BLOBs par bloc initialement et atteignant éventuellement 256 BLOBs par bloc à pleine échelle.
Avec l'opération de données Ethereum DA à pleine capacité avec 256 BLOB par bloc, un an de réseau Ethereum DA est prévu pour accepter environ 80 To de données, dépassant les capacités de stockage de la plupart des nœuds Ethereum.
Vitaliktweetde la feuille de route d'Ethereum, dans laquelle le Purge traite principalement du stockage.
Les coûts croissants de stockage ont attiré l'attention des chercheurs au sein de l'écosystème Ethereum. Pour y remédier et garantir l'alignement entre tous les clients, plusieurs propositions sont en développement pour élaguer explicitement le stockage. Les deux principales propositions sont :
Quelle est la conséquence de l'élagage des données historiques de tous les clients? La principale est qu'un nouveau nœud ne peut pas se synchroniser avec le dernier état via une "synchronisation complète" - une synchronisation pour rejouer les transactions depuis le bloc de genèse jusqu'au dernier bloc. Au lieu de cela, nous devons recourir à une "synchronisation instantanée" ou "synchronisation d'état" pour synchroniser le dernier état à partir des pairs Ethereum. Cette approche est déjà implémentée dans Geth et s'exécute comme la synchronisation par défaut.
De même, cette conséquence s'applique également à tous les L2, c'est-à-dire qu'un nouveau nœud de L2 ne peut pas rejouer entièrement le dernier état depuis le début de L2 à partir d'Ethereum en rejouant les blocs de L2 depuis le début de L2. De plus, étant donné que les nœuds L1 ne maintiennent pas l'état L2, l'approche de synchronisation instantanée pour L2 ne peut pas dériver le dernier état de L2 à partir de L1 - brisant une hypothèse importante de L2 d'hériter des garanties de sécurité d'Ethereum. La solution projetée reposera sur des services tiers tels qu'Infura / Etherscan / les projets L2 eux-mêmes pour stocker une copie des données ou de l'état historiques de L2, qui est centralisée avec des incitations indirectes hors protocole.
Les questions fondamentales que nous posons sont
Le réseau de portail Ethereum sert de réseau d'accès léger et décentralisé au protocole Ethereum. Offrant une interface JSON-RPC Ethereum telle que eth_call, eth_getBlockByNumber, il traduit les demandes JSON-RPC en demandes P2P à une table de hachage distribuée, similaire au réseau IPFS. Contrairement à IPFS, qui permet le stockage de tout type de données et est susceptible de spam, le réseau P2P du Portail héberge exclusivement des données Ethereum, telles que des en-têtes et des corps historiques. Ceci est réalisé grâce à une technique de vérification de client léger intégrée dans le réseau de portails.
Une caractéristique significative du réseau Portal est sa conception pour un fonctionnement léger et sa compatibilité avec des appareils aux ressources limitées. Il peut fonctionner sur un nœud avec quelques mégaoctets de stockage et une faible mémoire, favorisant la décentralisation. Même un téléphone portable ou un appareil Raspberry Pi peut potentiellement rejoindre le réseau et contribuer à la disponibilité des données Ethereum.
Le développement du réseau Portal est conforme à la philosophie de diversité des clients Ethereum, avec des clients écrits en Rust, JavaScript, Nim et Go. Le réseau de balises et le réseau d'historique sont prêts à être utilisés, tandis que le réseau d'état est activement en cours de développement. Notamment, le réseau Portal ne fournit pas d'incitations directes pour le stockage de données - tous les nœuds du réseau fonctionnent de manière altruiste.
Illustration : Exécution d’un réseau de portail (Trin) avec une limite de stockage de 100 Mo.
Le réseau de stockage EthStorage est un réseau de stockage incitatif décentralisé spécialement conçu pour stocker des BLOB EIP-4844, soutenu par une subvention du programme ESP.
D'un point de vue de la modularité de la blockchain, EthStorage fonctionne comme une couche 2 d'Ethereum, mais collecte des frais de stockage au lieu de frais de transaction. En indexant les hachages de BLOB on-chain, EthStorage est une couche de stockage modulaire Ethereum avec une évolutivité de stockage importante et des économies de coûts significatives - ciblant environ 1000x.
En termes de développement, EthStorage est déjà intégré à l'EIP-4844 sur le testnet Ethereum Sepolia. Un test de stress sur EthStorage et le testnet Ethereum Sepolia a été réalisé, impliquant l'écriture d'environ des centaines de gigaoctets de BLOB sur EthStorage. Plus de 50 participants de la communauté ont rejoint le réseau et ont réussi à prouver leurs stockages locaux.
L'avantage principal du réseau EthStorage réside dans la fourniture d'une incitation directe et décentralisée sur Ethereum, une fonctionnalité pionnière, pour autant que nos connaissances actuelles s'étendent. Cependant, une limitation du réseau est qu'il est spécifiquement conçu pour des BLOB de taille fixe.
Le tableau de bord d'EthStorage sur Ethereum Devnet
Le stockage d'Ethereum, bien que moins mis en avant, revêt une importance significative au sein de l'écosystème Ethereum. Alors que le réseau Ethereum connaît une croissance rapide, le stockage et l'accessibilité des données Ethereum émergent comme des défis critiques. Bien que le réseau Portal et le réseau EthStorage en soient à leurs débuts, nous envisageons plusieurs directions intrigantes pour le long terme :
Dans notre poursuite, nous aspirons à ce que ces efforts contribuent collectivement à la feuille de route d'Ethereum, posant les bases pour les futures solutions de stockage décentralisé au sein de l'écosystème Ethereum.
Cet article est reproduit à partir de [ flux technologique profond marée] , le titre original est “Ethereum Storage Roadmap: Challenges and Opportunities”, les droits d'auteur appartiennent à l'auteur original [EthStorage], si vous avez des objections à la reproduction, veuillez contacter Équipe d'apprentissage de Gate, l'équipe s'en occupera dès que possible selon les procédures pertinentes.
Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les points de vue personnels de l'auteur et ne constituent aucun conseil en investissement.
D'autres versions linguistiques de l'article sont traduites par l'équipe Gate Learn, non mentionnées dansGate.io , l'article traduit ne peut être reproduit, distribué ou plagié.