Bitcoin Forum
July 15, 2019, 11:09:50 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [BITCOIN CORE] Vulnérabilité majeure  (Read 343 times)
registrio
Newbie
*
Offline Offline

Activity: 28
Merit: 21


View Profile
September 20, 2018, 04:46:29 PM
Last edit: September 20, 2018, 10:18:00 PM by registrio
Merited by Halab (2), JohnUser (1), baba0000000000 (1), F2b (1), TomCrypto (1), Yaplatu (1)
 #1

Je publie un petit topic car il y a un bug majeur qui est passé quasiment inaperçu surtout auprès des newbies. Je trouve que c'est le bug le plus important qu'ait connu le Bitcoin depuis des années. Je me base sur le topic suivant : https://bitcointalk.org/index.php?topic=5032424.0

Disclaimer : Les développements que je réalise ici sont le fruit de ma propre compréhension. Je serais très reconnaissant si un dév du Bitcoin parlant français pouvait valider les informations que je formule ci-dessous.

A travers ce post, j'espère lancer un débat sur les failles que peuvent représenter les protocoles distribués en général et comment cela peut avoir un impact significatif sur des millions de personnes si jamais la décentralisation numérique s'adoptait massivement. L'occasion pour moi de vous convaincre à travers ce post qu'il y a urgence à repenser le modèle technologique des crypto-monnaies en prônant une plus grande diversité des implémentations. Pour la faire courte, je suis très critique envers la taille des capitalisations des crypto-monnaies et je prône des solutions plus petites et plus locales résolvant d'ailleurs la question des difficultés de scalablity.

Il y a exactement deux jours, une faille majeure à été découverte dans le réseau bitcoin. Pendant ce temps là, et pendant les jours qui ont suivis, il n'y a eu presque aucune incidence sur le prix du Bitcoin : https://coinmarketcap.com/currencies/bitcoin/ Et c'est à peine si la presse spécialisée en parle : https://journalducoin.com/bitcoin/bitcoin-core-patch-faille-decouverte-bitcoin/ Honnêtement, ça me surprend pas, les investisseurs utilisent un instrument qu'ils comprennent pas. Il le voit comme un instrument financier infaillible et une certaine paresse intellectuelle s'est imposée à la communauté qui laisse penser que le protocole Bitcoin est "incassable". C'est faux.

Je vais tâcher ici de vous décrire la vulnérabilité de manière concise avec quelques éléments techniques. Elle concerne une fonction CheckBlock() qui gère la vérification du format d'un bloc de manière intrinsèque, sans rentrer dans les détails des transactions : https://github.com/bitcoin/bitcoin/blob/d926a87fde80b64024b2d94260c53aab20ccb259/src/validation.cpp ligne 3080.

Pour comprendre, il faut reprendre le fix : https://github.com/bitcoin/bitcoin/commit/d926a87fde80b64024b2d94260c53aab20ccb259#diff-24efdb00bfbe56b140fb006b562cc70b . Pour des raisons d'optimisations, la fonction CheckTransaction() était "sautée" en paramétrant l'un ses paramètres à false. Cette fonction permet de vérifier qu'il n'y a pas de doublons dans le bloc. Il s'avère qu'en ne faisant pas cette vérification, le node BTC plantait tout simplement et s'arrêtait de fonctionner * (Je n'ai pas encore approfondi le sujet, je vous tiens au courant si j'en sais plus). En d'autres termes, il était possible à l'aube de ce fix, de geler l'ensemble du réseau Bitcoin en s'attaquant directement aux nœuds (attaque DDos). Il suffisait par exemple de lancer l'attaque plusieurs fois sans que le réseau ne puisse jamais redémarrer.

Dans les faits, cette attaque était relativement difficile à pratiquer pour le premier des pecnos pour deux raisons :
- Il fallait préalablement miner un bloc dans la chaîne courante. Un seul suffit, ce qui induisait une probabilité de succès proportionnelle à la puissance de calcul détenue. Par exemple, cette attaque était tout à fait envisageable avec une puissance de calcul de 0.1 %, ce qui donne une bonne espérances mathématique de réalisation sur 1000 blocs soit une semaine d'attente.
- Puis, il fallait que ce bloc soit diffusé le plus rapidement possible, ce qui revient en pratique à réajuster l'hypothèse précédente.

