L'écrasante majorité des gens suffisamment avertis pour comprendre ce que sont les crypto-monnaies, les problèmes de performance de la blockchain de Bitcoin et du réseau Lightning, croient toujours naïvement que cette technologie peut résoudre tous les problèmes du jour au lendemain et permettra de faire évoluer la blockchain presque à l'infini.
J'essaierai de dissiper ces idées fausses.
La blockchain classique dans sa forme la plus pure, où chaque nœud passe toutes les transactions à travers lui-même, n'est pas capable, au niveau technologique actuel, de stocker et de traiter un grand nombre de transactions. Même si vous ne limitez pas la taille du bloc de stockage de transactions à une limite (en bitcoin, il s'agit de 1 Mo + 3 Mo de la chaîne latérale segwit), la vitesse de traitement des transactions est limitée par les capacités des nœuds finaux (je ne parle pas des portefeuilles SPV qui font entièrement confiance à la vérification des transactions avec des nœuds complets), il n'y en a maintenant que quelques centaines millions de transactions par jour (250 millions de transactions sont entièrement vérifiées lors du téléchargement initial de la blockchain avec une nouvelle installation de bitcoin-qt, sur une machine moderne, cela prend environ 12 heures, avec une excellente connexion Internet et un disque ssd, pour une machine Intel celeron faible - le chargement prend 3 jours) - maintenant, c'est environ 5-6 mille transactions par seconde (par exemple, les tests de blockchain bitshares de l'infrastructure graphene affichent 2500 tps mais en utilisant du matériel serveur avec un grand nombre de processeurs, en revanche, le maximum théorique est de 150t tps) .
La tâche de vérification des transactions évolue de façon linéaire si vous répartissez la charge sur plusieurs ordinateurs, mais elle augmente également linéairement le coût de l'équipement à partir de la charge sur l'ensemble du réseau, ce qui n'est pas pratique si vous souhaitez mettre à niveau votre service qui accepte les fonds des utilisateurs et n'est pas prêt à faire confiance à un autre service.
Cela est évident - la blockchain a besoin de technologies pour adapter ses performances de manière non linéaire.
Les chaînes latérales sont les meilleures qui ont été proposées récemment en cryptoéconomie, et en même temps, potentiellement fatales pour le composant des crypto-monnaies pour lesquelles il est aimé - l'indépendance d'un point de défaillance unique et la centralisation du contrôle des finances des utilisateurs.
Sidechains qui stockent des informations supplémentaires dans leur référentiel
Un bon exemple d'une telle chaîne latérale est - segwit, cette mise à jour de béquille qui vous permet d'étendre les capacités de la blockchain bitcoin (et ses fourches) sans avoir à rompre radicalement la compatibilité avec les anciens clients. Le principal moyen que segwit vous permet d'augmenter le nombre de transactions dans un bloc, sans l'étendre, est de transférer une partie des informations de transaction vers un stockage séparé. C'est-à-dire Chaque transaction laisse une marque sur la blockchain.
Cela n'entraînera pas une augmentation notable des performances de la blockchain, des prévisions moyennes - augmentation de 2 à 2,5 fois et maximum théorique - 4 fois plus de transactions si toutes sont p2sh multisig (par exemple, compensation LN).
Si vous comparez segwit avec l'augmentation habituelle de la taille de bloc à 4 Mo, cela n'est pas différent, même une charge CPU légèrement plus élevée est obtenue. Mais segwit a apporté avec lui d'autres technologies, ainsi que la compatibilité avec les clients Legacy. Il s'agit d'une mesure nécessaire difficile à refuser.
Le sidechain le plus simple et le plus efficace est une banque régulière (ou certains échanges)
... avec un compte de crypto-monnaie - vous transférez des pièces sur votre compte bancaire et vous pouvez transférer vos pièces entre les clients de cette banque sans placer de transactions sur la blockchain publique (pour certains échanges de crypto-monnaie, il s'agit d'un transfert de code). Bien entendu, la banque stocke ces transactions dans son format, pour elle-même et pour le suivi financier. Il est clair que lorsque vous essayez de transférer vers une autre banque, une transaction blockchain apparaîtra, mais les banques peuvent s'entendre entre elles pour effectuer ces transferts selon leurs propres règles, par exemple, en utilisant l'État comme garant que les transactions seront exécutées.
Ainsi, les transactions ne peuvent même jamais entrer dans la blockchain, la déchargeant ainsi complètement.
Les inconvénients des banques ordinaires sont élémentaires - une confiance totale en la banque est requise, et il n'y a aucune garantie que les pièces que vous leur avez transférées pour le stockage seront laissées sans utilisation.En outre, il est courant d'utiliser les investissements des utilisateurs pour vos propres besoins. C'est une pratique très pourrie, et elle est le résultat de l'effondrement régulier des systèmes bancaires, car en cas de crise, les banques ne peuvent tout simplement pas remplir leurs obligations et donner de l'argent déjà dépensé par leur client.
Technologie plus avancée - réseau Lightning
... lorsque, au lieu de faire aveuglément confiance à la banque avec votre argent, vous pouvez vous mettre d'accord sur un engagement bilatéral, lorsqu'une paire d'utilisateurs (dont l'un n'est pas nécessairement une banque) bloquent une transaction spéciale (contrat) sur la blockchain, le même montant de sorte que la différence des soldes soit montrer des dettes mutuelles. Et le plus important, sur de tels accords, il est possible de construire un réseau d'utilisateurs liés par des obligations, qui répondront avec leurs soldes bloqués pour le transfert des transactions sur eux.
Un transfert de réseau entre participants est une modification simultanée des obligations de dette mutuelle du montant du transfert des participants en ligne entre l'expéditeur et le destinataire.
Ces changements ne sont en aucun cas reflétés dans la blockchain, mais si le nombre de transferts unidirectionnels au total dépasse le montant des fonds bloqués, la compensation est
nécessaire - la
compensation du solde
de quelque manière que ce soit, par exemple, en utilisant des boucles dans le réseau Infor LN ou en envoyant les fonds nécessaires via la blockchain.
De là, nous voyons que la seule stratégie dans laquelle Infor LN vous permet d'échelonner à l'infini le nombre de transactions traitées est si les utilisateurs s'envoient des pièces avec une variation moyenne totale nulle des soldes. Évidemment, cela n'est possible que si le réseau dégénère en un nœud central, dans lequel tous les clients sont des utilisateurs de la blockchain, mais il n'est pas nécessaire de stocker et de lui faire confiance.
Fiable, efficace et
centralisé , car dans un tel schéma, il
est possible de refuser de transférer des pièces sous n'importe quel prétexte , par exemple pour bloquer tous les transferts de personnes qui ne remplissent pas les conditions de surveillance financière. Ou, par exemple, si tout à coup votre pays est soumis aux sanctions de l'une des plus grandes zones économiques - l'Union européenne / USA / Chine / ..., vos privilèges peuvent être bloqués par décision de justice, ou lorsque la banque souhaite vous imposer les risques de perdre des fonds, lorsque des transactions ont été échangées contre des biens ou des services qui sont interdits et que le gouvernement a pu sélectionner en leur faveur.
Ce ne sera pas si effrayant si LN n'est pas le seul moyen d'utiliser la blockchain, mais il y a un danger, comme je l'ai
écrit plus tôt, si le nombre de transactions dans le bloc reste limité à 1 ou 2 Mo.
Dans quelle mesure le réseau d'éclairage permettra-t-il d'augmenter les performances de traduction?
Sur la base de la caractéristique principale de LN, au lieu du nombre total de transactions, il est nécessaire de considérer le nombre de transactions de blockchain et de compensation qui peuvent être nécessaires par utilisateur pendant une certaine période, car les utilisateurs peuvent s’envoyer le même montant successivement en toutes quantités, sans commissions, si il n'y a pas de nœuds intermédiaires entre eux.
Premièrement, chaque nouvel utilisateur du réseau devra effectuer au moins une reconstitution de son portefeuille, et cela devrait être une transaction blockchain. Les utilisateurs LN ne peuvent être qu'avec un solde non nul.
Deuxièmement, pour se connecter au réseau LN, une transaction d'ouverture est requise qui bloque les soldes du nœud d'entrée et de l'utilisateur.
Troisièmement, mais pas nécessairement, il s'agit d'une transaction de clôture pour qu'un utilisateur quitte le réseau LN, par exemple, pour basculer vers un autre nœud de réseau afin d'optimiser les frais.
Quatrièmement, le plus grand volume de transactions est la compensation, la compensation des soldes sur les comptes des nœuds LN. Chaque transfert majeur via le réseau augmente les chances d'une telle transaction et chaque nœud intermédiaire du réseau. De plus, il est possible que la prochaine transaction d'un utilisateur nécessite que chaque nœud du réseau émette un effacement si le réseau n'est pas construit efficacement (il n'y a pas de cycles). Plus la valeur des garanties entre les nœuds LN est élevée, moins la nécessité de compensation est importante. Les grands nœuds pourront et optimiseront leurs dépenses de manière à minimiser, voire à éliminer, l'effacement via la blockchain, mais les utilisateurs ordinaires ne pourront pas le faire. Même dans le meilleur des cas, les utilisateurs actifs ne bloqueront qu'une petite fraction de la reconstitution moyenne (par exemple, payer un salaire une fois par mois ou recevoir une rémunération pour le travail), ce qui signifie que pendant la période entre la réception des fonds, ils auront besoin de transactions de compensation. Il s'avère que dans le cas idéal, un utilisateur effectuera 1 transaction blockchain par mois.
Le quatrième élément contribue le plus de transactions, et vous pouvez estimer combien de ces utilisateurs actifs pourront utiliser la blockchain.
Le nombre de transactions dans la blockchain avec une limite de 1 Mo sans segwit est de 262 t. par jour ou 7883t. par mois. On multiplie par 2,5 le coefficient qui sera disponible grâce à segwit, on obtient 19 millions de transactions.
Le résultat est 19 millions d'utilisateurs actifs, c'est le maximum de la capacité de 1 bit bitcoin hérité.Et aucune extension ponctuelle de la limite de bloc à 2 ou jusqu'à 8 Mo sensiblement ce nombre ne changera pas. 19 millions de personnes ou 190 millions sont catastrophiquement petits. L'avenir des crypto-monnaies est des milliards d'utilisateurs actifs.
Bien sûr, il est évident que dans un avenir proche, 1-3 ans, un utilisateur de bitcoin actif typique ne reçoit pas de salaire sur une base mensuelle, et ses dépenses ne sont pas non plus régulières, ce qui signifie qu'une estimation de 1 clearing par mois peut être erronée, mais une analyse sérieuse de la blockchain est nécessaire pour l'évaluer , et ce n'est pas le genre de travail qui peut être fait dans le cadre de la rédaction d'un article simple.
Si pendant ce temps, vous ne trouvez pas de solution technique et organisationnelle pour augmenter la limite de la taille des blocs, les utilisateurs du réseau seront obligés d'abandonner l'utilisation et le stockage de leurs fonds sous leur propre contrôle sur les portefeuilles locaux, les portefeuilles en ligne et les banques. Et le coût croissant des transferts de chaînes de blocs les y incitera.