Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
Before yesterdayEthereum France

Et voici EIP-1559 !

July 30th 2021 at 11:07
By: PhilH

Cet article est le 300Ăšme publiĂ© par Anthony Sassano dans le cadre de sa newsletter The Daily Gwei ! Comme beaucoup d’autres, il a Ă©tĂ© re-publiĂ© en français par nos amis de The Daily Gwei FR, crĂ©Ă©e par Jon Otherbright. Nous sommes heureux de publier Ă  notre tour sur Ethereum-France cette synthĂšse d’EIP-1559. Pour ceux qui veulent creuser le sujet, nous recommandons la FAQ EIP-1559 de Vitalik Buterin, traduite par Jean Zundel.

Aujourd’hui est un jour spĂ©cial car nous cĂ©lĂ©brons la 300Ăšme Ă©dition de la newsletter The Daily Gwei ! Pour marquer l’évĂ©nement, j’ai fait Ă©quipe avec mon ami Nader afin de proposer un article explicatif d’EIP-1559. C’est la premiĂšre fois que je co-Ă©cris un article pour la newsletter et je suis particuliĂšrement heureux de le faire Ă  propos de l’un des upgrades les plus importants de l’histoire d’Ethereum. Nader et moi souhaitons aussi remercier Tim Beiko et Trent Van Epps pour leur relecture et leurs retours sur cet article.


On a beaucoup parlĂ© d’EIP-1559 dans la communautĂ© Ethereum depuis qu’il a Ă©tĂ© proposĂ© en Avril 2019. Alors qu’EIP-1559 est sur le point d’ĂȘtre dĂ©ployĂ© en production Ă  l’occasion de l’upgrade London, Nader et moi avons Ă©crit cet article afin de vous proposer un tour d’horizon d’EIP-1559 et des bĂ©nĂ©fices attendus, au-delĂ  de la destruction d’une partie du montant des frais.

Source: MetaMask

Bénéfices essentiels de EIP-1559

  1. Meilleure estimation des frais de transaction
  2. Relation symbiotique entre ETH, le réseau Ethereum et ses utilisateurs
  3. Plus grande fiabilitĂ© de l’inclusion des transactions

Ce que EIP-1559 ne fait pas

  1. Ne réduit pas le prix du gas sur le long terme
  2. Ne rend pas l’ETH dĂ©flationniste par dĂ©faut

Avant de plonger dans EIP-1559, il est important de clarifier quelques aspects souvent mal compris. Tout d’abord, EIP-1559 ne conduit pas en soi Ă  des transactions moins coĂ»teuses Ă  long terme. Les prix du gas fluctuent en fonction de la demande d’émission de transactions relativement Ă  l’espace disponible dans chaque bloc. Cette EIP contribue Ă  lisser les prix du gas en permettant une augmentation modeste de la taille des blocs pendant les pics de demande. Elle n’amĂ©liore pas fondamentalement la scalabilitĂ© de la chaine, et n’est donc pas la solution finale pour rĂ©duire le prix du gas.

D’autre part, mĂȘme si une certaine quantitĂ© d’ETH est brĂ»lĂ©e lors de chaque transaction, on ne peut en conclure que cette diminution va compenser ou mĂȘme excĂ©der le taux d’émission du protocole. Pour que cela se produise, un taux de base de ~150 gwei est nĂ©cessaire pour compenser l’émission sur eth1 (Proof of Work) et un taux de base de ~20 gwei pour celle d’eth2 (Proof of Stake).

MĂ©canisme actuel des enchĂšres pour le prix du gas

Actuellement, Ethereum utilise une systĂšme d’enchĂšres pour dĂ©finir le prix des transactions, ce qui signifie que les utilisateurs proposant les prix les plus hauts sont ceux qui ont le plus de chance d’avoir leurs transactions incluses en premier. Le problĂšme majeur avec ce mĂ©canisme, c’est que les prix peuvent fluctuer de façon trĂšs brutale en fonction des pics soudains de demande pour l’espace libre limitĂ© des blocs d’Ethereum. Les utilisateurs sont toujours dans l’incertitude quant au bon niveau de prix quand ils soumettent une transaction et doivent souvent sur-payer pour ĂȘtre sĂ»rs que celle-ci sera incluse dans le prochain bloc. De façon gĂ©nĂ©rale, EIP-1559 cherche Ă  offrir une meilleure expĂ©rience utilisateur en modifiant le mode d’estimation des frais de transaction et la façon dont le rĂ©seau traite les pics d’utilisation.

Modifications importantes apportées par EIP-1559

  1. Frais de base (Base Fee), Frais de priorité (Priority Fee), et frais maximum (Max Fee)
  2. Taille de bloc variable
  3. Destruction du montant des frais de base

Frais de Base, Frais de Priorité et frais Maximum

  • Frais de Base (Base Fee) – Le prix de gas minimum requis pour qu’une transaction soit incluse dans un bloc. Cette valeur est fixĂ©e par le protocole. Elle est variable, fait partie de l’entĂȘte du bloc, et correspond Ă  la partie des frais de transaction qui est dĂ©truite.
  • Frais de PrioritĂ© (Priority Fee) – Le prix du gas que l’utilisateur est prĂȘt Ă  payer au mineur pour qu’il traite la transaction. Il est dĂ©fini par l’utilisateur, fait partie de la transaction et est payĂ© au mineur (il est attendu que ce fee sera par dĂ©faut de 2 gwei).
  • Frais Maximum (Max Fee) – Le prix du gas le plus Ă©levĂ© que l’utilisateur est prĂȘt Ă  payer pour sa transaction. Il est dĂ©fini par l’utilisateur et fait partie de la transaction.

Une fois EIP-1559 mise en oeuvre, une transaction sera valide seulement si Max Fee est supĂ©rieur Ă  Base Fee plus Priority Fee. Tout excĂ©dent sera remboursĂ© Ă  l’utilisateur.

Refund = Max Fee - (Base Fee + Priority Fee)

Le rĂ©sultat est que les utilisateurs seront beaucoup plus confiants en soumettant une transaction, car ils auront uniquement besoin de provisionner assez pour les frais de base et des frais de prioritĂ© modestes pour s’assurer de l’inclusion de leur transaction dans un bloc. L’utilisateur n’a plus Ă  se soucier de surenchĂ©rir sur les prix de gas parce que l’excĂ©dent lui est retournĂ© plutĂŽt que d’ĂȘtre payĂ© au mineur (ou au validateur).

Avec la crĂ©ation du nouveau type de transaction 1559, les wallets et autres fournisseurs de service et d’infrastructure devront upgrader leurs offres pour ĂȘtre compatible. Le format de transaction actuel continuera cependant Ă  ĂȘtre traitĂ©. Le rĂ©seau interprĂ©tera les frais de prioritĂ© comme Ă©tant la diffĂ©rence entre le prix du gas aujourd’hui dĂ©fini par l’utilisateur et les frais de base du bloc courant. Le seul inconvĂ©nient est que ces transactions ne donneront pas lieu Ă  un remboursement de l’utilisateur s’il y a un excĂ©dent.

Priority Fee = Legacy Gas Price - Base Fee


Un exemple de deux transactions incluse dans le mĂȘme bloc avec des frais de base Ă  15 gwei

Taille de bloc variable

Actuellement, Ethereum a une limite inflexible de 15 millions de gas par bloc. Vous pouvez vous reprĂ©senter la limite du gas comme la taille du bloc qui limite le nombre de transactions qui peuvent ĂȘtre incluses dans un seul bloc. Lorsqu’il y a un pic de demande, les prix du gas montent en flĂšche car les blocs sont pleins et aucun dĂ©passement n’est possible.

EIP-1559 autorise une augmentation temporaire de la taille de bloc afin de traiter un afflux soudain de transactions. Ceci est rendu possible au moyen de deux paramĂštres de bloc : la limite et la cible. La cible correspond Ă  50% de la limite, ce qui signifie que si la cible est de 15 millions de gas, la limite est de 30 millions. IdĂ©alement, la taille de chaque bloc devrait ĂȘtre proche de la cible (50% de la capacitĂ© maximum). Pour s’assurer que les blocs restent proches de la cible, Ethereum rĂ©duira les frais de base lorsque les blocs sont plus petits que la cible, et les augmentera quand ils dĂ©passeront la cible. Il convient aussi de noter que dans ce scĂ©nario, les frais de base augmentent trĂšs vite : 12.5% pour chaque bloc plein. Ce nombre peut ne pas paraĂźtre Ă©levĂ©, mais il signifie que les frais de base dĂ©cupleront en ~20 blocs (~260 secondes), seront multipliĂ©s par 100 en 40 blocs (~520 secondes), et auraient thĂ©oriquement consommĂ© tous les ETH existant aprĂšs ~170 blocs (~2210 secondes). Vous pouvez vous amuser avec cette feuille de calcul de Trent Van Epps pour vous faire une meilleure idĂ©e du fonctionnement de ce systĂšme.

Pour rĂ©sumer : les tailles de bloc variables lissent les prix du gas en permettant une augmentation temporaire de l’espace des blocs. Il en rĂ©sulte Ă  court terme une modĂ©ration de l’augmentation des prix du gas entre les blocs.

Destruction des frais de base

Comme indiquĂ© prĂ©cĂ©demment, les frais de prioritĂ© sont envoyĂ©s au mineur, mais les frais de base sont dĂ©truits et retirĂ©s de la circulation de façon permanente. La raison premiĂšre de ce mĂ©canisme est que si ces frais Ă©taient payĂ©s aux mineurs, ceux-ci seraient incitĂ©s Ă  les maintenir Ă  un niveau Ă©levĂ© afin de maximiser leur profit (et ils pourraient mĂȘme encombrer le rĂ©seau avec des frais de transaction Ă©levĂ©s, dont ils seraient remboursĂ©s en minant un bloc). La destruction des frais de base garantit que leur niveau est indiffĂ©rent aux mineurs

La destruction des frais de base fait de l’ETH une partie inhĂ©rente au protocole Ethereum. Aujourd’hui, tout crypto-actif ou mĂȘme une monnaie fiat pourrait techniquement ĂȘtre utilisĂ© pour payer le coĂ»t de traitement d’une transaction sur Ethereum. Un utilisateur peut soumettre une transaction sans frais et faire affaire avec un mineur en dehors du protocole (c’est ce que permettent les Flashbots). Avec EIP-1559, il devient nĂ©cessaire d’inclure un petit montant en ETH en tant que frais de base pour que le rĂ©seau accepte la transaction comme valide, ce qui assainit la relation entre le crypto-actif ETH et le rĂ©seau Ethereum.

Conclusion

Comme vous pouvez le voir, EIP-1559 va grandement amĂ©liorer l’expĂ©rience utilisateur en matiĂšre de traitement des transactions sur Ethereum. Bien sĂ»r, la plupart des gens se concentrent sur le mĂ©canisme de destruction des frais de base (et nous n’y Ă©chappons pas), mais les bĂ©nĂ©fices globaux d’EIP-1559 vont bien au-delĂ  et auront un impact positif sur les utilisateurs finaux. Si vous souhaitez Ă©tudier plus en profondeur EIP-1559, vous pouvez consulter cette compilation de ressources de Tim Beiko.

Passez une excellente soirée et à demain,
Anthony Sassano


Traduction par PhilH, relecture par Charles 53300 et Noé Curtz, édition sur The Daily Gwei par CookingCryptos.

The post Et voici EIP-1559 ! first appeared on Ethereum France.

État des lieux des Tokens Non-Fongibles (NFTs)

April 27th 2021 at 10:15
Écosystùme Français des Tokens Non Fongibles, par Nathan Sexer pour Ethereum-France

En mars 2020, lors d’EthCC[3], la confĂ©rence annuelle au sujet d’Ethereum qui se tient chaque annĂ©e Ă  Paris, j’ai eu l’occasion de prĂ©senter “Un tour d’horizon des tokens non-fongibles (NFT)” au sein de la ‘French Track’ aux cĂŽtĂ©s de Nicolas Julia (Sorare), Nicolas Pouard (Ubisoft) et Pierre-Nicolas Hurstel (Arianee).

Depuis, les tokens non-fongibles connaissent un essor incroyable, portĂ© par celui de la blockchain, et plus particuliĂšrement par un intĂ©rĂȘt grandissant des institutions, grandes entreprises, cĂ©lĂ©britĂ©s et mĂ©dias qui ont largement repris le sujet (Ă  l’image de mon passage dans l’Express — “Pourquoi ces jetons numĂ©riques s’arrachent Ă  prix d’or?”)

La grande majoritĂ© de l’activitĂ© autour des NFTs se passant sur Ethereum, il apparaissait Ă©vident d’en faire une tribune avec Ethereum-France. Cet Ă©tat des lieux a pour objectif de rappeler les tenants et aboutissants de ces objets numĂ©riques, prĂ©ciser le contexte dans lequel leur essor s’inscrit, et proposer un aperçu de l’état actuel du marchĂ©, des applications le composant, un zoom sur le marchĂ© Français et quelques perspectives d’avenir.

Qu’est-ce qu’un Token Non-Fongible (NFT) ?

Un token est un actif numĂ©rique Ă©mis et Ă©changeable sur une blockchain. Trop souvent appelĂ©es « crypto-monnaies », ils n’ont pas tous vocation Ă  devenir une monnaie. Ce sont des actifs qui permettent la reprĂ©sentation et l’échange de valeur sur la blockchain.

Les tokens fongibles sont des tokens identiques entre eux et divisibles. Tout comme l’Euro ou le Dollar, un Bitcoin (BTC) ou un Ether (ETH) est fongible. Un BTC est Ă©gal Ă  un autre BTC et il est possible de diviser, d’acheter et d’échanger des fractions de BTC (0.002 BTC).