Bref, n'importe quelle petite mine de taille moyenne pouvait sur l'année potentiellement geler le réseau à ces propres fins de dumping par exemple. Pour les fermes de tailles plus grande, il était possible de porter un préjudice grave à l'ensemble du réseau en empêchant le consensus d'avancer et en lésant plusieurs milliers d'investisseurs qui n'aurait plus été capable de réaliser des transactions.

Pire, on ne sait pas si c'est vrai, mais si les fermes dans leurs globalité n'ont pas des systèmes de redémarrage, c'est potentiellement une réduction drastique de la puissance de calcul qui disparaît du jour au lendemain par Déni de Service. Le cas échéant, une attaque double dépense aurait tout à fait pu être réalisé par des acteurs de moyenne taille.

Cette événement est passé quasiment inaperçu pour la majorité des communautés externes au forum. Pour ma part, j'ai été au courant du bug grâce au jolis petits diamants mauves au dessus sur la nouvelle mise à jour du Bitcoin Core il y a deux jours. Dans tous les cas, ce bug majeur est là pour nous rappeler que rien n'est infaillible dans le protocole. Si les maximalistes du forum préfère fermer les yeux, j'espère à travers ce post vous faire au moins réfléchir sur les multiples faiblesses qui jonche le chemin du bitcoin, qu'elles soient malveillantes ou non-intentionnelles. Il est clair que nous n'avons pas l'intelligence collective nécessaire pour contrer celle d'un gouvernement par exemple (qui a certainement une large liste de vulnérabilités non encore utilisées).

Vos remarques sur le sujet sont les bienvenues Smiley

* Edit : Le bug s'enclenche lorsqu'il y a effectivement un doublon dans le bloc miné.
1563232190
Hero Member
*
Offline Offline

Posts: 1563232190

View Profile Personal Message (Offline)

Ignore
1563232190
Reply with quote  #2

1563232190
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Yaplatu
Full Member
***
Offline Offline

Activity: 560
Merit: 180


Never Surrender ฿


View Profile
September 20, 2018, 05:12:00 PM
 #2

J'avais vaguement entendu parler qu'il y avait eu un bug effectivement et d'ailleurs BCH etc ... Auraient potentiellement hérité de cette faille.

Mais je te remercie pour cette belle précision et explication  Wink

"Les révolutions coupent les têtes alors qu'il suffirait de changer les cerveaux." - Ralph Waldo Emerson.
registrio
Newbie
*
Offline Offline

Activity: 28
Merit: 21


View Profile
September 20, 2018, 05:25:44 PM
 #3

J'avais vaguement entendu parler qu'il y avait eu un bug effectivement et d'ailleurs BCH etc ... Auraient potentiellement hérité de cette faille.

Mais je te remercie pour cette belle précision et explication  Wink

Oui tout à fait ! Malheureusement, comme c'est de vulgaires forks avec un ou deux petits changements de paramètres (et pas vraiment de nouvelles implémentations) ils héritent automatiquement de tous les bug du BTC core. Au final, les devs de BCH passe leur temps à faire des git diff  Roll Eyes

Merci pour ton retour Smiley
Minmatt
Jr. Member
*
Offline Offline

Activity: 118
Merit: 3


View Profile
September 20, 2018, 05:59:21 PM
 #4

Article très intéressant ! En effet je suis passé à côté de ces infos
Merci en tout cas pour cette update
Halab
Moderator
Sr. Member
*
Offline Offline

Activity: 644
Merit: 347



View Profile
September 21, 2018, 05:38:08 AM
 #5

Pour ma part, j'ai été au courant du bug grâce au jolis petits diamants mauves au dessus sur la nouvelle mise à jour du Bitcoin Core il y a deux jours.

Les petits diamants sont passés au rouge pendant la nuit Smiley. Avec ce message de Theymos.
JohnUser
Hero Member
*****
Offline Offline

Activity: 938
Merit: 708


View Profile WWW
September 21, 2018, 06:16:21 AM
 #6

Pour ma part, j'ai été au courant du bug grâce au jolis petits diamants mauves au dessus sur la nouvelle mise à jour du Bitcoin Core il y a deux jours.

