P02-L08 · P02 · P02-M02
Reconstituer un transfert historique sans supposer une identité commune
Prérequis: P02-L07
Objectifs pédagogiques
- Reconstituer un transfert historique sans supposer une identité commune
- Reconstituer la correspondance acceptée entre destruction, message et finalisation du transfert.
- Réconcilier les unités brutes et affichées.
- Conserver les limites d’acquisition et d’attribution à une personne.
Source de référence EN · P02-L08 · durée estimée : 30 minutes · needs_review
Étude en lecture seule. Aucune connexion de portefeuille, aucun argent réel, aucune phrase de récupération, clé privée, signature ou transaction de marché en direct. La durée est une estimation éditoriale ; les visuels sont des spécifications, pas des composants déployés.
Pourquoi ce sujet compte
Une recherche entre chaînes nécessite un lien au niveau du protocole, pas un récit fondé sur des montants identiques. Ce cas historique permet de reproduire une correspondance délimitée tout en gardant visible la provenance moins forte des éléments Ethereum.
Explication
Délimiter le cas avant de l’interpréter
Utilisez le jeu de données déjà accepté au commit 7010890930afb9b34c1b47f49fbd5ee1796c8550 [WHDATA]. Il concerne une seule finalisation Wormhole de Solana vers Ethereum, pour 80000 WETH, le 2 février 2022. Il ne constitue ni le dossier complet de l’incident, ni l’authentification de l’émission d’origine, ni un bilan des pertes totales, ni un relevé de solde actuel.
La source est une réponse RPC native Solana conservée, demandée au niveau d’engagement finalized. Le document de protocole est une VAA archivée. Pour la destination Ethereum, il s’agit d’un rendu sélectif de l’explorateur Etherscan obtenu via un cache de recherche. Ce n’est PAS un reçu/en-tête natif Ethereum capturé indépendamment. Gardez cette phrase à côté de la reconstitution, sans la dissimuler dans une réserve générale.
Lire les rôles séparément
Le jeu de données identifie le payeur des frais à la source, le signataire du compte de message, le propriétaire du compte de jetons, le compte de destruction et l’émetteur Core. La destination comporte un expéditeur et un destinataire de transaction. Certains champs de rôle peuvent être identiques dans un même enregistrement, mais la correspondance de protocole n’établit pas qu’une même personne intervient sur les deux chaînes. L’identité humaine commune reste INSUFFICIENT EVIDENCE (ÉLÉMENTS DE PREUVE INSUFFISANTS).
L’action à la source détruit des jetons ; on n’invente donc pas de destinataire à la source. À la destination, la méthode sélectionnée est completeTransfer(bytes), et non le chemin de conversion en ETH natif. Les éléments de preuve étayent une finalisation en jetons WETH selon le journal affiché.
Réconcilier le montant et le temps
Le calcul des soldes à la source est 11000010000000−3000010000000=8000000000000 unités brutes. Avec huit décimales à la source, cela donne 80000. Le rendu de destination indique 80000000000000000000000 unités brutes et affiche 80000 WETH ; les 18 décimales sont inférées à partir de ce rapport, et non tirées d’une valeur decimals() interrogée indépendamment.
L’heure source 2022-02-02T18:27:10Z est une estimation de production fournie par RPC. L’heure destination 2022-02-02T18:28:37Z est un horodatage de bloc affiché par un explorateur. Leur différence de 87 secondes est un calcul sur ces représentations, pas une mesure indépendante de la latence de bout en bout. Les heures de récupération sont en 2026 et ne doivent pas remplacer les heures des événements.
Établir le lien réel
Faites correspondre la chaîne/l’adresse de l’émetteur, la séquence 62741, le nonce 55109 et la charge utile complète de 133 octets. Les corps de la VAA archivée et de celle consommée à destination font 184 octets et sont identiques. Leurs enveloppes complètes diffèrent : 13 signatures dans l’archive contre 15 dans la VAA consommée. Comparer les enveloppes entières ferait rejeter une correspondance valide des corps pour une mauvaise raison.
Les signatures Guardian n’ont pas fait l’objet d’une validation cryptographique indépendante. Les sommes de contrôle SHA-256 préservent l’intégrité locale ; elles ne constituent ni le condensat Keccak signé du protocole, ni une preuve de consensus. Les références de codec figées expliquent le décodage sans démontrer l’équivalence du binaire déployé.
Produire un constat reproductible
Utilisez les onze correspondances entre affirmations et éléments de preuve du jeu de données, ainsi que les enregistrements conservés, plutôt qu’une nouvelle recherche sur l’incident. Le script hors ligne reproduce.py vérifie la corrélation et les contrôles négatifs. Sa réussite étaye la cohérence interne sous les hypothèses figées relatives aux fournisseurs de données et à l’extraction. Elle ne rehausse pas la classe de source Ethereum, ne valide pas les Guardians et n’identifie pas de personne.
Présentez les champs des enregistrements comme OBSERVED (OBSERVÉ) à leur niveau d’acquisition, le décodage/la corrélation comme INFERRED (INFÉRÉ), les faits de vérification indépendante comme UNKNOWN (INCONNU), et le contrôle par une même personne ou la sûreté générale comme INSUFFICIENT EVIDENCE (ÉLÉMENTS DE PREUVE INSUFFISANTS). Une reconstitution partielle exacte est plus utile qu’un récit apparemment complet mais non étayé.
Terminologie
- WETH : ether enveloppé, une représentation d’ETH sous forme de jeton ; la finalisation sélectionnée ici restitue un jeton, pas de l’ETH natif.
- VAA (Verified Action Approval) : message Wormhole combinant un contenu de protocole avec une enveloppe de signatures ; son nom ne signifie pas que cet exercice a validé ses signatures indépendamment.
- Guardian : participant au réseau d’attestation des messages Wormhole ; aucune identité humaine n’est inférée d’une signature.
- Corps de VAA : contenu du message de protocole, hors signatures de l’enveloppe.
- Tuple de l’émetteur : identité chaîne/adresse/séquence.
- Normalisation : conversion entre échelles d’unités brutes.
- Somme de contrôle d’intégrité : détection locale des modifications, pas preuve d’authenticité.
Exemple historique
HISTORICAL — jeu de données accepté, inchangé. Lisez le jeu de données, la provenance et ses enregistrements figés. Signature source : j3jUDG43di8Dsg7Q3jQhstamtBovu1GLqnDJ7yNvM3r4pnK9e7uqgt9uBobCjT5S1BKhZZFQNQwDxypEYqLknec, slot119027698. Transaction destination : 0x24c7d855a0a931561e412d809e2596c3fd861cc7385566fd1cb528f9e93e5f14, bloc affiché14128237. Message : 1/ec7372995d5cc8732397fb0ad35c0121e0eaa90d26f828a534cab54391b3a4f5/62741. Ces repères historiques sont en lecture seule. Aucune interaction n’est requise.
Spécifications visuelles
Chronologie historique de transaction avec le RPC source 18:27:10Z, le message 62741 et Ethereum affiché 18:28:37Z dans des pistes de provenance distinctes. Montrer l’égalité des corps et la différence des enveloppes13/15. Aucun lien de propriétaire commun. Texte alternatif : une correspondance de 80000 WETH possède des éléments natifs à la source et des éléments d’explorateur à destination ; l’identité humaine et les vérifications indépendantes des Guardians restent non résolues.
Ce que les preuves établissent
Une correspondance historique délimitée entre destruction, message et finalisation WETH selon les représentations RPC/archive/explorateur acceptées.
Ce que les preuves n’établissent pas
La validation indépendante d’un reçu/en-tête natif Ethereum, la validation cryptographique des Guardians, un contrôle humain commun, les actifs garantissant le pont, la reconstitution complète de l’incident ou la sûreté du jeton.
Erreurs fréquentes
- Rehausser un rendu Etherscan au rang de reçu natif.
- Assimiler SHA-256 à une validation de signature.
- Exiger l’égalité des enveloppes entières plutôt que celle des corps.
- Appeler la finalisation WETH sélectionnée une conversion en ETH natif.
Exercice pratique
À partir des affirmations C01–C11 du jeu de données, construisez des lignes source/message/destination indiquant la classe d’acquisition, la base temporelle, le rôle et le montant. Reproduisez les calculs de montant. Expliquez la différence d’enveloppe et listez trois conclusions que les enregistrements ne peuvent pas étayer. Vérification hors ligne facultative : python content/academy-2/datasets/p02-l08/reproduce.py depuis la racine du dépôt ; ne soumettez jamais de calldata et ne connectez pas de portefeuille.
Remettez un court tableau des éléments de preuve et votre raisonnement, en utilisant uniquement le matériel fourni. Répartition suggérée : étude 12 min, inspection/calcul 8 min, correction/quiz 10 min.
Afficher la correction détaillée
Destruction brute à la source : 8e12/1e8=80000. Destination affichée : 8e22/1e18=80000, avec une interprétation à 18 décimales explicitement inférée. Le tuple, le nonce et l’égalité de la charge utile/des corps relient les enregistrements sous les hypothèses relatives aux fournisseurs de données, pas les seuls montant/temps. Les enveloppes 13/15 diffèrent alors que les corps correspondent. La vérification du reçu/en-tête natif Ethereum et la validation des Guardians restent indisponibles ; l’identité humaine commune relève de INSUFFICIENT EVIDENCE (ÉLÉMENTS DE PREUVE INSUFFISANTS). N’inférez pas les actifs garantissant le pont, les pertes complètes de l’incident ou une conversion en ETH natif.
Grille d’évaluation : 1 point pour chacun des critères suivants : périmètre exact, provenance de la source/du jeu pédagogique, raisonnement correct, limites explicites et manipulation sûre hors ligne (5 au total). Une observation inventée ou une attribution humaine non étayée doit être corrigée quel que soit le score. Ce retour est formatif et ne constitue pas une certification.
Liste de contrôle
- Version acceptée du jeu de données.
- Provenance source et destination.
- Tuple et charge utile/corps complets.
- Fondement des décimales.
- Heure de l’événement et heure de récupération.
- Limite d’attribution à une personne.
Résumé
Une recherche entre chaînes nécessite un lien au niveau du protocole, pas un récit fondé sur des montants identiques. Ce cas historique permet de reproduire une correspondance délimitée tout en gardant visible la provenance moins forte des éléments Ethereum. Le matériel fourni étaye une correspondance historique délimitée entre destruction, message et finalisation WETH selon les représentations RPC/archive/explorateur acceptées. Il n’établit pas la validation indépendante d’un reçu/en-tête natif Ethereum, la validation cryptographique des Guardians, un contrôle humain commun, les actifs garantissant le pont, la reconstitution complète de l’incident ou la sûreté du jeton.
Résumé
- Reconstituer la correspondance acceptée entre destruction, message et finalisation du transfert.
- Réconcilier les unités brutes et affichées.
- Conserver les limites d’acquisition et d’attribution à une personne.
Leçon suivante
P03-L01 après avoir revu cet exercice et ses prérequis.
Outils
NONE. Le catalogue de référence ne requiert aucun accès à un produit pour cette leçon. Utilisez le matériel figé/hors ligne.
Sources et limites des affirmations
- [WHDATA] Jeu de données historique P02-L08 accepté (source interne non publique) — RPC source figé, VAA archivée, extraction d’explorateur Ethereum et 11 correspondances d’affirmations ; limites de provenance acceptées par le responsable conservées. Vérifié le 2026-10-01.
Les valeurs synthétiques sont des données d’exercice créées par l’auteur. Les valeurs historiques, s’il y en a, doivent utiliser le jeu de données lié et respecter sa provenance plus limitée. L’inspection d’une source ne constitue pas une acceptation éditoriale indépendante.
Spécifications visuelles
P02-L08-V01
Reconstituer un transfert historique sans supposer une identité commune
Éléments de preuve historiques, avec limites d’acquisition et d’attribution
Chronologie historique de transaction avec le RPC source 18:27:10Z, le message 62741 et Ethereum affiché 18:28:37Z dans des pistes de provenance distinctes. Montrer l’égalité des corps et la différence des enveloppes13/15. Aucun lien de propriétaire commun. Texte alternatif : une correspondance de 80000 WETH possède des éléments natifs à la source et des éléments d’explorateur à destination ; l’identité humaine et les vérifications indépendantes des Guardians restent non résolues.
une correspondance de 80000 WETH possède des éléments natifs à la source et des éléments d’explorateur à destination ; l’identité humaine et les vérifications indépendantes des Guardians restent non résolues.
390px : lignes empilées et équivalent textuel complet ; validation du rendu 768px/ordinateur en attente
Prose RTL ; identifiants et unités numériques restent LTR ; conserver le sens factuel des flèches
P02-L08-WH-SOL-ETH-20220202-62741-v1
Sources et limites des affirmations
WHDATA · ACCEPTED_FROZEN_DATASET
Jeu de données historique P02-L08 accepté
- Affirmation étayée
- RPC source figé, VAA archivée, extraction d’explorateur Ethereum et 11 correspondances d’affirmations ; limites de provenance acceptées par le responsable conservées.
- Limite de vérification
- Enregistrements acceptés réutilisés sans modification et inspectés localement ; les heures d’acquisition antérieures et les 11 correspondances au niveau des enregistrements restent dans dataset/provenance.json.
- Date de vérification
- 2026-10-01
Source interne non publique : cette preuve a été vérifiée en interne et n’est pas publiée.
Provenance des données
id: P02-L08-WH-SOL-ETH-20220202-62741-v1
dataStatus: HISTORICAL
source: Source interne non publique : cette preuve a été vérifiée en interne et n’est pas publiée.
observedAt: 2026-10-01T15:07:40.657038Z
timeBasis: Event, report and retrieval times are separately recorded in dataset provenance
scope: Bounded attributed historical records; see dataset limitations
observedAtMeaning: Inherited dataset capture context, not event time or new live observation