A l’inverse, les spĂ©cificitĂ©s principales des tokens non-fongibles (ou crypto-collectible, ou Non-Fungible Tokens aka NFT) sont qu’ils sont uniques et non individualisables. Un NFT est toujours diffĂ©rent d’un autre NFT, on ne peut Ă©galement pas les diviser ni en Ă©changer des fractions comme c’est le cas pour les tokens fongibles.

Principalement basĂ©s sur Ethereum, ces tokens non-fongibles hĂ©ritent des spĂ©cificitĂ©s de cette blockchain sous-jacente: une blockchain dĂ©centralisĂ©e, en accĂšs libre, transparente et immuable. Les caractĂ©ristiques des blockchains publiques comme Ethereum s’appliquent aux tokens non-fongibles, ils sont par consĂ©quent :

  • Infalsifiables : tout comme chaque Ă©vĂ©nement sur Ethereum ne peut ĂȘtre remis en question
  • Traçables : chaque transaction est publique et visible par tous (eg. via etherscan)
  • InteropĂ©rables: les NFTs se basent sur les mĂȘmes standards, ce qui rend possible et facile l’interopĂ©rabilitĂ© de ces actifs entre les projets
  • MonĂ©tisables : les standards de NFTs rendent facile leur incorporation dans des places de marchĂ©s qui permettent leur achat et vente. Un dĂ©tenteur de NFT est rĂ©ellement propriĂ©taire de cet actif et donc libre d’en faire ce qu’il souhaite; le vendre notamment. La mise en place de royalties est Ă©galement facilitĂ©e, entre autre grĂące Ă  leur traçabilitĂ©.

Spécificités des tokens non-fongibles :

  • UnicitĂ© : Un NFT est unique. Il ne peut pas ĂȘtre copiĂ© Ă  l’identique car la blockchain en garde une trace publique et immuable.
  • IndivisibilitĂ© : Il est impossible de diviser un NFT en plusieurs parties, ce qui n’est pas le cas d’autres tokens. Cette deuxiĂšme propriĂ©tĂ© renforce la premiĂšre.

La majorité des tokens non-fongibles fonctionnent via des smart-contracts (scripts automatisés) déployés sur la blockchain Ethereum. La plupart suit des standards bien établis tels que les ERC-721 & ERC-1155. 

Comment expliquer la fiĂšvre des NFTs ?

Les NFTs font l’objet d’un engouement mĂ©diatique sans prĂ©cĂ©dent, notamment liĂ© Ă  la participation de cĂ©lĂ©britĂ©s telles que Elon Musk, Jack Dorsey, Paris Hilton, Lindsay Lohan, Steve Aoki, Soulja Boy, Kings of Leon, Mike Shinoda, PelĂ©, Eminem, The Weekend qui vendent des morceaux de musique, des oeuvres d’art ou mĂȘme des tweets historiques sous forme de NFT. Des entreprises telles que McDonald’s France ou Taco Bell ont Ă©galement sautĂ© le pas en mettant en vente des Ɠuvres d’arts sous forme de NFT.

Mais c’est aussi et surtout grĂące aux ventes records de NFTs que l’on parle d’eux. L’artiste Beeple notamment, a realisĂ© une vente de $69M dĂ©but mars 2021 chez Christie’s ce qui a suscitĂ© de vives rĂ©actions dans la presse. TraitĂ© ici par The Verge, Techcrunch ou encore le NYTimes et son titre provocateur “JPG File Sells for $69 Million, as ‘NFT Mania’ Gathers Pace”. La vente de Beeple est historique car c’est la 3Ăšme plus grosse vente jamais rĂ©alisĂ©e par un artiste de son vivant. Sotheby’s a d’ailleurs rapidement emboĂźtĂ© le pas Ă  Christie’s en effectuant Ă  son tour des ventes de NFTs de plusieurs dizaines de millions de dollars. Ce sont donc les deux plus grandes maisons d’enchĂšres au monde qui ont misĂ© gros sur ces NFTs.

Les volumes globaux des NFTs ont explosĂ© et continuent leur ascension fulgurante. Ce sont dorĂ©navant des centaines de millions de dollars qui s’échangent chaque mois sur les plateformes de ventes publiques de NFT, comme le montre ce graphique publiĂ© par Messari :

Si ces ventes explosent, ce sont grùce à leurs émetteurs (ie. célébrités, marques, artistes) qui réalisent et exploitent cette technologie pour vendre leur art mais aussi bien évidemment grùce aux acheteurs (fans, collectionneurs, crypto-millionnaires) qui dépensent des fortunes dans ces objets digitaux.

En somme, les NFTs permettent Ă  des utilisateurs de possĂ©der et collectionner des biens digitaux en les achetant directement auprĂšs de leurs crĂ©ateurs. Cela permet aux marques et personnalitĂ©s d’interagir directement avec leur communautĂ©, en diversifiant leurs sources de revenus et d’interactions. PossĂ©der un NFT est un signe d’appartenance pour l’acheteur, qui peut montrer son bien et faire partie d’un club restreint et privilĂ©giĂ©. Le vendeur peut quant Ă  lui monĂ©tiser ses crĂ©ations tout en ciblant avec prĂ©cision sa communautĂ©.

“Les NFTs permettent de monĂ©tiser des actifs nativement digitaux.”

Dans quel contexte cet essor s’inscrit-il ?

Cet essor s’inscrit dans un contexte bien plus large. La technologie sous-jacente de la blockchain et notamment Ethereum est en forte croissance de popularitĂ© depuis quelques annĂ©es Ă  travers l’adoption par de nombreuses institutions (rĂ©gulateurs, banques), entreprises internationales (Paypal, Venmo, Visa ou mĂȘme Tesla qui autorise l’achat de voitures en Bitcoin) et l’investissement massif d’entreprises tels que Microstrategy ou Square qui intĂšgrent des cryptos Ă  leur bilan comptable. La semaine derniĂšre Coinbase a fait son entrĂ©e en bourse, propulsant une nouvelle fois la blockchain sous les projecteurs mĂ©diatiques. Le secteur de la blockchain gagne en attention et dans son sillon ses sous-jacents tels que Ethereum ou  les NFTs.

Depuis la vague de la “Decentralized Finance” (DeFi) sur Ethereum lors de l’étĂ© 2020, le marchĂ© crypto est en effervescence; les investisseurs particuliers et professionnels sont attentifs et Ă  la recherche du « next big thing ». La vague de NFTs est arrivĂ©e Ă  point nommĂ©.

En plus de l’intĂ©rĂȘt gĂ©nĂ©rĂ© par la blockchain et la DeFi, les NFTs reprĂ©sentent un cas d’usage simple, concret et visuel, les rendant accessibles. L’arrivĂ©e des Cryptokitties en 2017 connut un succĂšs tel que la blockchain Ethereum s’était trouvĂ©e congestionnĂ©e Ă  cause d’ une sur-utilisation soudaine du rĂ©seau, mais le soufflet liĂ© Ă  ces chats tokenisĂ©s est retombĂ© par faute d’utilitĂ©, d’interopĂ©rabilitĂ© et d’accessibilitĂ©. Aujourd’hui, chacun peut crĂ©er, vendre, Ă©changer, collectionner et utiliser des NFTs de multiples maniĂšres. La technologie est arrivĂ©e Ă  un stade de maturitĂ© propice Ă  son expansion. De plus, les NFTs reprĂ©sentent un cas d’usage concret pour expliquer les tenants aboutissants (raretĂ© digitale, traçabilitĂ©, horodatage, monĂ©tisation, interopĂ©rabilitĂ©) des caractĂ©ristiques des blockchains publiques comme Ethereum. Ils sont donc largement montrĂ©s comme exemple par les acteurs et mĂ©dias blockchains.

L’écosystĂšme des Tokens Non-Fongibles

Voici un bon article rĂ©capitulatif de l’écosystĂšme NFT https://niftycryptonomad.com/nft-ecosystem-overview/, tirĂ© d’une Ă©tude de The Block.

Ce mapping, loin d’ĂȘtre exhaustif, permet de repĂ©rer les catĂ©gories d’utilisation qui Ă©mergent dans l’écosystĂšme NFT :

  • Gaming studio : studios de jeux vidĂ©os comme Ubisoft qui travaille sur le sujet des NFTs depuis quelques annĂ©es avec notamment les Lapins CrĂ©tins en NFT et plus rĂ©cemment l’annonce de OneShotLeague ; un jeu dĂ©veloppĂ© avec SoRare, cĂ©lĂšbre startup Française dans le secteur du gaming, football et NFT.
  • Domains : les noms de domaines sur Ethereum (aka “domains”) est l’un des cas d’usage le plus ancien des NFTs avec ENS qui permet Ă  chacun d’acheter un nom de domaine en ‘.eth’ qui permet de rendre lisibles les adresses Ethereum normalement constituĂ©es d’une suite hexadĂ©cimal type: 0x3942394(
)
  • Marketplaces : les places de marchĂ©s NFTs comme Opensea sont en vogue et Ă  l’épicentre de la “rĂ©volution NFT” car elles rendent possible l’achat et vente de ces objets digitaux, dont la liquiditĂ© est une des caractĂ©ristiques primordiales. C’est via ces plateformes que se passent la majoritĂ© des ventes, et parfois mĂȘme l’émission de NFTs, rendus simples grĂące Ă  certaines tel que Rarible (cf. tutoriel plus bas).
  • VR : Les mondes virtuels construits sur la blockchain qui ont pour but ultime de construire le metaverse utilisent quasiment tous les NFTs, tels que CryptoVoxels (qui manque au mapping ci-dessus)
  • DeFi x NFT : Applications qui mixent NFTs et Finance DĂ©centralisĂ©e (DeFi). comme Charged Particles, qui permet d’intĂ©grer aux NFTs des mĂ©canismes de finance ou encore Cometh, un jeu stratĂ©gique qui a pour but de construire un Ă©cosystĂšme DeFi autour d’un jeu centrĂ© autour des NFTs.
  • DAO : Des DAOs (Decentralized Autonomous Organizations) se forment autour des NFTs dans le but de rassembler des artistes, d’investir ou encore de prendre des dĂ©cisions collĂ©giales sur des projets liĂ©s aux NFTs. Ce sont des outils de coordination communautaires qui se forment spĂ©cifiquement sur cette verticale.
  • Collectibles : cas d’usage primaire des NFTs, exploitant parfaitement les caractĂ©ristiques principales de la technologie. Par exemple les  crypto-collectibles ou crypto-art qui sont des NFTs permettant la valorisation et possession rĂ©elle d’Ɠuvres d’art purement digitales.
  • Games : Beaucoup de jeux construits sur la blockchain utilisent cette technologie des NFTs. C’est un des cas d’usage les plus rĂ©pandus, pour plusieurs raisons : Les joueurs sont sensibles aux nouvelles technologies et comme avec les collectibles, ils permettent aux joueurs de possĂ©der des actifs du jeu qu’ils peuvent potentiellement monĂ©tiser et/ou utiliser dans d’autres jeux, ce qui rend les NFTs attrayant pour cette catĂ©gorie d’utilisateurs.
  • Infrastructure : (dĂ©taillĂ© dans la prochaine partie ie. layer 1 & layer 2)

Le mapping omet quelques autres catégories émergentes telles que: 

  • Agencies : Agence de crĂ©ation avec comme spĂ©cialisation la crĂ©ation et commercialisation de NFTs, tel que 6 agency
  • Media : mĂ©dias spĂ©cialisĂ©s en blockchain
  • Funds & Grants : Organismes de financement spĂ©cialisĂ©s autour des NFTs comme FlamingoDAO

Une bonne analyse de Messari classifie Ă©galement les diffĂ©rents acteurs de l’écosystĂšme NFT par “couche de technologie”:

  • Layer 5 : Les aggrĂ©gateurs, regroupant de multiples services autour des NFTs.
  • Layer 4 : Les couches financiĂšres adossĂ©es aux NFTs (p. ex.  Charged Particles) permettant de fractionner, prĂȘter/emprunter etc. des NFTs. 
  • Layer 3 : Les applications permettant d’émettre des NFTs
  • Layer 2 : Les sidechains, favorisant la rapiditĂ© Ă  la dĂ©centralisation 
  • Layer 1 : Les blockchains gĂ©nĂ©ralistes (Ethereum) ou spĂ©cialisĂ©es (Flow)

Cette classification invite au dĂ©bat car beaucoup de projets se situent Ă  plusieurs niveaux (comme Opensea) et il manque une couche entre “Layer 3” et “Layer 4”: celle des applications. Une autre analyse de Messari place ces applications au sein des catĂ©gories ci-dessous :

Dans les applications ; comme Messari le rappelle, se trouvent un certain nombre de cas d’usages, tels que:
“+ Digital Trading Cards
+ Art 
+ Provenance Tracking 
+ Gaming items
+ Domain names 
+ Content 
+ Tokenized luxury goods
+ Financial Products
+ Event Tickets 
+ Tokenized Content”
et bien d’autres encore.

Écosystùme Français des Tokens Non Fongibles

Écosystùme Français des Tokens Non Fongibles, par Nathan Sexer pour Ethereum-France