Les petits diamants sont passés au rouge pendant la nuit Smiley. Avec ce message de Theymos.

Je me rends compte que tout le monde dit la même chose, j'avais rien pigé aux diamants mauves : vous parlez de la NEWS tout simplement !!

Je supprime mon post sans intérêt du coup...
Yaplatu
Full Member
***
Offline Offline

Activity: 560
Merit: 180


Never Surrender ฿


View Profile
September 21, 2018, 08:19:38 AM
 #7

Il y a une new comme ça et malgré tout le BTC passe à 6 700$, c'est à rien n'y comprendre parfois  Roll Eyes

"Les révolutions coupent les têtes alors qu'il suffirait de changer les cerveaux." - Ralph Waldo Emerson.
JohnUser
Hero Member
*****
Offline Offline

Activity: 938
Merit: 708


View Profile WWW
September 21, 2018, 08:31:01 AM
 #8

Peut-être pour ça :

Does "exploitable" mean that this possibility existed or was exploited?
It means that the vulnerability currently exists and Bitcoin Core versions 0.14.0 to 0.16.2 and could be exploited by anyone who has enough hashrate to mine a block. There are no known instances of it actually being exploited.

J'ose pas imaginer le nombre de version de bitcoin core vérolées en circulation en ce moment.
TomCrypto
Full Member
***
Offline Offline

Activity: 588
Merit: 202


View Profile
September 22, 2018, 02:39:24 PM
Last edit: September 22, 2018, 03:02:36 PM by TomCrypto
Merited by registrio (1)
 #9

Super description du problème registrio.
Il y a quelques heures j'ai lu un article sur un des rebondissements au bug que tu as mentionné. J'avais fait un post sur la partie News de la section Fr du forum car j'avais pas vu ton sujet mais heureusement Halab veille au grain et m'a redirigé ici!

Il s'avère que le bug que tu mentionnais n'était que la partie visible de l'Iceberg et qu'une utilisation spécifique de ce bug par déni de service pouvait aussi permettre de générer de nouveau bitcoin au delà de la limite des 21 millions! Et les développeurs de Bitcoin core été semble t il au courant de cette possibilité dès la découverte du bug mais on préférait ne rien dire pour faciliter le déploiement de la mise à jour du client Bitcoin core chez les mineurs. Et maintenant que c'est fait il lâche l'info. Assez effrayant je trouve et on est pas passé loin d'une belle catastrophe pour le monde des cryptos!

Le rapport complet sur le sujet par les développeurs de Bitcoin Core où ils dévoilent ce second impact est disponible ici : https://bitcoincore.org/en/2018/09/20/notice/
registrio
Newbie
*
Offline Offline

Activity: 28
Merit: 21


View Profile
September 22, 2018, 03:08:13 PM
 #10

Merci à tous pour vos retours !

Super description du problème registrio.
Il y a quelques heures j'ai lu un article sur un des rebondissements au bug que tu as mentionné. J'avais fait un post sur la partie News de la section Fr du forum car j'avais pas vu ton sujet mais heureusement Halab veille au grain et m'a redirigé ici!

Il s'avère que le bug que tu mentionnais n'était que la partie visible de l'Iceberg et qu'une utilisation spécifique de ce bug par déni de service pouvait aussi permettre de générer de nouveau bitcoin au delà de la limite des 21 millions! Et les développeurs de Bitcoin core été semble t il au courant de cette possibilité dès la découverte du bug mais on préférait ne rien dire pour faciliter le déploiement de la mise à jour du client Bitcoin core chez les mineurs. Et maintenant que c'est fait il lâche l'info. Assez effrayant je trouve et on est pas passé loin d'une belle catastrophe pour le monde des cryptos!

Aussi, merci pour ton information, vérifiée notamment par le lien https://bitcoincore.org/en/2018/09/20/notice/ .

Malheureusement, je suis pris un peu par le travail, je n'ai toujours pas pu creuser la question. Si j'ai un peu de temps, je ferai un édit au-dessus pour essayer de comprendre comment techniquement, il était possible d'augmenter le supply.

