Tout d'abord, merci F2b pour ta réponse intéressante.
C'est rare de pouvoir parler technique à un tel niveau.
TL;DR : Je vois ce que tu veux dire, mais je pense pas que c'est possible.
Et puis même, rattraper 30 minutes ne sert pas à grand chose et une tentative ferait plus de mal à l'écosystème global que de bien.
Il faudrait juste préciser que tu as pris les hypothèses qui t'arrangaient bien, hein. Notamment l'idée de "retirer une transaction d'il y a trois semaines" : pourquoi un tel choix ?
Ce n'est pas que ça m'arrange particulièrement.
C'était pour illustrer l'effort à fournir par ceux qui veulent conduire cette modification tout en considérant un re-calcul de la difficulté.
(ce qui va équilibrer la vitesse à laquelle les blocks sont trouvés sur les deux chaînes.)
J'aurais pu prendre une durée plus longue, comme 2 mois, mais du coup ça démontrerai davantage la résilience de Bitcoin.
(Car il aurait fallu soutenir l'effort énergétique pendant une durée plus longue, ce qui est plus compliqué)
NB : en essayant de refaire le calcul dans le cas d'un retard de 3 semaines à rattraper, je trouve 9 semaines pour rattraper ce retard sans prendre en compte le recalcul de la difficulté. Ai-je fait une erreur ? Car j'ai utilisé la même méthode de calcul ci-après.
Je ne sais pas si tu as fait une erreur, je ne sais pas si c'est moi qui aie tord mais pour moi cela fonctionne ainsi :
Pour re-miner les 3 dernières semaines avec 65% de la puissance de calcul, sans recalcul de la difficulté sur la route .. c'est un raisonnement avec une règle de trois.
Avec 100% tu mines "x blocks" en 3 semaines.
Pour miner "x blocks" avec la moitié de la puissance de calcul, du coup c'est le double de temps, donc 6 semaines : 1 block toutes les 20 minutes.
Grosso modo, dans notre exemple, pour miner "x blocks", ça prendra donc 0,3 semaine en plus par tranche de 5% de hashrate en moins, par rapport à l'autre chaîne.
Mon résultat est donc : il faut 5,1 semaines avec 65% du hashrate pour re-miner "x blocks" qui auront été trouvés en 3 semaines avec 100% de la puissance de calcul.
Ça a du sens ?
Avec un re-calcul de la difficulté (qui sont capés à 25% max par recalcul si ma mémoire est bonne), en fonction du block courant (car tout les 2016 blocks);
la chaîne avec 35% risque de mettre un peu plus de temps que la chaîne à 65% pour le déclencher, mais une fois que ce sera fait des deux côtés, les deux chaînes avanceront à peu près à la même vitesse. (blocks/heure)
Tout ceci rend la tentative pour construire une chaîne artificielle plus difficilement accessible.
On pourrait très bien imaginer une transaction importante entre deux parties dont l'une est de mèche avec le possesseur potentiel de la majorité de la puissance de calcul (ici par exemple : le gouvernement Chinois). La partie malveillante peut alors passer un petit coup de fil juste après avoir effectué la transaction et au lieu de partir avec 3 semaines de retard, on peut commencer avec seulement quelques dizaines de minutes (selon le nombre de confirmations attendues par les deux personnes avant de se séparer).
Si on reprend ton exemple avec 6 blocs de retard (6 confirmations, soit en moyenne une heure, c'est déjà beaucoup), et que l'on garde l'hypothèse des 65% de la puissance de minage, je trouve 3 heures. Seulement trois heures pour rattraper un tel retard. Bien que cela représente tout de même une quantité d'électricité énorme, ça fait quand même réfléchir.
Je comprend ton raisonnement.
Je vais explorer deux pistes : la première avec une partie de la transaction qui a un lien avec le gouvernement chinois, et l'autre juste une transaction entre deux entités sans lien avec le gouvernement chinois.
1er cas :Certes, admettons qu'ils choisissent une transaction jugée gênante, pour l'annuler.
Si tu es l’émetteur de la transaction et qu'elle n'existe plus dans la blockchain, c'est comme si tu ne l'avais jamais faite : les
BTC sont disponibles pour être dépensés à nouveau.
Si tu es le receveur, là c'est une autre histoire. Les
BTC qui apparaissaient avec 6 confirmations vont disparaître et tu ne pourras pas les dépenser.
Ca ne peut donc avantager la partie qui souhaite annuler une transaction seulement s'ils sont les émetteurs de la transaction = gouvernement chinois ou son pote.
Déjà qu'un fork d'un block a provoqué un dump car les sites de news ont propagés la nouvelle d'une façon alarmiste ..
"zOMG y'A eU UnE tRaNsAcTiOn En MoDe DoUbLe SpEnD"
Quel effet est-ce que cela aura ?
Et puis même, dans ce cas, quid du deal ?
(Ouais, pas de paiement = pas d'échange; pas d'échange = pas d'échange)Si c'est une transaction
vraiment importante, peut-elle être honorée dans la demie-heure ?
Perso, ça me gênerai pas de vendre des baguettes ou des cafés contre du 0-conf (RBF désactivé).
Pour vendre une voiture, je me contenterai d'une ou deux confirmations
Pour vendre une maison, j'attendrai bien 6 confirmations.
Qu'est-ce que le gouvernement chinois pourrait acheter, qui soit livré dans l'heure, et qui puisse justifier un tel effort pour détourner Bitcoin ?
2è cas :Le gouvernement chinois n'a rien à voir dans le deal, mais ils souhaitent quand même annuler une transaction réalisée entre deux parties.
Pareil, si le paiement disparaît après 30mn, quid du deal ?
Si les deux acteurs se connaissent, ils peuvent choisir de faire plus d'une transaction.
Ou alors la moitié qui sera incluse dans le prochain block,
Une nuance importante à garder en tête : une fois que tu as identifié la transaction que tu veux retirer, tu recommences à miner par dessus.
Donc tu trouves des blocks, etc ... Par contre, si tu veux changer autre chose d'antérieur au blocks "re-minés", il faudra recommencer à 0. (ou du block que tu veux changer)
Le but reste de créer une chaîne artificielle qui sera considérée comme "LA Blockchain" par les clients Bitcoin Core.
Par exemple, si demain le gouvernement chinois dit "Ok, on vous autorise à miner, mais uniquement en utilisant notre pool gouvernementale". Rien ne les empêcherait de détourner discrètement la puissance de calcul pendant quelques heures (au pire ils continuent de payer les mineurs pour éviter qu'ils s'en rendent compte).
Bin .. paradoxalement je pense que le gouvernement chinois aura beaucoup de mal à faire appliquer ceci.
Si tout les mineurs chinois rejoignent une "pool gouvernementale" elle aura de facto davantage que 50%.
Et puis même, ce serait loin de passer inaperçu car cette puissance de calcul va tout simplement "disparaître" du réseau.
Bah oui, ils minent des blocks précédents, donc ne participent pas au minage du block courant. Ce serait tout sauf discret.
Il aurait fallu que le gouvernement chinois, pour avoir 65% de la puissance de calcul globale (courante), réussisse à aligner sous leur bannière 130% du réseau actuel pour que ce soit discret.
Les mineurs sont rémunérés grâce aux "coinbase transaction", ces transactions spéciales qui "créent" des Bitcoin. Le gvt chinois peut pas les payer à leur insu.
Je pense qu'ils se rendraient vite compte que les jetons qu'ils gagnent n'existent pas sur le réseau principal si quelqu'un venait à détourner la puissance de calcul.
Bon après dans le fond je suis d'accord que ça reste assez théorique et que dans la pratique il reste presque impossible de réunir plus de la moitié de la puissance de calcul. Presque...
Ce qui serait beaucoup plus dangereux, ce serait que des individus malveillants (et vachement forts) arrivent à prendre le contrôle de plusieurs pools qui réunies rassembleraient une telle puissance. À l'heure actuelle il n'y a pas de risque : pour Bitcoin il faudrait réunir les 4 plus grosses pour avoir 52% de la puissance de calcul. Cependant il existe des cryptos, souvent au faible market cap, pour lesquelles le risque est (de manière assez évidente) plus grand.
Ooooh oui..
Et c'est arrivé plus d'une fois, avec plein d'alts différents...
C'est pour cette raison que certains projets ont introduits les
checkpoints.
(Plus d'infos sur ce site :
https://decentralizedthoughts.github.io/2019-09-13-dont-trust-checkpoint/)
Grosso modo, c'est des hash de blocks/block heights qui sont encodés en dur dans le code du projet, pour éviter qu'un acteur refasse la chaîne.
Si les ASICs qui existent aujourd'hui étaient présents en 2010 en très petite quantité, je pense que leurs propriétaires se seraient amusés à tuer Bitcoin rien que pour le fun.
(Est-ce pour cette raison que Satoshi était contre le fait que Wikileaks utilise Bitcoin quand Visa/Mastercard ont arrêtés de traiter les dons vers Wikileaks?)