Connect with us

Entreprises

Bitcoin Coinjoin – Remark ça marche ?

Published

on

Spread the love


20h00 ▪
7
min de lecture ▪ par
Nicolas T.

Advertisement

Vos bitcoins ne sont pas anonymes s’ils proviennent d’un alternate. Pour y remédier, il faut participer à un coinjoin. Explication.

Bitcoin coinjoin

UTXO

Pour comprendre ce qu’est un coinjoin, il convient d’expliquer d’abord que les bitcoins existent sous la forme de ce que l’on appelle des « UTXO ».

Cette expression extrêmement indigeste fait référence à de petits scripts (petits bout de code) qui lient une quantité de bitcoins à une adresse bitcoin.

Advertisement

On parle communément d’adresse bitcoin, mais il faudrait plutôt parler clé publique. Une adresse est une clé publique que l’on a haché through SHA-256 et encodée au format base58.

Beaucoup plus courtes que les clés, elles permettent une plus grande aisance d’utilisation et des good points d’espace pour les nœuds qui sont les gardiens de la liste complète des utxo.

Advertisement

Une clé publique et une clé privée sont deux chiffres mathématiquement liés par le problème dit du logarithme discret. Cette cryptographie dite à clé publique est au cœur du mécanisme des transactions en bitcoin.

Initier une transaction nécessite nécessite une signature venant prouver aux nœuds que l’on possède la clé privée allant de paire avec la clé publique liée à l’utxo que l’on veut dépenser.

Advertisement

Réaliser une transaction revient en définitive à fournir l’adresse de l’utxo à dépenser, l’adresse du destinataire, le montant des bitcoins à transférer et la signature.

L’utxo apporté en entrée de la transaction est remplacé par un nouvel utxo lié à une nouvelle adresse (celle du destinataire).

Advertisement

Concrètement, remark ça marche ?

Imaginez que vous ayez reçu deux transactions sur votre pockets. Mettons 0.5 BTC et 1 BTC reçus sur deux adresses différentes. Votre pockets affichera un solde de 1.5 BTC.

Soit dit en passant, votre pockets ne « contient » pas réellement 1.5 BTC. Il héberge simplement des clés privées contrôlant trois utxo gardés en mémoire par les nœuds.

Advertisement

Imaginons maintenant que vous souhaitiez envoyer 0.6 BTC. L’utxo de 0.5 BTC n’étant pas suffisant, il faudra utiliser celui de 1 BTC. Cet utxo sera consommé en totalité et la différence de 0.4 BTC vous sera renvoyée through la création d’un nouvel utxo.

En clair, d’un seul utxo émergera deux nouveaux utxo. Un de 0.6 BTC lié à l’adresse du destinataire que lui seul pourra dépenser. Et un autre de 0.4 BTC correspondant à la monnaie rendue vers une adresse vous appartenant.

Advertisement

Pour être complet, notons qu’un troisième utxo est créé au cours de la transaction. Celui correspondant au frais de transaction versés aux mineurs.

Si vous aviez voulu envoyé 1.5 BTC, votre pockets aurait tout simplement dépensé les deux utxo au cours de la même transaction.

Advertisement

Une transaction peut en effet comporter un très grand nombre d’utxo, aussi bien en entrée qu’en sortie. Par exemple :

-Sélection d’un seul utxo en entrée et création de plusieurs utxo en sortie de transaction.

Advertisement
Bitcoin transaction
Adresses d’entrée et de sortie d’une transaction Bitcoin / Supply : mempool.area

-Sélection de plusieurs utxo de 0.1 BTC en entrée créant un seul utxo en sortie (+ l’utxo correspondant aux frais de transaction pour le mineur).

Bitcoin transaction
Supply : mempool.area

Cette souplesse numérique permet de faire des coinjoins.

Coinjoin Transaction

Nombreux sont ceux qui ne savent pas qu’une seule transaction peut contenir plusieurs utxo appartenant à différentes personnes. Cet fonctionnalité rend potential les transactions que l’on appelle coinjoins.

Pour ce faire, plusieurs personnes vont coinjointement combiner leurs transactions en une seule. Le however de l’opération est de brouiller les pistes pour qu’un observateur extérieur ne puisse plus dire quels bitcoins appartiennent à qui.

Advertisement

L’ambiguité est créée en créant des utxo de même valeur en sortie. Nous y reviendrons un peu plus loin. Cliquez sur le tweet suivant pour observer un exemple réalisé avec le pockets Wasabi :

L’intérêt principal du coinjoin est de s’assurer que personne ne sachent combien de bitcoins vous appartiennent. En particulier les exchanges KYC (Know your Buyer)…

Advertisement

Les exchanges connaissent forcément votre stack. De même que les sociétés de surveillance auxquelles les données sont vendues, ainsi que les gouvernements ou des pirates informatiques qui parviennent à voler ces données.

Ces BTC « KYC » ne doivent pas être mélangés avec d’autres BTC « propres » que vous auriez par exemple reçus d’un ami. La raison étant que si vous réalisez une transaction combinant les utxo KYC avec vos utxo propres, l’alternate saura que ces autres bitcoins vous appartenaient aussi.

