xNFT ◎tter đŸ”„đŸ’ƒ | laloutre.sol
xNFT ◎tter đŸ”„đŸ’ƒ | laloutre.sol

@laloutre

28 Tweets Feb 19, 2023
[THREAD] - @neonlabsorg : comment rendre #Solana EVM-compatible
Aujourd'hui sort le mainnet de @neonlabsorg permettant aux projets des chaines EVM d'ĂȘtre exĂ©cutĂ©s sur la blockchain Solana et ainsi profiter de ses avantages.
Je vous explique comment cela fonctionne đŸ§”
Tout d'abord, définissons ce qu'est un EVM.
GrossiÚrement, l'EVM, ou Machine Virtuelle d'Ethereum, est le cerveau de la blockchain Ethereum qui permet de traiter les transactions et smart contracts et de mettre à jour l'état de la blockchain. ethereum.org
Le développement de nombreuses blockchains s'est basé sur la réutilisation du code d'Ethereum et de son EVM. Nous pouvons notamment citer Avalanche, BSC, et Polygon.
Toutes ces chaines sont dites EVM-compatible car reposent sur les mĂȘmes rĂšgles de fonctionnement.
Solana quant Ă  elle, possĂšde ses propres rĂšgles, le SVM ou Machine Virtuelle de Sealevel.
Nous pouvons notamment citer la maniÚre dont sont définies les transactions et comment s'exécutent les instructions de celles-ci.
Dans une transaction Solana, il faut définir la liste des comptes dans lesquels nous souhaitons lire/écrire. Cela permet la parallélisation des instructions.
medium.com
Dans une transaction ETH, nous ne devons pas faire cette liste et l'exécution des transactions est séquentielle.
De part cette diffĂ©rence de fonctionnement, Solana est "fermĂ©e" aux protocoles EVM. En effet, il est beaucoup plus facile de se dĂ©ployer sur une autre chaine EVM car le fonctionnement est sensiblement identique que de se dĂ©ployer sur Solana oĂč le fonctionnement est diffĂ©rent.
Ce déploiement nécessiterait de réécrire le code du protocole de zéro pour satisfaire les rÚgles de Solana. A cause de ce travail fastidieux, les protocoles EVM ne peuvent pas tirer profit des avantages de Solana tout en étant en plus restreint par les limites des chaines EVM.
Ce sont ces problÚmes que vise à résoudre @neonlabsorg en permettant l'exécution de transactions de type Ethereum, c'est à dire qui suivent les rÚgles d'Ethereum.
Leur solution, Neon EVM, comporte pour cela deux parties:
1⃣ - Le programme Neon EVM
2⃣ - Le Proxy Neon
1⃣ - Le programme Neon EVM
Programme Solana qui se comporte comme un EVM et permet de lire/écrire dans des comptes Solana. Cela permet à Neon EVM de recevoir des transactions de type Ethereum et ensuite de les traiter sur Solana selon les rÚgles d'Ethereum.
2⃣ - Le Proxy Neon
Convertit les transactions de type Ethereum en transactions Solana, puis les envoie au programme EVM pour traitement.
ConcrĂštement, tout cela fonctionne ainsi :
Tout d'abord, l'utilisateur interagit avec une dApp Neon EVM. Celle-ci génÚre une transaction de type Ethereum appelée "transaction Neon" et demande sa signature à l'user. AprÚs signature, cette transaction est envoyée au Proxy Neon.
Le Proxy récupÚre la transaction Neon et effectue un test d'exécution en utilisant son émulateur EVM interne.
Ce test permet de déterminer la liste des comptes utiles à la transaction, le coût total de celle-ci et le nombre de transactions itératives nécessaires pour l'exécuter.
En effet, la taille des transactions de type Ethereum peut ĂȘtre supĂ©rieure Ă  la taille limite autorisĂ©e pour les transactions Solana. Dans ce cas lĂ , la transaction Neon sera "copiĂ©e" en plusieurs transactions Solana identiques dites itĂ©ratives qui seront par la suite exĂ©cutĂ©es.
AprÚs le test d'exécution, le Proxy génÚre à partir de la transaction Neon et de la liste des comptes récupérée une transaction Solana non itérative et l'envoie au programme Neon EVM pour tenter de l'exécuter.
Si la transaction échoue à cause d'une erreur de taille limite, plusieurs transactions Solana itératives seront crées.
Celles-ci sont ensuite traitées de la façon décrite dans le schéma ci-dessous :
Les transactions sont envoyĂ©s au programme Neon EVM pour ĂȘtre exĂ©cutĂ©es les unes aprĂšs les autres.
À chaque fois qu'une transaction itĂ©rative est exĂ©cutĂ©e, le programme stocke sur la blockchain son Ă©tat puis passe Ă  la suivante.
Cela permet au programme de savoir oĂč il s'est arrĂȘtĂ© et donc de reprendre l'exĂ©cution des instructions au bon endroit.
Une fois toutes les transactions itératives traitées, le Proxy va vérifier qu'elles ont toutes été confirmées. Si ce n'est pas le cas, il va en envoyer de nouvelles pour compléter la transaction Neon.
Une fois qu'elles sont toutes confirmées, la transaction Neon est terminée.
L'utilisateur paye les frais de transactions de la blockchain Solana ainsi que des frais versés à la personne qui fait tourner le Proxy Neon pour ses loyaux services.
Les avantages de Neon EVM sont ainsi multiples :
- Les users peuvent profiter des bénéfices de la blockchain Solana (frais faibles, transactions rapides et scalabilité) sans changer leurs habitudes (wallets et protocoles utilisés)
- Les projets peuvent se dĂ©ployer sur Neon EVM sans changer leur code et continuer Ă  utiliser les outils d'Ethereum. Comme le montre ce thread oĂč j'explique comment utiliser Remix pour dĂ©ployer un contrat sur Solana
- Les projets peuvent profiter des bénéfices de la blockchain Solana qui peuvent leur amener de nouvelles perspectives et améliorations.
- En touchant un nouvel écosystÚme, ils peuvent potentiellement faire croitre leur nombre d'users.
Nous pouvons notamment citer les projets suivants qui ont participĂ© aux tests de Neon EVM et qui sont en train d'ĂȘtre build dessus :
Avant de terminer, parlons un peu du token de @neonlabsorg.
Le $NEON sera un token utilitaire puisqu'il faudra en dépenser pour exécuter des transactions et un token de gouvernance qui permettra de prendre part à la DAO et donc à l'évolution du projet docs.neon-labs.org
Sources et liens utiles:
- Site: neon-labs.org
- Whitepaper: neon-labs.org
- Docs: docs.neon-labs.org
- Fonctionnement Proxy Neon: medium.com
- Discord: discord.gg
- Github: github.com
- Tuto Neonpass:
Si vous avez des questions/remarques, n'hésitez pas, je me ferais un plaisir d'y répondre.
Vous pouvez aussi #RT et liké le thread afin de lui donner de la visibilité et qu'un max de gens le voit
Version déroulé du thread
typefully.com

Loading suggestions...