Je finirai sur une remarque : Il est nécessaire qu'un système d'alerte soit mis en place à mon avis. Deux jours plus tard, la moitié de la puissance de calcul n'est toujours pas mise à niveau (cf le lien sur la Full disclosure)
TomCrypto
Full Member
***
Offline Offline

Activity: 588
Merit: 202


View Profile
September 22, 2018, 03:09:50 PM
 #11

Ah ben nos messages se sont croisés car j'avais trouvé le full diclosure aussi et mis à jour mon post ;p
Si tu as les connaissances nécessaires en code je suis preneur d'une petite explication de comment ils peuvent augmenter le supply avec un tel bug. Autant bloquer des noeuds je comprends mais augmenter le supply ca doit être un poil plus compliquer.
yogg
Legendary
*
Offline Offline

Activity: 1526
Merit: 1704


Coldkey™ -- coldkey.eu


View Profile
September 23, 2018, 11:51:16 AM
Last edit: September 23, 2018, 12:18:13 PM by yogg
Merited by TomCrypto (1)
 #12

Ah ben nos messages se sont croisés car j'avais trouvé le full diclosure aussi et mis à jour mon post ;p
Si tu as les connaissances nécessaires en code je suis preneur d'une petite explication de comment ils peuvent augmenter le supply avec un tel bug. Autant bloquer des noeuds je comprends mais augmenter le supply ca doit être un poil plus compliquer.

Je vais essayer de répondre, au moins d'éclaircir certains aspects. Voici un truc à savoir, dans la construction des transactions bitcoin, pour comprendre ce bug.
Quand vous recevez des bitcoins, le wallet dont vous en recevez va prendre un output qui le concerne, le mettre en input, et créer la transaction avec votre addresse en output.
Quand vous envoyez des bitcoins, en fait vous "dépensez" un output qui à été fait à une adresse publique, dont vous avez la clé privée, qui correspond. Donc vous mettez cet output en tant qu'input, et en output, la destination de la transaction...



