Door een niet goed doorgevoerde software-update afgelopen weekend, zijn er twee forks in de blockchain ontstaan waardoor ongeldige bitcointransacties uitgevoerd kunnen worden. Transacties uitgevoerd na 6 juli 2 uur 's ochtends zijn minder betrouwbaar bij bepaalde software.
Daarvoor waarschuwt Bitcoin.org. Gebruikers van Bitcoin Core-software met versienummer 0.9.5 of hoger zijn nooit in gevaar geweest. Dat er een fork zou ontstaan na de upgrade, was verwacht. Wat echter niet voorzien was, was dat een groot deel van de miners zou werken met zogenaamde Simplified Payment Verification-nodes, ofwel spv-nodes. Een spv-node haalt niet de volledige blockchain van ondertussen bijna 37GB binnen. De methode wordt veel gebruikt bij wallets voor smartphones en tablets en embedded systemen.
Op moment van schrijven zijn er negen ongeldige blocks gemined. In de eerste zes blocks die gemined werden tussen 4 juli vanaf 02:10 utc tot 03:50, zijn geen dubbele transacties geboekt. In de drie blocks die tussen 5 juli 21:50 utc en 23:40 werden gemined, is nog niet bekend of ze hebben geleid tot dubbele boekingen.
De verwachte fout ontstond omdat er een nieuwe versie van het protocol werd doorgevoerd waardoor BIP66-regels vereist worden. De regels van BIP66 stellen dat zodra er 950 van de 1000 blocks op versie 3 gebaseerd zijn, alle bijgewerkte miners versie 2-blocks weigeren. In de vroege ochtend van 4 juli was het kantelpunt bereikt van 95 procent: 950 van de 1000 blocks betroffen v3-exemplaren. Kort daarna zorgde een kleine miner, onderdeel van de nog niet bijgewerkte 5 procent, voor een ongeldig block, zoals verwacht. Het bleek echter dat ongeveer de helft van de hash rate van het netwerk aan het minen was zonder de blocks volledig te bevestigen, het zogenaamde spv-mining. Al die miners bouwden dus voort op dat verkeerde block.
Bitcoin.org meldt verder dat ongeveer 50 procent van spv-miners had aangekondigd de BIP66-regels af te dwingen. Door dat niet te doen verloren enkele grote miners meer dan 50.000 dollar aan inkomen. Alle software die ervan uitgaat dat blocks geldig zijn, heeft een risico transacties als geldig te tonen, terwijl ze dat niet zijn. Dit gaat op voor spv-wallets en software en oudere versies van de bitcoin-core die door de nieuwe BIP66-regels op het veiligheidsniveau zitten van spv-software.
De aangeraden fix is dat alle miners tijdelijk niet aan spv-mining doen, maar tijdelijk alle blocks volledig bevestigen. Normaal moeten er zes bevestigingen binnen zijn om een transactie goed te keuren. Nu raadt Bitcoin.org aan ten minste 30 bevestigingen af te wachten.