Advertisement

C’est ce que l’on appelle la « Frequent Enter Possession Heuristic » qui half du principe que plusieurs utxo combinés dans une seule transaction ont toutes les possibilities d’appartenir à la même personne.

D’où l’intérêt d’utiliser un pockets vous demandant d’écrire d’où viennent vos utxo. Cela permet de ne pas mélanger les utxo.

Advertisement

Plus d’data sur le pistage des sociétés de surveillance dans cet article : Remark Chainalysis piste vos bitcoins ?

Il est toutefois potential d’anonymiser de nouveau ses bitcoins en participant à des coinjoins. Il s’agit simplement de transactions rassemblant un grand nombre de members.

Advertisement

Exemple de Coinjoin Bitcoin

Ce coinjoin comporte quatre utxo en entrée appartenant à Alice et Bob. Quatre utxo sont apportés en entrée de transaction et six utxo de même montant sont créés en sortie.

Ces utxo étant de montants identiques, les pistes sont brouillées. Chaque UTXO a 50 % de possibilities d’appartenir à Alice ou Bob.

Advertisement

Bien entendu, plus le nombre de members augmente et plus cette probabilité de 50 % diminue. Il est également potential d’enchainer les coinjoins pour encore plus d’anonymat.

Les wallets qui offrent l’choice du coinjoin sont Wasabi, Samourai et Trezor. Pour plus d’informations sur leurs spécificités, rendez-vous sur ces deux articles :

Advertisement

-Trezor et Wasabi déclenchent la controverse
-Quel pockets choisir pour anonymiser ses bitcoins ?

Participer à un coinjoin n’est pas gratuit. Il faut payer le coordinateur qui se cost de construire la transaction coinjoin. Il vous en coûtera 0.3 % avec Wasabi et Trezor (qui utilisent le même coordinateur zkSNACKs). Et 5 % chez Samourai.

Advertisement

L’anonymat a un prix. Plus ou moins cher selon le pockets…

Maximisez votre expérience Cointribune avec notre programme ‘Learn to Earn’ ! Pour chaque article que vous lisez, gagnez des factors et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.

Advertisement

Nicolas T. avatar

Nicolas T.

Journaliste rapportant sur la révolution Bitcoin. Mes papiers traitent du bitcoin à travers les prismes géopolitiques, économiques et libertaires.

DISCLAIMER

Les propos et opinions exprimés dans cet article n’engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d’investissement.

Advertisement

function launch_linkedin_pixel() { _linkedin_partner_id = '3766114'; window._linkedin_partner_id = '3766114'; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); (function(l) { if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; window.lintrk.q=[]} var s = document.getElementsByTagName('script')[0]; var b = document.createElement('script'); b.type="text/javascript";b.async = true; b.src="https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(window.lintrk); }

function launch_microsoft_clarity() { if (typeof window.clarity !== 'undefined') { window.clarity("consent"); } }

Advertisement

function launch_loyalty_program_1world() { if (typeof window.OWOStorageSolutionManager !== 'undefined' && typeof window.OWOStorageSolutionManager.allow !== 'undefined') { window.OWOStorageSolutionManager.allow(); } }

(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l="+l:"';j.async=true;j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl;f.parentNode.insertBefore(j,f);}) (window,document,'script','dataLayer','GTM-KCC4DFK'); document.addEventListener('DOMContentLoaded', function() ); void 0 === window._axcb && (window._axcb = []); window._axcb.push((axeptio) => { axeptio.on("cookies:complete", (choices) => { if (choices.google_analytics) { launch_google_analytics(); } if (choices.facebook_pixel) { launch_facebook_pixel(); } if (choices.Linkedin) { launch_linkedin_pixel(); } if (choices.clarity) { launch_microsoft_clarity(); } if (choices.loyalty_program) { launch_loyalty_program_1world(); } else { if (typeof window.OWOStorageSolutionManager !== 'undefined' && typeof window.OWOStorageSolutionManager.disable !== 'undefined') { window.OWOStorageSolutionManager.disable(); } } }); }); window.axeptioSettings = { clientId: '60df16cf7559213aac28972d', cookiesVersion: 'FR', }; document.addEventListener('DOMContentLoaded', () => { var el = document.createElement('script'); el.setAttribute('type', 'text/javascript'); el.setAttribute('async', true); el.setAttribute('src', 'https://loyalty-wleu.1worldonline.com/points-balance-widget.js'); document.body.append(el); if (typeof window.OWOStorageSolutionManager !== 'undefined' && typeof window.OWOStorageSolutionManager.disable !== 'undefined') { window.OWOStorageSolutionManager.disable(); } const urlParams = new URLSearchParams(window.location.search); if (urlParams.has('logged-out') && urlParams.get('logged-out') === '1') { const checkFunctionExist = setInterval(() => { if (typeof window.logout1WO === 'function') { setTimeout(window.logout1WO, 500); clearInterval(checkFunctionExist); } }, 100); } });

Advertisement
Advertisement
Click to comment

Leave a Reply

Your email address will not be published.