(Source : https://bitcoincore.org/en/2018/09/20/notice/ )
Quote
In Bitcoin Core 0.15, as a part of a larger redesign to simplify unspent transaction output tracking and correct a resource exhaustion attack the assertion was changed subtly. Instead of asserting that the output being marked spent was previously unspent, it only asserts that it exists.

Thus, in Bitcoin Core 0.15.X, 0.16.0, 0.16.1, and 0.16.2, any attempts to double-spend a transaction output within a single transaction inside of a block where the output being spent was created in the same block, the same assertion failure will occur (as exists in the test case which was included in the 0.16.3 patch). However, if the output being double-spent was created in a previous block, an entry will still remain in the CCoin map with the DIRTY flag set and having been marked as spent, resulting in no such assertion. This could allow a miner to inflate the supply of Bitcoin as they would be then able to claim the value being spent twice.

Quote
Dans Bitcoin Core 0.15, dans le cadre d'une large refonte pour simplifier le suivi des transactions non dépensées, et donc corriger un vecteur d'attaque qui épuisait certaines ressources, le test a été changé subtilement. Au lieu de tester que l'output qu'on marque comme "dépensé" était dans le passé "non-dépense", on teste seulement que l'output existe dans la blockchain.

En conséquence, dans Bitcoin Core 0.15.X, 0.16.0, 0.16.1 et 0.16.2, une tentative de double-dépense d'un output de transaction dans un block où l'output a été crée, une erreur de test (assert) va se produire.
En revanche, si l'output qui est "double-dépensé" a été crée dans un block précédent, de la façon dont le test est actuellement fait, l'output sera considéré comme existant, mais "dépensé" et donc le test (assert) va réussir sans erreur car l'output existe. Cela permet à un mineur d'augmenter la quantité de bitcoins car ils peuvent récupérer la valeur qui a été double dépensé.

En gros, ils ont changés une manière de faire des tests dans une version récente, pour que Bitcoin Core gagne en performances sur certaines choses.
Cette mise à jour permet à un mineur(!) malicieux, de tricher. (Un mineur qui a 20 ASIC ne peut rien faire tout seul dans ce cadre là hein ..)

Nous étions donc tous concernés par cette faille, seulement quelques individus pouvaient réellement en tirer profit. Ça ne concerne pas les mineurs qui minent dans des pools.
C'est plutôt ceux qui construisent le header du block dont on calcule la preuve de travail, vraiment, qui peuvent en profiter.
Donc quelques personnes dans le monde, ceux qui sont à la têtes des pools...
Et si jamais ils le font, que se passera t'il par la suite pour leur opération ? Si une pool triche, et que ça s'apprend ? Ça s'apprendra, car tout est transparent.
Vaut mieux peut être s’abstenir, hein ?  Grin



Bitcoin en a vu d'autres. Style, un block qui a crée ... 93 milliards de bitcoins  Cheesy


The "value out" in this block #74638 is quite strange:

Code:
{
        {
            "hash" : "1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9",
            "ver" : 1,
            "vin_sz" : 1,
            "vout_sz" : 2,
            "lock_time" : 0,
            "in" : [
                {
                    "prev_out" : {
                        "hash" : "237fe8348fc77ace11049931058abb034c99698c7fe99b1cc022b1365a705d39",
                        "n" : 0
                    },
                    "scriptSig" : "0xA87C02384E1F184B79C6ACF070BEA45D5B6A4739DBFF776A5D8CE11B23532DD05A20029387F6E4E77360692BB624EEC1664A21A42AA8FC16AEB9BD807A4698D0CA8CDB0021024530 0x965D33950A28B84C9C19AB64BAE9410875C537F0EB29D1D21A60DA7BAD2706FBADA7DF5E84F645063715B7D0472ABB9EBFDE5CE7D9A74C7F207929EDAE975D6B04"
                }
            ],
            "out" : [
                {
                    "value" : 92233720368.54277039,
                    "scriptPubKey" : "OP_DUP OP_HASH160 0xB7A73EB128D7EA3D388DB12418302A1CBAD5E890 OP_EQUALVERIFY OP_CHECKSIG"
                },
                {
                    "value" : 92233720368.54277039,
                    "scriptPubKey" : "OP_DUP OP_HASH160 0x151275508C66F89DEC2C5F43B6F9CBE0B5C4722C OP_EQUALVERIFY OP_CHECKSIG"
                }
            ]
        }
    ],
    "mrkl_tree" : [
        "012cd8f8910355da9dd214627a31acfeb61ac66e13560255bfd87d3e9c50e1ca",
        "1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9",
        "618eba14419e13c8d08d38c346da7cd1c7c66fd8831421056ae56d8d80b6ec5e"
    ]
}

92233720368.54277039 BTC?  Is that UINT64_MAX, I wonder?


Avec chaque bug découvert et résolu, bitcoin n'en devient que plus robuste et résilient.

TomCrypto
Full Member
***
Offline Offline

Activity: 588
Merit: 202


View Profile
September 23, 2018, 02:06:36 PM
 #13

Merci à vous deux registrio et Yogg pour cette description bien détaillée du bug et de ses conséquences. C'est un peu plus clair pour moi maintenant.
Et dans le cas où quelqu'un arriverait à créée un Bitcoin avec cette méthode quelles sont les solutions? On peut faire un reverse de la transaction ou annuler un bloc?
yogg
Legendary
*
Offline Offline

Activity: 1526
Merit: 1704


Coldkey™ -- coldkey.eu


View Profile
September 23, 2018, 07:37:33 PM
 #14

Et dans le cas où quelqu'un arriverait à créée un Bitcoin avec cette méthode quelles sont les solutions? On peut faire un reverse de la transaction ou annuler un bloc?

Je pense qu'en théorie, les noeuds valideraient ces blocks avec ces transactions. Jusqu'à une mise à jour de bitcoin core qui règle le bug.
Lors de la mise à jour, soit on acte le fait qu'il y'a x bitcoin en plus du au bug, et on les garde, sans trop de conséquences, ce qui est acceptable.

Soit on peu aussi les effacer. Dans le cas où on les efface, cela changera le bloc qui vient juste après, donc ça reviendrait à "reboot" bitcoin, au block où ce coin en trop est apparu. (catastrophique)


Saint-loup
Hero Member
*****
Offline Offline

Activity: 840
Merit: 609


★Bitvest.io★ Play Plinko or Invest!


View Profile
September 25, 2018, 10:51:54 AM
 #15