(Listing d’entreprises dont le(s) fondateur(s) ou dirigeant(s) est(sont) Français, parfois francophone (ie. MagNFT) Ă©voluant dans le secteur des NFTs. Nous listons des projets suite Ă  un appel public Ă  projet et ne garantissons pas ni la qualitĂ© de ceux-ci ni l’exhaustivitĂ© du mapping. Vous souhaitez en faire partie? Remplissez ce formulaire: https://xjh0am5b6o1.typeform.com/to/CrTl0GqM)

Communautés

Jeux

Collection

  • Legends of Cryptonia: ExpĂ©rience sociale sous forme de jeu de rĂŽle discord oĂč les propriĂ©taires de NFTs dirigent l’histoire
  • SolidNFT: Service d’impression de NFT pour “passer du digital au physique”
  • Poost: Des NFTs “poos”
  • HASHink: Des autographes en NFT

Marketplace

  • Ternoa: Marketplace de NFT (sur Polkadot)
  • Sushiswag:  NFT Ă  l’effigie de Sushiswap
  • Auctionity: Maison d’enchĂšres de NFT
  • Ultra: Plateforme de gaming permettant l’intĂ©gration de NFTs via SDK

Defi x NFT 

  • NFT20: Protocol de trading dĂ©centralisĂ© de NFTs
  • StakeDAO: Projet DeFi intĂ©grant des NFTs Ă  collectionner
  • BlackPool: Fonds d’investissement NFT

Luxe & Fashion

  • Arianee: NFT pour la traçabilitĂ© d’objets de luxe
  • Aura: NFT pour la traçabilitĂ© d’objets de luxe
  • Satoshi-studio: Produits haut de gamme soutenus par des NFTs
  • Exclusible: Marketplace pour NFTs de grandes marques de luxe.

MĂ©dias

Infrastructure

  • Aleph: NFT backup
  • Ownest: Technologie de suivi de supplychain via NFT

Artistes

Comment acheter des NFT

Nous en parlions à travers cet article. Acheter des NFTs peut s’effectuer de plusieurs maniùres :

  • A travers des plateformes d’échange telles que OpenSea, Rarible, SuperRare qui permettent aux Ă©metteurs de lister leurs NFTs et aux acheteurs de les revendre.

NB: Une propriĂ©tĂ© intĂ©ressante des NFTs est qu’ils permettent Ă  leurs Ă©metteurs de fixer, en partenariat avec ces places de marchĂ©s, des “royalties”, c’est-Ă -dire un pourcentage qui sera reversĂ© aux Ă©metteurs Ă  chaque revente des NFTs sur le marchĂ© secondaire. Leur traçabilitĂ© facilite grandement cela.

  • Directement auprĂšs de leurs Ă©metteurs, sur les plateformes des projets eux-mĂȘmes (voir projets ci-dessus)

Comment Ă©mettre des NFT

Émettre et vendre des NFTs est accessible à tous !

Une maniĂšre simple d’y parvenir est de passer par des plateformes telles que Rarible qui ont dĂ©mocratisĂ© le processus de crĂ©ation d’NFTs. Il suffit de suivre les Ă©tapes suivantes :

  1. Choisir son média :  (PNG, GIF, WEBP, MP4 or MP3 etc.)
  2. Connecter/Créer un crypto-wallet Ethereum (-> Metamask) 
  3. Y transfĂ©rer de l’ETH afin de pouvoir effectuer des transactions (depuis n’importe quelle plateforme d’échange tel que Coinbase ou Kraken)
  4. Se connecter Ă  une plateforme telle que Opensea, Rarible etc.
  1. Uploader son média via la section création, exemple avec Rarible: https://rarible.com/create 

Si vous ĂȘtes dĂ©veloppeur(e), regardez ces ressources par OpenZeppelin, ce superbe article ou encore ce tutoriel Youtube qui expliquent comment “coder” un NFT.

Émettre un NFT a actuellement un coĂ»t important car il est nĂ©cessaire de payer des frais de gaz lors de l’utilisation du rĂ©seau Ethereum. Ce dernier Ă©tant actuellement en hyper-demande, les frais peuvent ĂȘtre trĂšs Ă©levĂ©s.

Quelles sont les perspectives ?

Les NFTs sont-ils en train de vivre leurs 15 minutes de gloire ou sommes-nous specta(c)teurs d’une nouvelle aventure d’applications inĂ©dites offertes par la technologie de la blockchain? L’attrait pour les NFTs par des segments de population de plus en plus diversifiĂ©s et s’éloignant des archĂ©types classiques, nous laisse imaginer que l’engouement pour ces actifs numĂ©riques continuera de grandir. Comme d’habitude, les chiffres actuels sont probablement exagĂ©rĂ©s, tout comme l’hyper mĂ©diatisation est thĂ©Ăątrale , mais ces effets provoquant des bulles sont nĂ©anmoins symptomatiques d’une vague de fond que nous pensons persistante. 

La technologie des NFTs a pour vocation Ă  Ă©voluer et notamment Ă  se spĂ©cialiser par sous catĂ©gories (art, jeux etc.) et cas d’usages. InĂ©dite, elle fait beaucoup parler d’elle aujourd’hui, mais comme toute technologie, son implantation et sa pĂ©rennitĂ© seront assurĂ©es lorsque l’on en entendra plus parler. En effet, tels les protocoles internet aujourd’hui que tout le monde utilise sans en connaĂźtre l’existence (ie. TCP/IP), les NFTs se rĂ©pandront comme technologie sous-jacente pour toutes formes de mĂ©dias, de biens digitaux et physiques; que ce soit sous leur forme actuelle (ie. standards sur Ethereum) ou autre.

“Le concept d’unicitĂ© digitale est extrĂȘmement puissant et persistera Ă  travers les Ăąges.”

Nous vivons une rĂ©volution de la « Creator economy », l’économie digitale crĂ©Ă©e autour de l’économie de l’attention et des rĂ©seaux sociaux, oĂč la crĂ©ation de contenu est Ă  la portĂ©e de tous. En effet, tout le monde crĂ©e du contenu, mais personne ne le possĂ©dait rĂ©ellement jusqu’à aujourd’hui. Les crĂ©ateurs sont Ă  la merci des plateformes qui contrĂŽlent leurs crĂ©ations, revenus et fans.

Les NFTs offrent la possibilitĂ© aux crĂ©ateurs de rĂ©duire voire supprimer les intermĂ©diaires, multiplier et diversifier leurs sources de revenu ainsi qu’aux utilisateurs de rĂ©ellement possĂ©der du contenu digital. Les NFTs cristallisent un changement de paradigme dans la maniĂšre de crĂ©er, partager et monĂ©tiser nos actifs sur internet apportĂ© par Ethereum.


Suivez  nous sur Twitter ⇒

https://twitter.com/Ethereum_France
https://twitter.com/NathanSexer

Venez à EthCC en Juillet ⇒ https://ethcc.io/

Fondateur / Core-team de projet(s) Ethereum? Remplissez ce formulaire: https://xjh0am5b6o1.typeform.com/to/CrTl0GqM 


Merci à Bettina Boon Falleur et Chloé Lautier pour la relecture.
Merci Ă  Gauthier Zuppinger, Gundam-Z et aux Collectionneurs pour leurs apports.

The post État des lieux des Tokens Non-Fongibles (NFTs) first appeared on Ethereum France.

FAQ EIP 1559

December 7th 2020 at 15:09

FAQ publiée par Vitalik Buterin sur https://notes.ethereum.org/@vbuterin/BkSQmQTS8, traduite par Jean Zundel.

Bien sĂ»r, le lancement rĂ©ussi d’Eth2 a occupĂ© tous les esprits ces derniĂšres semaines, mais les travaux se poursuivent sur tous les fronts. L’EIP 1559, en discussion depuis plusieurs mois, reprĂ©sente une Ă©volution majeure en changeant fondamentalement le fonctionnement des fees, les frais de transaction.

Qu’est-ce que l’EIP 1559 ?

L’EIP 1559 est une proposition visant Ă  rĂ©former le marchĂ© des frais d’Ethereum, avec les changements clĂ©s suivants :

  • La limite actuelle de 10 millions de gaz est remplacĂ©e par deux valeurs : un «objectif moyen Ă  long terme» (10 millions), et un «plafond ferme par bloc» (20 millions) ;
  • Il existe un BASEFEE (qui est brĂ»lĂ©) que les transactions doivent payer, qui est ajustĂ© bloc par bloc dans le but de cibler une valeur telle que la consommation moyenne de gaz du bloc reste autour de 10 millions.

En substance, alors que toute la volatilitĂ© Ă  court terme de la demande d’espace de transaction Ă  l’intĂ©rieur d’un bloc se traduit actuellement par une volatilitĂ© des frais de transaction, une partie se traduirait alors par une volatilitĂ© de la taille des blocs.

En quoi l’EIP 1559 est-elle bĂ©nĂ©fique ?

Pour citer un ancien article :

Le statu quo des marchés des frais de transaction pose trois problÚmes majeurs :

  • InadĂ©quation entre volatilitĂ© des niveaux de frais de transaction et coĂ»t social des transactions : les frais de transaction sur les chaĂźnes de blocs publiques Ă©tablies, dont l’utilisation est suffisante pour que les blocs soient pleins, tendent Ă  ĂȘtre extrĂȘmement volatils. Sur Ethereum, les frais minimums tournent gĂ©nĂ©ralement autour de 2 gwei (109 gwei = 1 ETH), mais ils peuvent parfois monter jusqu’à 20 Ă  50 gwei, voire 200 gwei en une occasion : https://etherscan.io/chart/gasprice. Il est clair que cela engendre une certaine inefficacitĂ© car il est absurde de supposer que le coĂ»t supportĂ© par le rĂ©seau pour accepter une transaction supplĂ©mentaire dans un bloc soit 100 fois plus Ă©levĂ© lorsque le prix du gaz est de 200 gwei que lorsqu’il est de 2 gwei ; dans les deux cas, il s’agit d’une diffĂ©rence entre 8 millions de gaz et 8,02 millions de gaz ;
  • InefficacitĂ©s des enchĂšres de premier prix : voir https://ethresear.ch/t/first-and-second-price-auctions-and-improved-transaction-fee-markets/2410 pour un compte rendu dĂ©taillĂ©. En bref, dans l’approche actuelle, les Ă©metteurs publient une transaction avec une redevance, les mineurs choisissent les transactions les plus rĂ©munĂ©ratrices et chacun paie ce qu’il offre. Cette approche est bien connue dans la littĂ©rature sur les mĂ©canismes d’incitation pour ĂȘtre trĂšs inefficace, nĂ©cessitant des algorithmes complexes d’estimation des frais ; ces algorithmes finissent souvent par ne pas trĂšs bien fonctionner, ce qui entraĂźne frĂ©quemment des frais excessifs. Voir Ă©galement https://blog.bitgo.com/the-challenges-of-bitcoin-transaction-fee-estimation-e47a64a61c72, la description par un core dĂ©veloppeur Bitcoin des dĂ©fis entraĂźnĂ©s par le statu quo de l’estimation des frais ;
  • InstabilitĂ© des chaĂźnes de blocs sans rĂ©compense en bloc : Ă  long terme, les chaĂźnes de blocs oĂč il n’y aura pas d’émission (y compris Bitcoin et Zcash) ont actuellement l’intention de rĂ©compenser les mineurs par les frais des transactions. Toutefois, des rĂ©sultats connus montrent que cela risque d’entraĂźner une grande instabilitĂ©, en incitant Ă  miner des «blocs frĂšres» pour voler les frais de transaction, ouvrant ainsi des vecteurs d’attaque par minage Ă©goĂŻste beaucoup plus puissants, etc. Il n’existe actuellement aucune mesure efficace d’attĂ©nuation de ce phĂ©nomĂšne.

L’EIP 1559 prĂ©sente ces avantages :

  • Il attĂ©nue les inefficacitĂ©s Ă©conomiques dues Ă  l’inadĂ©quation des coĂ»ts sociaux en raison de la volatilitĂ© des frais. L’argument Ă©conomique est assez nuancĂ© ; voir en particulier les pages 16 Ă  20 du document dont le lien figure sur https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838 (bien que je recommande de lire l’ensemble du document) pour une argumentation dĂ©taillĂ©e sur les raisons de cette situation. Intuitivement, le mĂ©canisme d’ajustement des frais fonctionne comme un frais fixe Ă  court terme et un plafond Ă  long terme, et il s’avĂšre qu’en raison des arguments avancĂ©s dans cet l’article de Martin Weitzman (en 1974), des frais fixes sont probablement prĂ©fĂ©rables Ă  un plafond dans les conditions oĂč, fondamentalement, toutes les blockchains publiques sont aujourd’hui en place.
  • Il remplace la vente aux enchĂšres par une vente Ă  prix fixe (sauf pendant de courtes pĂ©riodes oĂč les blocs se remplissent complĂštement jusqu’à ce que les frais rattrapent leur retard), ce qui Ă©limine les inefficacitĂ©s de la vente aux enchĂšres au premier prix et rend l’estimation des frais extrĂȘmement simple : calculez les frais f pour le bloc suivant, si vous pouvez vous le permettre, payez-les, sinon ne le faites pas.
  • Il crĂ©e un mĂ©canisme similaire Ă  une rĂ©compense permanente par bloc (le 1/N provenant du pot), ce qui attĂ©nue bon nombre des problĂšmes d’instabilitĂ© liĂ©s aux chaĂźnes de blocs fonctionnant uniquement sur les frais sans nĂ©cessiter de vĂ©ritable Ă©mission permanente.

Un autre avantage sous-estimĂ© de l’EIP 1559 est qu’il permet de mesurer les prix du gaz de maniĂšre sĂ»re. Aujourd’hui, le simple fait de regarder les prix du gaz sur la chaĂźne et de les utiliser comme indice est exploitable, car les mineurs peuvent inclure des transactions fictives Ă  trĂšs faible ou trĂšs forte redevance, oĂč la redevance se ferait Ă  eux-mĂȘmes. Mais en vertu de l’EIP 1559, le BASEFEE ne peut ĂȘtre manipulĂ© qu’à un coĂ»t Ă©levĂ©, car les transactions fictives exigeraient mĂȘme du mineur qu’il paie des frais (qui sont brĂ»lĂ©s).

Les marchés actuels des frais sont-ils vraiment si inefficaces ?

Oui, la diffĂ©rence entre le prix moyen du gaz et le dixiĂšme centile du prix du gaz dans un bloc normal est d’environ 3 fois pour la mĂ©diane et de 5 Ă  8 fois pour la moyenne. Les gens paient trop, en masse, inutilement.

Toute personne qui ne paie pas trop subit un retard de 1 Ă  2 minutes, voire plus, et ce retard ne profite en fait Ă  personne ; la charge totale de la chaĂźne est la mĂȘme, qu’une unitĂ© de charge donnĂ©e atteigne la chaĂźne au temps N ou au temps N + 60. Il n’y a aucun avantage social rĂ©el Ă  favoriser des participants «exprimant une prĂ©fĂ©rence pour la rapidité» dans le mĂ©canisme du marchĂ© des frais, du moins dans des conditions normales ; il s’agit d’une perte parfaitement inutile. Il vaudrait mieux pour nous tous que davantage de transactions soient incluses immĂ©diatement, ce que permet l’EIP 1559.

Pourquoi ne pas simplement utiliser la deuxiÚme enchÚre (ou une k-iÚme enchÚre) pour résoudre les inefficacités de la meilleure enchÚre ?

Les enchĂšres au k-iĂšme prix (oĂč chacun paie un prix de gaz Ă©gal au prix le plus bas qui Ă©tait inclus dans le bloc) sont effectivement «efficaces» dans une analyse Ă©conomique traditionnelle*, mais elles ont le dĂ©faut d’ĂȘtre vulnĂ©rables Ă  la collusion.

* Oui, bien sĂ»r, techniquement, il faut utiliser le prix du gaz le plus Ă©levĂ© qui n’est pas inclus dans le bloc ; mais en pratique, Ă©tant donnĂ© que la plupart des blocs Ethereum comportent des centaines de transactions, la diffĂ©rence serait nĂ©gligeable.

L’EIP 1559 pourrait-elle faire courir le risque de surcharger les nƓuds et les mineurs pendant les pĂ©riodes de forte utilisation ?

EIP 1559 peut tout au plus multiplier par 2 la taille des blocs, mĂȘme Ă  court terme. Chaque «bloc complet» (c’est-Ă -dire un bloc dont le gaz est 2x la TARGET) augmente le BASEFEE de 1,125x, donc une sĂ©rie de blocs complets constants augmentera le prix du gaz par un facteur 10 tous les ~20 blocs (~4,3 min en moyenne). Par consĂ©quent, les pĂ©riodes de forte charge sur la chaĂźne ne dureront pas plus de 5 minutes.

Notez qu’actuellement, les pĂ©riodes de doublement de la charge durant 5 minutes se produisent dĂ©jĂ  alĂ©atoirement environ une fois tous les ~63888 blocs (~10 jours) en raison de la variance du taux de production des blocs. L’introduction de l’EIP 1559 n’entraĂźnerait donc pas un niveau de charge sans prĂ©cĂ©dent dans le systĂšme.

En outre, la limite de gaz de 10 millions, pas plus, est justifiĂ©e dans une large mesure non par des limites strictes du rĂ©seau (les taux d’oncles sont proches des plus bas niveaux historiques, bien que les risques pour les nƓuds non-mineurs tels que les nƓuds de bootstrap puissent ĂȘtre plus Ă©levĂ©s), mais par des prĂ©occupations fondamentalement long terme :

  • Risque de centralisation par des taux d’oncles un peu plus Ă©levĂ©s : si les taux d’oncles grimpaient jusqu’à 20%, cela profiterait de maniĂšre disproportionnĂ©e aux grands bassins bien connectĂ©s ;
  • Limites en taille de l’état ;
  • DifficultĂ© de synchronisation aprĂšs une courte pĂ©riode hors ligne.

Dans ces trois cas, ce qui importe n’est pas la limite supĂ©rieure de la capacitĂ© dans une fenĂȘtre de temps trĂšs courte, mais plutĂŽt la capacitĂ© moyenne Ă  long terme. Le fait que les taux d’oncles soient de 2% pendant les heures impaires et de 18% pendant les heures paires aurait le mĂȘme effet sur les trois cas prĂ©citĂ©s, car les taux d’oncle sont toujours de 10%. Étant donnĂ© que l’EIP 1559 limite toujours la consommation de gaz Ă  long terme Ă  une moyenne d’environ 10 millions par bloc, il n’affecte pas la moyenne Ă  long terme.

À quoi ressemblerait un pic de consommation Ă©levĂ©e avec l’EIP 1559 par rapport au statu quo ?

ConsidĂ©rons un «pic mathĂ©matiquement idĂ©al» (par exemple, cela pourrait se produire dans la vie rĂ©elle en raison d’un Ă©vĂ©nement soudain sur le marchĂ© conduisant Ă  de nombreuses possibilitĂ©s d’arbitrage sur les DEX, Ă  des offres sur les CDP liquidĂ©s, etc.), oĂč N * 10 millions de transactions de gaz, chacune avec un prix du gaz trĂšs trĂšs Ă©levĂ©, sont toutes diffusĂ©es.

Actuellement, cela conduirait Ă  la situation suivante :

  • Les prochains blocs N seraient exclusivement remplis de nouvelles transactions Ă  prix Ă©levĂ©s ;
  • Ensuite, les autres transactions, ainsi que celles que les gens enverraient aprĂšs le pic, seraient incluses dans l’ordre dĂ©croissant du prix du gaz.

Un «utilisateur normal» moyen devrait attendre plus de N blocs.

Examinons maintenant la situation avec l’EIP 1559 :

  • Les blocs N/2 suivants seraient remplis exclusivement de nouvelles transactions «d’heure de pointe», chacune avec une quantitĂ© de gaz deux fois plus importante que la normale ;
  • Si toutes les autres transactions sont envoyĂ©es avec un plafond de prix du gaz Ă©gal Ă  l’ancien prix du gaz, les blocs N/2 suivants seraient vides, et aprĂšs cela les choses reviendraient Ă  la normale. Mais de maniĂšre rĂ©aliste, les transactions prioritaires fixeraient des plafonds de prix du gaz plus Ă©levĂ©s et seraient incluses en premier, et les autres transactions plus tard.

Un «utilisateur normal» moyen devrait attendre quelque part entre N/2 et plus de N blocs.

Par consĂ©quent, mĂȘme en incluant la «pĂ©riode de rĂ©cupĂ©ration» aprĂšs la pĂ©riode de pointe pendant laquelle la capacitĂ© des blocs serait infĂ©rieure Ă  la normale, la plupart des transactions seraient incluses plus tĂŽt.

Voici une simulation trĂšs grossiĂšre (il y a beaucoup d’hypothĂšses Ă©tranges ici, mais il est difficile de modĂ©liser un systĂšme complet qui couvre Ă  la fois les courbes de l’offre et de la demande et les temps d’attente) ; le tableau source est ici.

Statu quo :

EIP 1559 :

Que ferait l’EIP 1559 en cas de pics plus importants et plus prolongĂ©s (p. ex. pics d’une journĂ©e) ?

Pas beaucoup. Le BASEFEE augmenterait et il y aurait une courte pĂ©riode au dĂ©but oĂč quelques transactions seraient plus rapides, mais aprĂšs cela, le marchĂ© des frais fonctionnerait comme dans des conditions «ordinaires», Ă  un niveau de frais plus Ă©levĂ©. Le principal avantage de l’EIP 1559 en matiĂšre de pics est que les dommages causĂ©s par l’inefficacitĂ© des marchĂ©s de frais ordinaires sont amplifiĂ©s lorsque les frais sont Ă©levĂ©s, de sorte qu’il devient plus important d’avoir un marchĂ© des frais qui fonctionne.

Pourquoi limit = cible * 2 ? Pourquoi pas 4 ? Ou 8 ?

Plus le rapport limite / cible est Ă©levĂ©, plus les avantages de l’EIP 1559 en termes d’efficacitĂ© du marchĂ© des frais sont importants. Cela dĂ©pend de l’amplitude des pics Ă  court terme que nous sommes prĂȘts Ă  accepter ; 2x est assez prudent. Nous pourrions mĂȘme lancer l’EIP 1559 avec un rapport limite / objectif de 2 pour commencer, et l’augmenter au fil du temps si nous voyons que le rĂ©seau fonctionne bien mĂȘme en cas de pics Ă  court terme.

Pourquoi les mineurs incluraient-ils des transactions ?

L’EIP comprend un «pourboire» que les Ă©metteurs de transactions peuvent inclure pour le mineur. Ce pourboire sert Ă  deux choses : premiĂšrement, s’il y a subitement beaucoup plus de transactions que prĂ©vu, les mineurs incluront d’abord les transactions avec un pourboire plus Ă©levĂ©, de sorte que le mĂ©canisme de priorisation basĂ© sur les frais reste finalement actif. DeuxiĂšmement, il compense le risque d’oncles pour les mineurs (le risque accru que leur bloc ne soit pas inclus dans la chaĂźne principale parce que l’ajout d’une transaction supplĂ©mentaire le ralentira).

Le calcul du niveau de pourboire qui compense le risque d’oncle donne environ 0,8 gwei (les blocs oncles obtiennent en moyenne une rĂ©compense de 1,67 ETH au lieu de la base de 2 ETH, ce qui reprĂ©sente une perte de ~0,33 ETH = 330m gwei, 10 millions de blocs de gaz ajoutent ~0,025 au taux d’oncles par rapport aux blocs vides, donc le coĂ»t prĂ©vu du gaz est = 330m / 10m * 0,025 = 0,825 gwei) et les mineurs se fixent effectivement cette valeur lorsque la chaĂźne est vide.

Ce niveau de pourboire est indĂ©pendant du BASEFEE, de sorte que les clients peuvent en toute confiance fixer 1-1,5 gwei et s’attendre Ă  ce que leurs transactions soient acceptĂ©es.

Comment les portefeuilles peuvent-ils choisir les pourboires ? Y a-t-il un risque de guerre des enchĂšres pour les pourboires ?

Les portefeuilles pourront simplement choisir les pourboires en examinant quels pourboires ont Ă©tĂ© acceptĂ©s dans le passĂ© sur la chaĂźne et en augmentant leur pourboire s’ils constatent qu’une transaction qu’ils envoient n’a pas Ă©tĂ© acceptĂ©e immĂ©diatement. Notez que dans des «conditions normales», il n’y a aucune raison de fixer un pourboire supĂ©rieur au strict minimum.

En cas de congestion soudaine, les pourboires se transforment en guerre d’enchĂšres ; les portefeuilles peuvent dĂ©tecter la congestion et, dans ce cas, ils peuvent offrir aux utilisateurs la possibilitĂ© de fixer une prioritĂ© faible ou Ă©levĂ©e pour leur transaction.

Qu’est-ce que le mĂ©canisme d’escalator ? Comment peut-il ĂȘtre combinĂ© avec le PEI 1559 ?

Le mĂ©canisme d’escalator est une proposition de rĂ©forme diffĂ©rente des frais de transaction dans laquelle, au lieu de spĂ©cifier des frais uniques, les utilisateurs spĂ©cifient leurs frais comme une fonction, gĂ©nĂ©ralement avec un dĂ©but, une augmentation par bloc et un maximum, par exemple «5 gwei si cette transaction est incluse dans le bloc 10123456, ajouter 1 gwei pour chaque bloc suivant (par exemple 8 gwei si inclus dans le bloc 10123459), jusqu’à un maximum de 100 gwei».

Il s’agirait de quatre paramĂštres : frais de dĂ©but, bloc de dĂ©but, incrĂ©ment par bloc, frais maximum.

L’objectif est d’ĂȘtre «plus sĂ©curisé» envers les erreurs d’estimation des frais, car si les frais s’avĂšrent trop bas, ils augmenteront naturellement au fil du temps jusqu’à ce que la transaction soit incluse. Dans le contexte de l’EIP 1559, cela pourrait ĂȘtre utilisĂ© pour fixer le pourboire. Le fait que le pourboire se situerait gĂ©nĂ©ralement dans une fourchette constante signifie que mĂȘme un portefeuille n’utilisant que des paramĂštres fixes pour l’escalator donnerait des rĂ©sultats assez corrects aux utilisateurs.

Les mineurs ne seront-ils pas incitĂ©s Ă  s’associer pour faire baisser le BASEFEE en limitant le remplissage de leurs blocs Ă  moins de la moitiĂ© ?

En gĂ©nĂ©ral, l’efficacitĂ© ce genre de stratĂ©gies est limitĂ©e, car Ă  moins que presque tout le monde ne soit de connivence, une transaction non incluse dans un bloc sera incluse dans le bloc suivant ; l’effet de cette action sur le BASEFEE Ă  long terme sera donc nĂ©gligeable.

Toutefois, les mineurs peuvent mettre en place une sorte de «tarification monopolistique». Supposons que les Ă©metteurs de transactions soient prĂȘts Ă  payer des frais supplĂ©mentaires pour Ă©viter d’ĂȘtre retardĂ©s d’un bloc. Les mineurs peuvent refuser d’inclure les transactions qui ne comportent pas un pourboire minimum T ; ils perdent une partie de leurs revenus, mais gagnent Ă  ce que les Ă©metteurs augmentent leurs frais s’ils Ă©valuent la probabilitĂ© supplĂ©mentaire que vous soyez le prochain mineur et qu’ils incluent leur transaction de maniĂšre suffisamment Ă©levĂ©e. Cette stratĂ©gie est fortement dĂ©favorable au mineur : il subit le coĂ»t total de la perte de revenus, mais ne gagne qu’une petite partie de l’augmentation des frais de transaction que d’autres envoient.

Notez que mĂȘme si un mineur rĂ©ussit avec cette stratĂ©gie, il augmentera les revenus des autres mineurs plus qu’il n’augmentera ses propres revenus (car les autres mineurs profitent des pourboires plus Ă©levĂ©s en raison de vos actions), et il ne s’agit donc pas d’un vecteur de centralisation.

Cela ne ramĂšnera pas le BASEFEE Ă  zĂ©ro, mais permettra d’atteindre un Ă©quilibre oĂč le BASEFEE constituera toujours la majeure partie des frais et les pourboires le complĂ©tant. En effet, Ă  moins que les mineurs ne soient tous de connivence (auquel cas nous avons des problĂšmes plus importants), les mineurs subissent la totalitĂ© des coĂ»ts, hors transactions, mais ne bĂ©nĂ©ficient que partiellement des avantages liĂ©s Ă  l’augmentation des pourboires.

Si le risque que les mineurs dĂ©ploient une telle stratĂ©gie reste inacceptable, nous pouvons affecter une partie (par exemple 50%) des recettes de l’EIP 1559 Ă  un fonds commun dont un petit pourcentage est prĂ©levĂ© sur chaque bloc pour ĂȘtre ajoutĂ© Ă  la rĂ©compense de bloc des mineurs ; cela garantit que les mineurs bĂ©nĂ©ficient d’un BASEFEE Ă©levĂ©, ce qui rĂ©duit encore les gains d’une telle attaque.

Voici, schĂ©matisĂ©e, une proposition de modification de l’EIP allant dans ce sens :

  • DĂ©finir le compte 0x35 comme FEE_SMOOTHING_BUFFER, et dĂ©finir FEE_SMOOTHING_CONSTANT = 8192 ;
  • Ajouter un terme supplĂ©mentaire Ă  la rĂ©compense en bloc (ajoutĂ© en mĂȘme temps que la rĂ©compense en bloc de base et les rĂ©compenses oncle+neveu). Soit smoothing_reward = FEE_SMOOTHING_BUFFER.balance // FEE_SMOOTHING_CONSTANT. TransfĂ©rer smoothing_reward wei de FEE_SMOOTHING_BUFFER vers block.coinbase ;
  • AprĂšs l’application des rĂ©compenses du bloc, la moitiĂ© des frais EIP-1559 de ce bloc (arrondis Ă  l’infĂ©rieur) est ajoutĂ©e au solde de FEE_SMOOTHING_BUFFER. Le reste (c’est-Ă -dire la moitiĂ© arrondie Ă  l’unitĂ© supĂ©rieure) est brĂ»lĂ©.

Notez que dans un contexte de preuve d’enjeu, il serait souhaitable de mettre en place des Ă©lections Ă  bulletins secrets des dirigeants ainsi que des sanctions en cas de rĂ©vĂ©lation prĂ©maturĂ©e, afin d’empĂȘcher les validateurs d’acquĂ©rir la rĂ©putation de n’accepter que des pourboires Ă©levĂ©s et d’en tirer eux-mĂȘmes tout le bĂ©nĂ©fice, car les Ă©metteurs de transactions sauraient quels validateurs vont bientĂŽt crĂ©er des blocs.

Autres ressources

Le document original : https://ethresear.ch/t/first-and-second-price-auctions-and-improved-transaction-fee-markets/2410

Thread de ethresear.ch sur les simulations de Barnabe : https://ethresear.ch/t/eip-1559-simulations/7280

The post FAQ EIP 1559 first appeared on Ethereum France.

Guide pour débutants : staker sur Ethereum 2 !

November 24th 2020 at 12:43

Guide dĂ©taillĂ© de A Ă  Z de mise en place d’un validateur sur Ethereum 2.

Table Of Contents
  1. Prérequis et implications
  2. Mise en place de la machine
  3. Louer un serveur
  4. Connexion Ă  la machine
  5. CrĂ©ation d’un utilisateur
  6. SĂ©curisation de la machine
  7. Créer les clés de validateurs
  8. Mise en place des logiciels
  9. Monitoring
  10. Aller plus loin
  11. Appendice

Prérequis et implications

Devenir un validateur sur Ethereum 2 n’est pas quelque chose Ă  prendre Ă  la lĂ©gĂšre. Vous allez devoir bloquer 32 ETH (ou plus), sans pouvoir les retirer pendant un certain moment, et devoir vous assurer que votre validateur continue Ă  ĂȘtre actif sur toute cette pĂ©riode, sans quoi vous perdrez une partie de vos ETH placĂ©s.

De grands pouvoirs impliquent de grandes responsabilités

Avant de vous jeter Ă  l’eau, assurez-vous de pouvoir rĂ©pondre Ă  l’affirmatif Ă  ces questions:

  • Avez-vous 32 ETH ou plus Ă  sĂ©questrer pendant 3 ans ?
  • Pourrez-vous accorder du temps Ă  vos validateurs pendant 3 ans (mettre Ă  jour les logiciels, s’assurer que le validateur fonctionne etc
)
  • Avez-vous un minimum de connaissances en anglais (pour les mises Ă  jour, les dĂ©bats etc
)
  • Avez-vous accĂšs Ă  un interpreteur de commande (parfois appelĂ© Terminal, ou Console de commande)
  • Avez-vous lu notre poste d’introduction Ă  la preuve d’enjeu ?

Moins de 32 ETH ? Pas de panique !

Si vous n’avez pas 32 ETH, ou que vous ne vous sentez pas de devenir validateurs, vous pourrez toujours rejoindre des « staking pool« .

Prenez cependant le soin de vous renseigner sur les staking pool avant d’y sĂ©questrer vos ETH ! Il y a beaucoup d’arnaques

Mise en place de la machine

PremiĂšre Ă©tape : mettre en place une machine qui servira de validateur.

Deux options s’offrent Ă  vous: vous pouvez utiliser une machine chez vous, ou bien un serveur hĂ©bergĂ© ailleurs. Les deux ont leurs avantages et inconvĂ©nients : facilitĂ© d’accĂšs, stabilitĂ© de la connexion Ă  internet, taille du disque dur, confiance en l’hĂ©bergeur
 je vous laisse faire votre choix. Dans ce guide, je vais utiliser un hĂ©bergeur (aucun lien d’affiliation, c’est juste celui que j’utilise personellement), afin de montrer cette Ă©tape aussi. Si vous avez dĂ©jĂ  un ordinateur chez vous (ou votre serveur est dĂ©jĂ  mis en place), vous pouvez procĂ©der Ă  l’étape « Mise en place des logiciels » directement !

Je peux perdre mes ETH ?!

Vous vous apprĂȘtez Ă  sĂ©questrer au moins 32 ETH. Mais ĂȘtes-vous sĂ»r de connaĂźtre les risques et les pĂ©nalitĂ©s ? Plus de dĂ©tail dans l’appendice en bas de la page.

Cette partie va vous montrer comment:

  • Louer un serveur chez un hĂ©bergeur (ici netcup.eu)
  • Configurer le pare-feu
  • Configurer les clĂ©s d’accĂšs (ssh) et s’y connecter

Louer un serveur

Allez c’est parti ! Rendons-nous chez netcup.eu (ce guide n’est en aucun cas affiliĂ© ! C’est simplement l’option que j’utilise personellement).

SĂ©lectionnez « Server », et cherchez l’option VPS 6000 G9.

Quelle offre choisir ?

Ce qui importe, c’est d’ĂȘtre sĂ»r que le serveur tiendra la route en cas de perturbation sur le rĂ©seau. Aujourd’hui, il est recommandĂ© d’avoir au moins 4 CƓurs, 16 GB de RAM, 256Gb de SSD, juste pour faire tourner le Beacon Node (plus d’info sur ce terme plus tard dans le tutoriel) et les validateurs.

Cependant, Ă  ça il faut ajouter l’instance d’ETH1, qui nĂ©cessite elle-mĂȘme 16Gb de RAM et 500 GB de SSD. Et si vous voulez, vous pouvez aussi lancer un slasher, ce qui prend des ressources supplĂ©mentaires.

L’option VPS 6000 est une option avec laquelle vous n’aurez pas de problĂšmes dans les annĂ©es Ă  venir. Elle a largement de quoi faire, et tiendra la route mĂȘme en cas de conditions etrĂȘmes sur le rĂ©seau. L’option VPS 4000 est correcte et devrait ĂȘtre suffisante. L’option VPS 3000 fera pile l’affaire pour le moment, mais il faudra s’attendre Ă  devoir changer de plan d’ici 1 an ou deux. Enfin, si vous ne comptez pas lancer d’instance eth1 (si vous utilisez Infura par exemple), l’option VPS 2000 sera suffisante.

Si pour vous les termes eth1, Infura, beacon node et validateurs sont du charabia, vous pouvez allez lire le « Petit récapitulatif » dan « Mise en place des logiciels ».

Une fois votre offre sĂ©lectionnĂ©e, vous devrez procĂ©der Ă  la crĂ©ation de compte. Retenez bien les informations que vous entrez : une fois la demande effectuĂ©e, vous recevrez un appel de netcup.eu en anglais (ils sont allemands) et ils vous demanderont de bien confirmer : votre nom / prĂ©nom, votre adresse, votre code postale. C’est tout Ă  fait normal (bien que dĂ©routant je vous le concĂšde !).

Une fois ces informations confirmĂ©es par tĂ©lĂ©phone, ils vous enverront vos identifiants de connexion par e-mail : les e-mails sont en allemand et en anglais, donc il faudra scroller jusqu’en bas pour trouver la version anglaise !

Connectons-nous d’abord Ă  notre espace client. Comme Ă©crit dans le mail, le lien est celui-lĂ  : https://www.customercontrolpanel.de . Vos identifiants figurent aussi dans le mail (en orange sur la photo).

La premiĂšre Ă©tape Ă  suivre est de sĂ©curiser notre compte client mettant en place le 2FA : un mĂ©chanisme de sĂ©curitĂ© qui vous demandera d’entrer un code fournit par votre tĂ©lĂ©phone lors de vos prochaines connexions. Pour ce faire, cliquez sur Master Data en bas Ă  gauche.

Là vous pouvez cliquer sur le bouton « Enable two factor authentication ».

N’oubliez pas de sauvegarder votre clĂ© au cas oĂč vous seriez amenĂ© Ă  perder votre tĂ©lĂ©phone

Bien maintenant que votre compte est sĂ©curisĂ©, vous pouvez procĂ©der au rĂšglement. La facture devrait ĂȘtre Ă  peu prĂšs Ă©gale Ă  trois fois le montant mensuel : pas de panique, cela suit une pĂ©riode de facturation trimestrielle.

Une fois le rÚglement effectué, vous devriez recevoir de nouvelles informations par e-mail : un e-mail intitulé « Access data for SCP » et un autre intitulé « Ihr vServer bei netcup ist bereit gestellt.

Access data for SCP

D’abord par mesure de sĂ©curitĂ©, rendez-vous sur le servercontrolpanel (https://www.servercontrolpanel.de/SCP), connectez-vous avec les identifiants contenus dans le mail, et changez votre mot de passe (menu dĂ©roulant en haut Ă  droite, puis Option).

Sur ce paneau de contrĂŽle, vous avez accĂšs Ă  vos machines, et si vous cliquez sur l’une de vos machines, vous aurez un dĂ©tail de l’utilisation de celle-ci.

Les curieux remarqueront que j’ai pris l’option VPS 4000
 c’est pour le testnet !

Vous pouvez maintenant vous connecter Ă  la machine !

Connexion Ă  la machine

Fini la rigolade ! On passe aux choses sérieuses ! Pour ce faire, nous allons utiliser ssh ! ssh est un programme qui permet de se connecter de façon sécurisée à un serveur.

Pour l’utiliser, rien de plus simple : depuis le terminal de votre machine, tapez ceci (en remplaçant « adresseip » par l’adresse IP de votre propre machine, qui vous a Ă©tĂ© communiquĂ©e dans le deuxiĂšme e-mail)

ssh root@adresseip

Le mot de passe demandĂ© est celui qui apparaĂźt dans l’email que netcup vous a envoyĂ©. Ensuite, vous devriez avoir un message vous signalant que l’authenticitĂ© de la machine ne peut pas ĂȘtre prouvĂ©e
 c’est normal, tapez « yes » !

Si vous avez une erreur ici, c’est probablement que vous n’avez pas bien copiĂ© la clĂ© grĂące Ă  ssh-copy-id. J’ai utilisĂ© une clĂ© ECDSA et non ed25519, c’est pourquoi votre message d’erreur ne sera pas exactement le mĂȘme


PremiÚre étape
. changer de mot de passe ! Et oui, sécurité, sécurité, sécurité !

Entrez simplement :

passwd

Et choisissez un mot de passe solide (différent des autres mot de passe que vous utilisez habituellement !)

CrĂ©ation d’un utilisateur

Nous sommes actuellement connectĂ© en tant que l’utilisateur « root« . C’est en quelque sorte le superman de votre ordinateur : il a tous les droits. C’est une trĂšs mauvaise habitude, et un grand risque de sĂ©curitĂ© d’ĂȘtre connectĂ© en tant que root, c’est pourquoi nous allons crĂ©er un utilisateur !

La commande a entrer est celle-ci (en changeant utilisateur pour le nom d’utilisateur que vous dĂ©sirez crĂ©er).

adduser utilisateur

Suivez les instructions du terminal (soyez sĂ»rs de choisir un mot de passe solide !). Puis, ajoutez cet utilisateur Ă  la liste des « sudoers » : c’est la liste des utilisateurs qui sont autorisĂ©s Ă  effectuer des actions en tant qu’administrateur (parfois). Tapez la commande ci-dessous (en remplaçant utilisateur par votre nom d’utilisateur choisi, Ă©videmment).

usermod -aG sudo utilisateur

Pour ĂȘtre sĂ»r que cela fonctionne correctement, dĂ©connectez-vous de la machine en tappant :

exit

Puis connectez-vous cette fois-ci en utilisant votre nom d’utilisateur :

ssh utilisateur@adresseip

SĂ©curisation de la machine

La sĂ©curitĂ©, c’est important ! C’est pourquoi nous allons procĂ©der Ă  la mise en place de trois mesures de sĂ©curitĂ© : l’authentification par clĂ©, le changement de port SSH, et l’installation d’un pare-feu.

Je vais tenter d’expliquer simplement à quoi servent ces deux mesures.

  1. L’authentification par clĂ© : pour vous connecter Ă  votre machine vous avez utilisĂ© un mot de passe. Mais si votre mot de passe se fait hack, ou bien si vous avez choisi un mot de passe trop fragile, un hacker pourra facilement se connecter Ă  votre machine. C’est pourquoi nous allons utiliser l’authentification par clĂ© : vous allez crĂ©er une clĂ© SSH sur votre ordinateur, et c’est grĂące Ă  la prĂ©sence de cette clĂ© (et non le mot de passe) que vous serez autorisĂ© Ă  vous connecter.
  2. Changer le port SSH : Le port par dĂ©faut pour se connecter en SSH sur n’importe quelle machine est le 22. Cela veut dire qu’un hacker essaiera par dĂ©faut de vous attaquer par le port 22. En le changeant Ă  un autre port, il sera obligĂ© de deviner quel port vous avez choisi pour essayer de s’y connecter. Cela complique nettement la tĂąche !
  3. Installer un pare-feu : Par dĂ©faut, tous vos ports sont ouverts. Un attaquant peut donc essayer de vous attaquer sur beaucoup de ports diffĂ©rents. Un pare-feu rĂ©soud ce problĂšme : il rĂ©duits les ports ouverts, et donc rend la surface d’attaque beaucoup plus petite.

Authentification par clé

Nous allons créer votre clé SSH qui vous servira à vous connecter au serveur. Commencez par vous déconnecter de votre serveur (exit). Ensuite, tappez cette commande :

ssh-keygen -t ed25519

Ensuite suivez les instructions sur votre console. Une fois terminé, il vous faudra ajouter cette clé à la liste des clés autorisées par votre serveur :

ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisatur@adresseip

Et voilĂ  le travail ! Votre clĂ© apparaĂźt dĂ©sormais parmi les clĂ©s autorisĂ©es sur votre serveur. Cependant, le serveur autorise toujours Ă  se connecter en fournissant le mot de passe de l’utilisateur : nous allons modifierons cela quand nous effectuerons le changement de port SSH.

Changer de port SSH

Commençons par mettre Ă  jour notre systĂšme.. Je ne vais pas dĂ©tailler ces commandes mais en gros, elles mettent Ă  jour le systĂšme, retirent les logiciels dont on ne se sert pas et installent UFW 🙂

Sudo et privilùges d’administrateur

Nous avons crĂ©Ă© un utilisateur qui n’est pas root car c’est risquĂ© de lancer toutes les commandes en tant qu’administrateur. Cependant, de temps en temps nous avons besoin de lancer des commandes en tant qu’administrateur. La solution : ajouter « sudo » au dĂ©but de la commande que nous lançons. Il se peut que lancer sudo vous demande votre mot de passe : c’est tout Ă  fait normal !

sudo apt update && sudo apt upgrade
 sudo apt dist-upgrade && sudo apt autoremove
 sudo apt install -y ufw

Maintenant nous pouvons changer le port SSH. Vous n’avez qu’à choisir un numĂ©ro de port entre 1024 et 49151, et vous assurez qu’il ne sort pas en rouge lorsque vous tapez cette commande (en remplaçant numerodeport par le numĂ©ro de port que vous avez choisi) :

sudo ss -tulpn | grep numerodeport

S’il sort en rouge, c’est qu’il est dĂ©jĂ  utilisĂ© par votre ordinateur. Choisissez en un nouveau et recommencez !

Ensuite, mettez à jour votre fichier de configuration SSH. Lancez l’editeur de nexte nano:

sudo nano /etc/ssh/sshd_config

Ici vous aurez 4 lignes Ă  modifier :

  • Remplacer la ligne « Port 22 » par « Port NUMERODEPORT » en remplaçant NUMERODEPORT par le numĂ©ro que vous avez choisi (spĂ©cifie le port utilisĂ© pour SSH).
  • Enlever le « # » devant la ligne « #PubkeyAuthentication yes » (spĂ©cifie que nous acceptons la conneixon par clĂ©).
  • Remplacer la ligne « PasswordAuthentication yes » par « Password authentication no » (spĂ©cifie que nous voulons dĂ©sactiver la connexion par mot de passe).
  • Remplacer la ligne « PermitRootLogin yes » par « PermitRootLogin no » (spĂ©cifie que nous voulons interdire de se connecter en tant que root).

Appuyez ensuite sur CTRL+o (la touche contrĂŽle et la touche o en mĂȘme temps), puis Entrer, puis CTRL+x (la touche contrĂŽle et la touche x en mĂȘme temps). C’est la suite Ă  tapper si l’on veut enregistrer un fichier et le fermer avec Nano.

Voici un GIF du dĂ©roulĂ© de l’opĂ©ration (avec comme exemple de port 39889).

Maintenant, nous pouvons redĂ©marrer le service SSH. Il suffit d’entrer cette commande :

sudo systemctl restart ssh

Attention, à compter de maintenant, pour vous connecter au serveur, la commande ne sera plus « ssh utilisateur@ip » mais « ssh -p NUMERODEPORT utilisateur @ip ».

Se connecter via l’interface Netcup.eu

Si vous vous retrouvez dans un cas ou vous ne parvenez plus à vous connecter à la machine en SSH, sachez que vous pouvez toujours vous reconnecter en passant par l’interface de de netcup.eu .

Plus d’information en bas de la page dans l’appendice.

Pour vous déconnecter, tapez:

exit

Puis reconnectez-vous :

ssh -p numerodeport utilisateur@adresseip

Installation du pare-feu

Maintenant faisons en sorte de rejeter les connexions par défaut :

sudo ufw default deny incoming

Acceptons les connections sur notre port SSH choisi :

sudo ufw allow numerodeportssh/tcp

Puisque nous allons utiliser Geth et Lighthouse, nous allons ouvrir les ports 30303 et 9000 (respectivement)

sudo ufw allow 30303
 sudo ufw allow 9000

Mettons maintenant en marche ces pare-feu :

sudo ufw enable

Maintenant, en tapant « sudo ufw status verbose« , vous devriez avoir un rendu similaire (mon port choisi pour SSH est le 38998) :

Et voilà ! Votre machine est désormais installée et sécurisée. Nous pouvons passer à la prochaine étape : créer les clés des validateurs.

Créer les clés de validateurs

Mainnet vs Testnet

Ce guide dĂ©tail les Ă©tapes nĂ©cessaires pour la mise en place d’un validateur sur le « mainnet », c’est-Ă -dire le rĂ©sau officiel Ethereum 2. Il existe cependant des « testnet », c’est-Ă -dire des rĂ©seaux qui permettent de tester, sans mettre en jeu des « vrais » ETH. Je vous recommande d’abord d’essayer d’installer et de lancer correctement un validateur sur un testnet. Pour ce faire, il suffit de remplacer « mainnet » par le nom du testnet (au moment de l’écriture, « pyrmont »).

Une fois le validateur ayant été correctement lancé sur le testnet, vous pourrez passer au mainnet !

Rendez-visite à ce site : https://github.com/ethereum/eth2.0-deposit-cli/releases/ et trouvez la version du logiciel pour linux : elle devrait se terminer par « linux-amd64.tar.gz« .

Voici à quoi elle ressemble au jour de création de ce guide :

Ensuite copiez-en le lien :

Maintenant, reprenez le terminal et tapez ces commandes (en remplaçant le lien « https:// » par le contenu de votre presse-papier (le lien que vous avez copiĂ© lors de l’étape prĂ©cĂ©dente)).

cd ~
 sudo apt install -y curl
 curl -LO https://github.com/ethereum/eth2.0-deposit-cli/releases/download/v1.1.0/eth2deposit-cli-ed5a6d3-linux-amd64.tar.gz

Vous venez de télécharger la version compressée du logiciel qui va vous servir à créer les clés de vos validateurs. Pour le décompresser, il vous suffit de taper :

tar xvf eth2deposit-cli-ed5a6d3-linux-amd64.tar.gz
 rm -rf eth2deposit-cli-ed5a6d3-linux-amd64.tar.gz
 cd eth2deposit-cli-ed5a6d3-linux-amd64

Les noms des fichiers pourraient diffĂ©rer sur votre machine : ici c’est eth2deposit-cli-ed5q6d3 car c’est la version actuelle, mais elle pourrait changer dans le futur. Pour l’afficher, lancez simplement la commande ls.

Vous pouvez maintenant créer vos clés ! Entrez cette commande (en changeant nombredevalidateurs par le nombre de validateurs que vous comptez lancer) :

./deposit new-mnemonic --num_validators nombredevalidateurs --mnemonic_language=english --chain mainnet

Prenez votre temps ! Gardez vos secrets au chaud


Prenez le temps de bien vérifier la commande que vous venez de taper. Avez-vous bien remplacé le NOMBREDEVALIDATEURS par le nombre de validateurs que vous comptez lancer ? Avez vous bien bien écrit « mainnet » ?

Dans cette commande, vous allez devoir noter vos mots de passe. Je vous recommande de les Ă©crire sur un bout de papier, d’en faire une deuxiĂšme copie et garder les deux copies dans deux endroits diffĂ©rents.

Personne ne pourra vous sauver si vous oubliez vos mot de passe ou vos mnemonics : c’est donc d’une importance capitale pour vous de vous appliquer pendant cette opĂ©ration.

PremiÚre étape : créer un mot de passe. Choisissez-en un (de préférence au hasard), de bonne qualité, et notez le sur le bout de papier. Ensuite lisez le bout de papier, et tapez-le ici. Soyez sûrs que ça correspond à ce que vous avez noté sur le bout de papier !

Ensuite vous verrez apparaĂźtre une liste de mots : c’est ce que l’on appelle votre mnemonic. Notez-le prĂ©cieusement, en faisant bien attention Ă  l’orthographe des mots (ils sont en anglais, attention aux faux amis!).

J’ai bien Ă©videmment pris le soin d’utiliser un autre mnnemonic que celui-ci


Vous devrez ensuite entrer, dans l’ordre, le mnemonic (suite de mots) que vous venez de noter. Soyez sĂ»rs de taper ce que vous avez Ă©crit sur votre papier !

Si vous tapez la commande ls, vous devriez avoir le mĂȘme rendu :

Dans le dossier validator_keys se trouvent plusieurs fichier : un fichier deposit_data
json, et autant de keystore-m
json que vous avez entré de numéro de validateurs. Le fichier deposit_data est un fichier unique qui contient des informations nécessaires pour pouvoir déposer des ETH pour staker : les fichier keystore-m sont des fichiers représentants vos clés de validateur. Ils seront utilisés par la suite !

Vous avez crĂ©Ă© vos clĂ© de validateur (ainsi que le fichier de deposit associĂ©, nous y reviendrons plus tard). Maintenant il est temps d’installer les logiciels !

Mise en place des logiciels

TroisiÚme étape: mettre en place les logiciels nécessaires au staking.
Ces instructions sont Ă©crites pour Ubuntu (Linux). Si vous utilisez une autre machine, il faudra probablement adapter quelques commandes !

Petit récapitulatif

Il y a trois logiciels principaux qui vont ĂȘtre exĂ©cutĂ©s par votre machine:

  • Le client Ethereum 1 : Oui, cela peut paraĂźtre Ă©tonnant mais la chaĂźne Ethereum 2 a besoin de connaĂźtre l’état de la chaĂźne Ethereum 1 afin de fonctionner correctement.
  • Le Beacon Node (BN) : C’est le logiciel qui s’occupe de communiquer avec les autres nƓuds du rĂ©seau, de la gestion de la base de donnĂ©e de la chaĂźne: bref c’est lui qui fait le gros du travail.
  • Le Validator Client (VC) : C’est le fameux « validateur » qui revient Ă  toutes les sauces. C’est un logiciel relativement simple, qui ne s’occupe de faire qu’une seule chose: signer des transactions. PĂ©riodiquement, il doit signer des transactions, grĂące Ă  sa clĂ© privĂ©e (clĂ© qui doit rester secrĂšte, bien cachĂ©e sur l’ordinateur). Il demande au BN quels messages il doit signer, s’assure que les informations renvoyĂ©es par le BN sont correctes, puis signe le message et le transmet au BN, qui lui le transmettra aux autres nƓuds du rĂ©seau.

Ce qui est intĂ©ressant, c’est que plusieurs VC peuvent se connecter au mĂȘme BN: en effet, on peut faire tourner des centaines de validateurs, qui se connectent tous au mĂȘme BN. Un VC ne consomme pas beaucoup (rappelez-vous, c’est le BN qui fait la majoritĂ© du travail), en lancer plusieurs sur la mĂȘme machine permet donc d’augmenter un peu la rentabilitĂ©.

Une question devrait vous traverser l’esprit : est-il possible de connecter son VC a un BN sur une autre machine ? La rĂ©ponse est oui ! Vous pourriez trĂšs bien connecter vos VCs au BN d’un ami, ou d’une entreprise, si vous leur faites confiance. Vous n’ĂȘtes donc pas OBLIGE de faire tourner un BN, si vous faites confiance Ă  un autre BN. Attention cependant : si le BN dans lequel vous avez confiance se met Ă  mal agir (se dĂ©connecter, ĂȘtre piraté ), vous pourriez en faire les frais ! C’est pourquoi il est recommandĂ© de faire tourner son propre BN.

Le paragraphe prĂ©cĂ©dent s’applique tout aussi bien au nƓud Ethereum 1 que vous devez lancer: vous pouvez dĂ©cider de ne pas en lancer, et de vous remettre Ă  un ami / une entreprise (par exemple Infura). Cependant, comme pour le BN, c’est dĂ©conseillĂ©, car on n’est jamais mieux servi que par soi-mĂȘme !

Machine peu performante

Si votre machine est peu performante, une solution pourrait ĂȘtre de ne pas lancer geth et d’utiliser un autre accĂšs Ă  la chaĂźne Eth 1.

Un des services les plus connus est Infura. Un tutoriel est disponible dans l’appendix afin d’en savoir plus. Cependant, comme Ă©crit just au-dessus, il est FORTEMENT recommandĂ© de lancer son propre client Ethereum 1 🙂

Les clients

Il y a plusieurs implĂ©mentations de clients pour Ethereum 2 : les plus connus sont Lighthouse, Prysm, Teku, et Nimbus. Chaque client a ses spĂ©cificitĂ©s (que ce soit l’équipe derriĂšre, l’histoire, les buts recherchĂ©s, le langage utilisĂ©, les caractĂ©ristiques techniques, la communautĂ© etc
). Dans cet article, nous allons utiliser l’implĂ©mentation Lighthouse, de l’équipe Sigma Prime.

Client Ethereum 1

De la mĂȘme maniĂšre que diffĂ©rent clients Ethereum 2 existent, il existe aussi plusieurs implĂ©mentations de client Ethereum 1. Les plus connus sont geth et openethereum (anciennement parity-ethereum). Dans ce tutoriel, j’utiliserai geth et parlerai de geth mais ce qu’il faut comprendre c’est « client Ethereum 1 ».

Nous avons deux possibilités pour lancer notre client :

  1. Classique : Nous téléchargeons les code source des clients, nous les compilons (ou téléchargeons directement le binaire), puis nous lançons les logiciels un par un (geth, BN et VC). Cette technique est standarde, fonctionne correctement et permet de personnaliser des paramÚtres.
  2. Docker-compose : C’est une technique qui repose sur l’utilisation d’un logiciel (docker-compose) qui fera tout ça Ă  notre place. Voyez-ça comme un logiciel qui gĂšre les autres logiciels : nous lui disons simplement « lance-moi une instance de geth, un BN, un VC, et connecte-les ensemble), et tada, le tour est jouĂ© !

J’ai personellement optĂ© pour l’utilisation de docker-compose : ça rend la tĂąche trĂšs simple Ă  utiliser, installer, et mettre Ă  jour.

Docker et Docker-Compose

Afin de nous faciliter la tĂąche, nous allons utiliser un logiciel qui s’occupera de lancer les autres logiciels Ă  notre place. Je vous prĂ©sente : Docker !

Pour installer Docker sur Ubuntu, c’est tout simple :

sudo apt install -y docker.io

Assurons-nous que Docker a bien été installé en lançant cette commande en la comparant au screenshot en-dessous.

sudo docker run hello-world

Si cette commande ne fonctionne pas, c’est probablement que docker n’a pas Ă©tĂ© correctement installĂ©. Dans ce cas, veuillez suivre les instructions d’installations officielles.

Profitons-en pour aussi installer Docker-Compose

sudo apt install -y docker-compose

Maintenant que nous avons installĂ© le logiciel docker-compose, il ne nous reste plus qu’à lui dire ce que nous voulons lui faire faire (lancer geth, un BN et un VC). Ca tombe bien : l’équipe de lighthouse a un dossier avec tout de dĂ©jĂ  prĂ©parĂ© !

Assurons-nous d’abord d’ĂȘtre dans le bon rĂ©pertoire :

cd ~

Puis téléchargeons le dossier de configuration

git clone https://github.com/sigp/lighthouse-docker/

La commande ls (qui liste les fichier du répertoire) devrait ressembler à cela maintenant :

Allez maintenant éditer le fichier de configuration. Déplacez-vous dans le bon répertoire :

cd lighthouse-docker

Faites une copie du fichier de configuration :

cp default.env .env

Et allez Ă©diter le fichier de configuration : (n’oubliez pas, pour quitter c’est CTRL+O, Enter, CTRL+X)

nano .env

Voici la liste des paramĂštres Ă  Ă©diter. Si le paramĂštre n’apparaĂźt pas dans cette liste, c’est qu’il doit ĂȘtre laissĂ© Ă  sa valeur par dĂ©faut. Attention, si vous voulez vous mettre sur le rĂ©seau de test, alors le paramĂštre NETWORK ne sera pas mainnet mais le nom du testnet (par exemple pyrmont).

NETWORK=mainnet
 START_VALIDATOR=YES
 VALIDATOR_COUNT=2
 START_GETH=YES
 ENABLE_METRICS=YES

Bien entendu je vous laisse Ă©diter VALIDATOR_COUNT pour ĂȘtre Ă©gal au nombre de validateurs que vous avez choisi de crĂ©er.

Si vous avez une machine puissante, vous pouvez aussi mettre SLASHER=YES afin de mettre en route un slasher.

Maintenant notre fichier de configuraiton prĂȘt, nous devons importer les validateurs. Pour ce faire, copiez d’abord les clĂ©s de validateurs dans le fichier courant.

cp -r ../eth2deposit-cli-ed5a6d3-linux-amd64/validator_keys/ .

Bien entendu il se peut que le nom de votre dossier varie : comme précisé au-dessus le mien est eth2deposit-cli-ed5a6d3-linux-amd64 mais je vous laisse adapter la commande à votre machine.

Puis initialisez les clés grùce à cette commande :

sudo docker run -it -v $(pwd)/lighthouse-data:/root/.lighthouse -v $(pwd)/validator_keys:/root/validator_keys sigp/lighthouse lighthouse --network mainnet account validator import --directory /root/validator_keys

Nous sommes fin prĂȘts ! Nous allons ouvrir un gestionnaire de fenĂȘtre, afin de conserver notre fenĂȘtre ouverte (plus d’info dans l’encart juste en-dessous).
D’abord installons tmux :

sudo apt install -y tmux

Puis lançons-le !

tmux

Et maintenant, la commande finale :

sudo docker-compose up

Et voilĂ  ! Vous devriez voir plein de messages fuser dans tous les sens. Ces messages sont des « logs », c’est-Ă -dire des messages qui dĂ©crivent le statut des diffĂ©rents logiciels (rappelez-vous, geth, BN et VC) qui tournent.

En bleu les messages Ă©mis par le BN, en jaune les messages de geth, et ne vert les messages des VC.

Si ces logs ne vous conviennent pas et vous voulez isoler seulement les logs du BN ou du VC, tappez :

sudo docker container ls --format '{{.Names}}'

Vous devriez avoir cela en sorite (peut-ĂȘtre deux lignes en plus si vous avez dĂ©jĂ  lancĂ© grafana / prometheus).

Pour suivre seulement les logs du validateurs par exemple :

sudo docker logs lighthouse-docker_validator_client_1 --follow

Et pour suivre le BN :

sudo docker logs lighthouse-docker_beacon_node_1

Ces commandes est lançable mĂȘme si vous n’ĂȘtes pas dans tmux, et vous pouvez les quitter Ă  tout moment en appuyant sur CTRL+c .

tmux

Nous avons lancĂ© les logiciels Ă  l’aide d’un gestionnaire de fenĂȘtre (appelĂ© tmux). Il permet aux logiciels de continuer Ă  tourner en tĂąche de fond. Pour vous dĂ©tacher de cette fenĂȘtre et la laisser tourner en tĂąche de fond, il vous suffit d’appuyer sur CTRL+b puis la lettre d.

A chaque fois que vous voudrez retrouver vos logiciels (pour les arrĂȘter, ou les mettre Ă  jour etc), il suffira de tapper tmux a. Vous pourrez donc faire des aller-retours jusqu’à vos logiciels grĂące Ă  ce gestionnaire de fenĂȘtre.

Vous pouvez quitter cet Ă©cran en appuyant sur CTRL+b puis d. Cela « dĂ©tache » l’écran tmux et vous renvoie vers l’écran de dĂ©part. Les logiciels continuer donc de tourner en tĂąche de fond. Pour retourner sur l’écran de tmux, tappez :

tmux a

Si vous voulez arrĂȘter complĂštement les logiciels : appuyez sur CTRL+c, puis entrez :

sudo docker-compose down

Mettre Ă  jour

En tant que validateur sur le rĂ©seau, vous avez comme devoir de tenir vos logiciels Ă  jour. Un tutoriel sur comment le faire est disponible dans l’appendix, en bas de la page 🙂

Maintenant que nous avons nos logiciels qui tournent, il ne nous reste plus qu’une Ă©tape : effectuer le(s) dĂ©pĂŽt(s) d’ETH sur le rĂ©seau ! Rendez-vous sur le site officiel : https://launchpad.ethereum.org/overview (vous pouvez prĂ©fixer le nom du testnet dĂ©sirĂ©, par exemple : https://pyrmont.launchpad.ethereum.org/overview pour le testnet de pyrmont).

Lisez attentivement les 10 étapes (un récapitulatif ne fais jamais de mal), et vous devriez arriver sur cette page:

Vous pouvez choisir les logiciels que l’on utilise : geth, puis Lighthouse

Maintenant indiquez le nombre de validateurs que vous voulez lancer (dans mon cas, 2)

Puis cochez la case qui certifie que vous avez copié vos mnemoniques et votre mot de passe, et cliquez sur Continue.

Sur la page suivante, vous allez uploader votre fichier deposit_data dont on a parlĂ© Ă  tout Ă  l’heure. Mais comment faire ? Le fichier se trouve sur mon serveur, pas du mon ordinateur ! Pas de panique ! J’ai la solution : scp !

scp est un programme qui permet de copier des fichiers depuis un serveur vers votre ordinateur (ou dans l’autre sens) de façon sĂ©curisĂ©.

D’abord crĂ©ons un dossier pour stocker nos fichiers :

cd ~
 mkdir validateurs
 cd validateurs

Sur votre terminal, dĂ©connectez-vous de votre machine (tapez exit), puis entrez simplement (en remplacant, comme d’habitude
) :

scp -r -P numerodeport utilisateur@adresseip:lighthouse-docker/validator_keys .

Et voilĂ  le travail ! Vous devriez maintenant pouvoir cliquer sur le gros bouton + prĂ©sent sur la page, et aller chercher le fichier deposit_data qui se trouve dans le dossier validateurs, dans votre rĂ©pertoire d’utilisateur (home directory).

Maintenant vous devriez pouvoir uploader le fichier deposit_data :

Et vous devriez voir cet Ă©cran ! (si vous ne vous ĂȘtes pas trompĂ©s de rĂ©seau !)

Maintenant il faut faire le dĂ©pĂŽt. Je vous laisse suivre le tutoriel d’installation de Metamask (vous pouvez y connecter votre Ledger si jamais c’est cela que vous utilisez)

Obtenir du gETH

Si vous vous apprĂȘtez Ă  faire un dĂ©pĂŽt sur un testnet, la monnaie utilisĂ©e n’est pas l’ETH mais le gETH (görli-ETH). Il peut s’obtenir via des faucets, ou en rejoignant le Discord d’EthStaker.

Attention : je suis ici sur pyrmont.launchpad.ethereum.org car j’ai fait ce tutoriel sur le testnet de pyrmont. Si vous voulez dĂ©poser sur le mainnet, il faut ĂȘtre sĂ»r dĂȘtre sur launchpad.ethereum.org !

Une fois Metamask installĂ©, soyez sĂ»rs d’ĂȘtre sur la bonne chaĂźne : Ethereum Mainnet pour un dĂ©pĂŽt sur le mainnet, et Goerli pour un dĂ©pĂŽt sur un testnet.

Vous n’avez plus qu’à lancer la transaction
 et tada ! Votre dĂ©pĂŽt aura Ă©tĂ© effectuĂ© ! Vous pouvez dĂ©sormais suivre l’état de vos validateurs : dans metamask, cliquez sur la transaction que vous venez d’effectuer.

DĂ©pĂŽt sur le testnet Pyrmont

Puis cliquez sur la flùche qui vous mùnera à l’explorateur de block :

Et ici vous pouvez voir les clĂ©s publique associĂ©es ! Vous pouvez consulter l’état de votre validateur en cliquant dessus.

Ici nous utilisons le site beaconscan. Un autre explorateur connu est beaconcha.in. Dans cette photo, mon dĂ©pĂŽt n’a pas encore Ă©tĂ© inclus : en effet, une votre dĂ©pĂŽt effectuĂ©, il faut du temps afin qu’il soit « inclus » et que votre validateur apparaisse dans la liste « officielle » des validateurs. Plus d’info sur ce procĂ©dĂ©.

Monitoring

Cette partie est optionelle : il s’agit de mettre en place un systĂšme de monitoring (afin de garder un oeil sur sa machine !). Nous allons utiliser Grafana et Prometheus : Prometheus va se charger de rĂ©cupĂ©rer des donnĂ©es de nos logiciels (mĂ©moire utilisĂ©e etc), et Grafana se chargera de les afficher.

Encore une fois, docker va nous sauver ! Nous allons cloner le repo lighthouse-metrics qui a déjà tout de préparé pour nous :

cd ~
 git clone https://github.com/sigp/lighthouse-metrics
 cd lighthouse-metrics

Ensuite, nous allons lancer grafana et prometheus grñce à la commande
 docker-compose ! Notez l’utilisation de -d, qui permet de le lancer en tñche de fond.

sudo docker-compose up -d

Maintenant nous pouvons passer Ă  la derniĂšre Ă©tape : visualiser les donnĂ©es ! DĂ©connectez-vous du serveur (tappez exit), et tappez la commande suivante (en remplacant, comme d’habitude):

ssh -p numerodeport -L 127.0.0.1:3000:127.0.0.1:3000 utillisateur@adresseip

Et maintenant, sur votre navigateur, tapez cette URL : localhost:3000 ! Vous devriez arriver sur un panneau de configuration ! Le nom d’utilisateur est admin et le mot de passe changeme. Ensuite, vous devrez cliquer sur le bouton Manage

Puis cliquez sur le bouton Import

Maintenant vous devez visiter cette page et en copier le contenu, et le coller le contenu dans la box « Import panel via JSON »

Puis cliquez sur Load et Import et
 tada !!

C’est un panneau de monitoring global, il vous est bien sĂ»r possible de modifier et l’adapter Ă  vore convenance !

Aller plus loin

Des amĂ©liorations sont toujours possibles ! Vous pourriez crĂ©er des services qui se relancent automatiquement, avoir un systĂšme de sauvegarde, avoir un meilleur systĂšme de logging
 cependant ce guide n’est lĂ  que pour couvrir les bases. Il ne faut vraiment pas hĂ©siter Ă  aller chercher de l’aide et poser des questions, voici donc quelques recommandations de site / communautĂ©s qui pourraient vous intĂ©resser :

https://reddit.com/r/ethstaker/ : Le subreddit d’une communautĂ© de staker (je vous recommande de rejoindre le Discord, c’est un des meilleurs endroits pour poser des questions)
https://reddit.com/r/ethereum : Le subreddit officiel d’Ethereum
https://lighthouse-book.sigmaprime.io/ : La documentation officielle de Lighthouse
https://docs.prylabs.network/docs/getting-started/ : La documentation officielle de Prysm
https://docs.teku.consensys.net/en/latest/ : La documentation officielle de Teku
https://status-im.github.io/nimbus-eth2/ : La documentation officielle de Nimbus

Pour se renseigner sur le protocole en général il y a bien entendu :
– La spĂ©cification officielle : https://github.com/ethereum/eth2.0-specs
– Cet article que j’ai particuliĂšrement apprĂ©ciĂ© : https://ethos.dev/beacon-chain/
– Les spĂ©cifications commentĂ©es de Vitalik et de Ben Edgington

Appendice

Détails sur les pénalités

Base de données des Slashings

Une des rĂšgles du rĂ©seau est qu’un validateur ne doit jamais publier deux messages conflictuels pour un mĂȘme block. Pour ĂȘtre sĂ»r qu’il ne publie jamais de messages conflictuels, un validateur tient Ă  jour une base de donnĂ©e de tous les messages qu’il a envoyĂ©. Cette base de donnĂ©e (souvent appellĂ©e slashing protection database, et situĂ©e dans ~/lighthouse-docker/lighthouse-data) est TRES importante, car si vous la perdez, votre validateur pourrait bien publier deux messages conflictuels et se faire pĂ©naliser !

Il est donc recommandĂ© d’en faire une sauvegarde rĂ©guliĂšrement ! Et si vous la perdez, il est recommandĂ© d’attendre plusieurs heures avant de relancer votre validateur, afin de rĂ©duire les chances qu’il produise des messages conflictuels.

Il y a deux grosses catégories de pénalités que vous pourriez encourir :

  1. Slashing : une grosse partie de vos ETH sont retirĂ©s instantanĂ©ment, et votre validateur se fait exclure (il ne peut plus staker). Cela pourrait se produire si vous lancez deux fois le mĂȘme validateur, ou si vous utillisez une version malicieuse d’un client. Cela pourrait aussi se produire dans le cas ou vous perdez votre base de donnĂ©e de protection (voir l’encart juste au-desus).
  2. Leaking : C’est le fait d’avoir une « fuite » d’ETH dĂ» Ă  une absence. Si votre validateur n’est pas en ligne, il subit des pertes. Ces pertes sont proportionelles au nombre de validateurs qui sont hors-ligne en mĂȘme temps que vous. Si vous ĂȘtes tout seul, les pĂ©nalitĂ©s sont minimes (de l’ordre de 0.3% par semaine, ce qui vous laisse LARGEMENT le temps de revenir en ligne), mais si la moitiĂ© du rĂ©seau en hors-ligne en mĂȘme temps, alors les pĂ©nalitĂ©s augmentent trĂšs rapidement. Il y a donc un risque Ă  avoir votre machine chez un hĂ©bergeur type AWS ou netcup.eu : s’ils tombent en panne, vous ne serez pas le seul Ă  ĂȘtre hors-ligne et encourerez donc des peines plus Ă©levĂ©es


Se connecter via l’interface de Netcup.eu

Rendez-vous sur le servercontrolpanel et cliquez sur votre machine. Ensuite cliquez sur la « Console » en haut Ă  droite de l’écran (entourĂ© en rouge sur la photo).

Une fenĂȘtre pop-up devrait s’ouvrir (si elle ne s’ouvre pas vĂ©rifiez les paramĂštres de votre navigateur). Ici, il vous suffit de vous connecter en entrant d’abord le nom d’utilisateur, puis le mot de passe de votre utilisateur. Si vous n’avez pas encore d’utilisateur, utilisez les identifiants de root.

Cela vous donne accĂšs Ă  un shell classique : Ă  vous de rĂ©soudre les problĂšmes afin de pouvoir vous reconnecter depuis votre interprĂȘteur ! (Probablement un problĂšme de port SSH / pare-feu
)

Infura et autres ETH1 endpoints

Si votre machine est peu performante, une solution possible est d’utiliser un « fournisseur » d’accĂšs Ă  ETH1 plutĂŽt que de faire tourner votre propre instance de geth. C’est plus risquĂ© (car vous devez faire confiance Ă  votre fournisseur plutĂŽt que de lancer un client par vous-mĂȘme), mais cela devrait rĂ©duire les ressouces utilisĂ©es par votre machine.

Infura

Je vais ici donner un exemple de mise en place avec Infura. Si vous avez dĂ©jĂ  votre fournisseur d’accĂšs Ă  Ethereum 1, vous pouvez passer cette Ă©tape.

Rendez-vous sur le site infura.io et créez un nouveau compte.

Une fois votre compte crĂ©Ă©, cliquer sur l’onglet Ethereum dans la barre de gauche.

CrĂ©ez ensuite un nouveau projet en cliquant sur « Create New Project » (il se peut que l’interface soit diffĂ©rente si c’est votre premier projet)

Ensuite cliquez sur votre projet et allez dans l’onglet Settings.

En bas de la page vous trouverez les informations qui nous intĂ©ressent : le menu dĂ©roulant vous permet de choisir le rĂ©seau (mainnet pour le rĂ©seau officiel, Görli pour les testnets). Puis vous pouvez copier l’URL (entourĂ© en rouge) qui vous servira dans l’étape suivante.

Modifications Ă  apporter

GrĂące Ă  docker-compose, cette modification est un rĂ©el jeu d’enfant : il n’y a que deux lignes Ă  modifier !

nano .env

Ensuite les deux lignes Ă  modifier sont : START_GETH qui doit ĂȘtre vide, et VOTING_ETH1_NODES qui doit ĂȘtre mis Ă  l’URL du fournisseur d’accĂšs Ă  ETH1 (celui que vous avez copiĂ© si vous avez suivi le tutoriel Infura).

START_GETH=
 VOTING_ETH1_NODES=urldufournisseur

Les autres paramÚtres sont à laisser comme dans décrit plus haut dans le guide.

Et voilà le travail ! Maintenant lorsque vous lancerez vos logiciels (sudo docker-compose up), vous passerez par votre fournisseur plutÎt que par geth ! Vous pouvez donc supprimer le dossier geth maintenant pour libérer de la place sur votre machine :

sudo rm -rf ~/lighthouse-docker/geth-data

Migrer vos validateurs

La migration de validateurs d’un serveur Ă  un autre est une opĂ©ration facile mais qui nĂ©cessite une attention particuliĂšre. Le dossier important Ă  copier se trouve dans lighthouse-data/mainnet/validators (ou /testnet/ si sur testnet).

Attention, cette migration ne sert que si vous changez de machine mais comptez utiliser le meme client (Lighthouse). En attendant l’EIP-3076, changer de client n’est PAS recommandĂ©.

De plus nous copierons aussi le dossier secret afin d’éviter de devoir importer les validateurs de nouveau.

Ok premiĂšre Ă©tape : s’assurer que nos validateurs sont Ă©teints. Pour ça :

tmux a

Puis CTRL+c et ensuite

sudo docker-compose down

Sont-ils vraiment Ă©teints ?

Pour vous assurer que vos validateurs sont Ă©teints, vous pouvez entrer la commande sudo docker container ls --format {{.Names}} et vĂ©rifier que rien la sortie de cette commande est vide (ou au moins qu’elle ne contient pas « validator_client ».

Nous allons devoir autoriser la connexion en tant que root. Oui c’est une mauvaise pratique, et nous ne le ferons que temporairement, car les fichiers qui se trouvent dans validators appartiennent à root.

Pour ce faire, il faut aller éditer le fichier /etc/ssh/sshd_config et changer la ligne « PermitRootLogin no » en « PermitRootLogin yes« . Pour que cette modification ait lieu, il faut ensuite redémarrer le service ssh : sudo systemctl restart ssh.

Maintenant vous pouvez vous déconnecter de la machine (exit), et vous déplacer dans le dossier Validateurs que nous avions créé précédemment.

cd ~/validateurs

De lĂ  il ne nous reste plus qu’à copier le dossiers validators ainsi que les dossiers secrets et wallets (les derniers ne sont pas nĂ©cessaires mais ils son pratiques). Bien sĂ»r il vous faut remplacer numerodeportssh, utilisateur, et adresseip (et mainnet si vous utilisez un testnet).

scp -r -P numerodeportssh root@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/validators .
scp -r -P numerodeportssh root@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/secrets .
scp -r -P numerodeportssh root@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/wallets .

Une fois cette opération effectuée, vous pouvez retourner sur le serveur et retirer le login en tant que root (PermitRootLogin).

Maintenant il faut faire le chemin inverse : c’est Ă  dire envoyer vos dossiers validators et secrets sur votre nouvelle machine, dans le bon rĂ©pertoire. Je pars du principe ici que la nouvelle machine est dĂ©jĂ  crĂ©e, et que vous avez dĂ©jĂ  clonĂ© les repo lighthouse-docker (que vous avez suivi ce tuto quoi !). Assurez-vous aussi que PermitRootLogin est mis sur yes. La manipulation est simple :

scp -r -P numerodeportssh validators root@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/validators
scp -r -P numerodeportssh wallets utilisateur@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/wallets
scp -r -P numerodeportssh secrets utilisateur@adresseip:/home/utilisateur/lighthouse-docker/lighthouse-data/mainnet/secrets

Enfin nous allons copier le dossier validator_keys afin qu’il soit sur notre serveur aussi :

scp -r -P numerodeport ~/validateurs/validator_keys utilisateur@adresseip:lighthouse-docker/validator_keys

Et voilà ! Le tour est joué ! Vous pouvez commencer à valider sur cette nouvelle machine ! Assurez-vous de bien avoir remis PermitRootLogin no, et assurez-vous de bien avoir éteint votre ancienne machine !

Mettre Ă  jour les logiciels

Eh oui, en tant que validateur sur le rĂ©seau, il vous faudra vous assurer d’ĂȘtre Ă  jour !

D’abord Ă©teindre grafana et prometheus :

cd ~/lighthouse-metrics
 sudo docker-compose down

Puis Ă©teindre le BN, geth et les VC en attachant tmux

tmux a

Puis en l’interrompant (CTRL+c), puis en le stoppant :

sudo docker-compose down

Quittez votre session tmux en appuyant sur CTRL+d.

Maintenant vous pouvez mettre Ă  jour les paquets :

sudo apt update && sudo apt upgrade

Puis mettre Ă  jour les logiciels :

cd ~/lighthouse-metrics && git checkout . && git pull origin stable && sudo docker-compose pull
 cd ~/lighthouse-docker && git checkout . && git pull && sudo docker-compose pull

Maintenant il faut retourner Ă  l’étape de crĂ©ation du fichier .env (en haut de cette page !), puis vous pourrez relancer les logiciels : d’abord tmux, puis sudo docker-compose up, puis CTRL+b, puis d, ensuite cd ~/lighthouse-metrics, puis sudo docker-compose up -d !

The post Guide pour débutants : staker sur Ethereum 2 ! first appeared on Ethereum France.

Ethereum France Live: se préparer à Ethereum 2 avec Mamy Ratsimbazafy

November 13th 2020 at 22:38

Mercredi 18 Novembre, Ethereum France reçoit Mamy Ratsimbazafy pour une prĂ©sentation de l’Ethereum 2 Ă  l’heure du dĂ©jeuner sur Youtube.

L’Architecture par Charles AndrĂ© van Loo (1705–1765)

L’avĂšnement d’Ethereum 2 est proche, c’est une question de semaines depuis que le contrat de dĂ©pĂŽt pour participer Ă  la preuve d’enjeu (Proof of Stake) d’Ethereum a Ă©tĂ© dĂ©ployĂ© le 4 novembre. La crĂ©ation du premier bloc de la beacon-chain, qui servira de coordinateur du rĂ©seau Ethereum 2, est prĂ©vue au plus tĂŽt pour le mercredi 2 dĂ©cembre 2020. 

Mamy avait déjà accordé une interview à Ethereum France que vous pouvez retrouver ici.

Pour vous prĂ©senter tout ce que vous devez savoir sur cette Ă©volution et rĂ©pondre Ă  vos questions, Ethereum France recevra l’un de ses core dev: le français Mamy Ratsimbazafy qui dĂ©veloppe le client Ethereum 2 Nimbus chez Status.

Rendez-vous Ă  12h30 mercredi 18 novembre sur notre chaĂźne Youtube

The post Ethereum France Live: se préparer à Ethereum 2 avec Mamy Ratsimbazafy first appeared on Ethereum France.
❌