On nous avait vendu que les calculs pour la validation des blocs et la structure même de Bitcoin rendaient impossible la création de bitcoins ex nihilo.
Il semble aujourd'hui que ça soit faux, si c'est bien le cas c'est plus qu'inquiétant quant à la fiabilité de bitcoin,  car ça paraissait assez basique que soit vérifié le nombre total de bitcoins à chaque nouveau bloc et de rejeter le bloc si le nombre trouvé était superieur à celui qu'il était censé être à l'instant T.
Si bitcoin n'est meme pas capable de faire ça correctement, il risque d'y avoir une sacree crise de confiance.



.
.BIG WINNER!.
[15.00000000 BTC]


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████

▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░████
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████

██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░

██░▄▄▄▄░████▄▄██▄░░░░
████████████▀▀▀▀▀▀▀██
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄

██░████████░███████░█
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████

▀████████████████████▀




Rainbot
Daily Quests
Faucet
yogg
Legendary
*
Offline Offline

Activity: 1526
Merit: 1704


Coldkey™ -- coldkey.eu


View Profile
September 25, 2018, 08:11:55 PM
Last edit: September 25, 2018, 09:11:10 PM by yogg
 #16

On nous avait vendu que les calculs pour la validation des blocs et la structure même de Bitcoin rendaient impossible la création de bitcoins ex nihilo.
Il semble aujourd'hui que ça soit faux, si c'est bien le cas c'est plus qu'inquiétant quant à la fiabilité de bitcoin,  car ça paraissait assez basique que soit vérifié le nombre total de bitcoins à chaque nouveau bloc et de rejeter le bloc si le nombre trouvé était superieur à celui qu'il était censé être à l'instant T.
Si bitcoin n'est meme pas capable de faire ça correctement, il risque d'y avoir une sacree crise de confiance.

Oui, c'est selon ce principe que bitcoin est construit, et c'est ce qu'on veut. Selon le principe que la création ex nihilo est impossible.
Le développement et la maintenance de bitcoin est une tâche ingrate. C'est plus simple quand tu as une gouvernance qui garantis un revenu tout le long de sa vie à l'équipe de devs, style Dash.

Les bourdes, ça arrive. Partout..

Le bug qui a été introduit par la refonte d'une fonction, permettait aux personnes qui préparent les blocks de tricher en impunité et de "double-dépenser" des transactions.
Nuance, qui préparent. Ce n'est pas forcément ceux qui font le travail de minage. Le mineur à qui on fournit un block à résoudre, ne peut rien faire.
(Uniquement l'équipe d'une pool aurait pu le faire, ou un mineur avec suffisamment de ressources pour trouver des blocks solo)

Ce bug a été gardé sous silence, et depuis résolu.
Donc une amélioration voulue a causé un souci imprévu.

Ce n'est pas la première fois que ça se produit, et ça ne sera pas la dernière.
Bitcoin est une expérience. Certes, une expérience à $110,000,000,000  Tongue

Maintenant, tant que les bugs ne terrassent pas bitcoin, il n'en sort que plus fort.
Pour construire une chaîne de blocs concurrente, dans l'espoir d'en produire une plus longue et plus lourde pour "détourner" bitcoin, il faudrait aussi y inclure chaque bug.

Et quand bien même, ce n'est "que" le futur de la blockchain de bitcoin qui est concerné.
Rien ne nous empêche de prendre l'état de la chaîne à un block #n et de repartir avant un bug sur un fork tout neuf.

Saint-loup
Hero Member
*****
Offline Offline

Activity: 840
Merit: 609


★Bitvest.io★ Play Plinko or Invest!


View Profile
September 27, 2018, 05:11:58 PM
Merited by Halab (1)
 #17

Jimmy Song a sorti un article aujourd'hui pour 《clarifier》 les tenants et aboutissants de ce bug https://medium.com/@jimmysong/bitcoin-core-bug-cve-2018-17144-an-analysis-f80d9d373362



.
.BIG WINNER!.
[15.00000000 BTC]


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████

▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░████
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████

██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░

██░▄▄▄▄░████▄▄██▄░░░░
████████████▀▀▀▀▀▀▀██
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄

██░████████░███████░█
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████

▀████████████████████▀




Rainbot
Daily Quests
Faucet
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!