De standaardisatie van het tonen van reserves in bitcoin (Proof of Reserves)
Blockstream Research

De standaardisatie van het tonen van reserves in bitcoin (Proof of Reserves)

Steven Roose

Bitcoin-exchanges komen steeds meer onder druk te staan van gebruikers en toezichthouders om te bewijzen dat de bezittingen van de gebruikers geheel aanwezig zijn. Er zijn de afgelopen jaren een hoop hacks geweest (en veel ervan kwamen later pas boven tafel). Het is daardoor steeds belangrijker geworden om het bezit van reserves aan te tonen om het vertrouwen van de gebruikers te behouden.

Helaas hebben de paar exchanges die stappen hebben ondernomen om hun bitcoin-balans te tonen aan anderen, hun eigen oplossingen gecreëerd en gebruikt. Door de verschillende oplossingen is het moeilijk voor mensen om zelf de balans van exchanges te verifiëren, omdat ze eerst moeten leren omgaan met elk systeem. Dit is iets wat vaak specialistische en technische kennis vereist.

Bij Blockstream zijn we bezig geweest om een oplossing te verzinnen die het tonen van reserves voor de industrie standaardiseert, op een manier die compatibel is met hoe de meeste bitcoin-exchanges de bezittingen van hun gebruikers bewaren. Er is al een BIP ingediend op de bitcoin-dev mailing list, en vandaag maken we ook de ontwikkeling van onze ‘Proof of Reserves’-tool open-source, zodat we feedback kunnen ontvangen van de industrie.

Hoe het begon

In de eerste instantie waren we op zoek naar een oplossing waarmee functionaries op Liquid kunnen tonen hoeveel bitcoins (L-BTC) ze hebben als er een audit plaatsvindt. Maar gedurende ons onderzoek, kwamen we erachter dat de huidige maatregelen van exchanges voor hun gewone bitcoin-reserves verbeterd kon worden, en onze software ook buiten het Liquid-netwerk kon worden ingezet.

De traditionele aanpak

Het ontbreken van een standaard methode voor het tonen van reserves in bitcoin leidt tot twee grote problemen:

  1. Slechte toegankelijkheid: zoals we al hadden aangegeven, zijn de gebruikte technieken voor het tonen van reserves technisch en onbekend, omdat elke exchange zijn eigen methode hanteert. Gebruikers moeten voor elke exchange apart uitvogelen hoe ze de reserves kunnen verifiëren. Dit resulteert in meer blind vertrouwen, en minder verificatie.
  2. Veiligheidsrisico’s: het tonen van reserves vereist dat er wordt aangetoond dat de privé-sleutels die horen bij de wallets van de exchange, daadwerkelijk in hun bezit zijn. Vaak houdt dit in dat alle bezittingen worden verplaatst naar een nieuwe set adressen. Dit brengt veiligheidsrisico’s met zich mee, omdat aanvallers hier potentieel misbruik van kunnen maken.

Hoe het tonen van reserves werkt

De ‘Proof-of Reserves’-tool voor het tonen van reserves van Blockstream gebruikt bekende en vertrouwde methodes die al in gebruik zijn in de industrie, in plaats van dat er een “geavanceerde” nieuwe oplossing voor is gebouwd.

Simpel gezegd stelt het exchanges in staat om te tonen hoeveel bitcoins ze zouden kunnen uitgeven, zonder een “echte” transactie te maken of zichzelf bloot te stellen aan de risico’s die gepaard gaan met het verplaatsen van bezittingen.

Met de tool kan een exchange een enkele transactie aanmaken die alle UTXO’s van de exchange uitgeeft, maar ook een extra ongeldige input toevoegt. Dankzij de ongeldige input, wordt de gehele transactie ongeldig en zal deze niet worden geaccepteerd door het netwerk als hij zou worden ingediend. Het bewijst echter wel dat alle toegevoegde bitcoin-UTXO’s zouden kunnen worden uitgegeven door de exchange.

Deze transactie kan worden gedeeld met iedereen die de reserves wil verifiëren. De gegevens kunnen simpelweg worden geïmporteerd in hun ‘Proof of Reserves’-client om na te gaan hoeveel bitcoins de exchange bezit, en in welke adressen. De oplossing is makkelijk in gebruik en toegankelijk voor iedereen die weet hoe een CLI-applicatie werkt.

De nieuwste technologie

De ‘Proof of Reserves’-tool is geschreven in Rust en ondersteunt momenteel de wallet van Bitcoin Core en Trezor. Meer integraties volgen spoedig (ondersteuning voor Ledger komt eraan!).

We zijn ook blij om te zien dat Proof of Reserves mogelijk is gemaakt dankzij Partially Signed Bitcoin Transactions (PSBT), een technologie die is ontstaan uit het onderzoeksteam van Blockstream.

Werk aan de winkel

Momenteel worden alle UTXO’s getoond in het bewijs dat de tool aanmaakt, wat bij publiekelijke bekendmaking te veel informatie kan blootleggen over de financiële operatie van elke exchange. Met Liquid is het echter zo dat de totale hoeveelheid kan worden bewezen zonder de waarde van elke individuele UTXO prijs te geven, dankzij het gebruik van Confidential Transactions in Liquid.

Voorlopig verwachten we dat onze ‘Proof of Reserves’-tool zal worden gebruikt door exchanges om hun reserves te tonen bij specifieke audits. We hebben al enkele ideeën1 in de planning die de privacy van de tool kunnen verbeteren, zodat deze in de toekomst ook door gebruikers van exchanges kan worden gebruikt.

Wees erbij betrokken

Proof of Reserves wordt uitgebracht voor Liquid als standaardfunctionaliteit om het bezit van L-BTC te tonen. We bieden tevens technische ondersteuning aan alle leden van het Liquid-netwerk om de tool te gebruiken in hun alledaagse bitcoin-operaties. Stuur ons een e-mail voor meer details over hoe u zich aan kunt sluiten bij Liquid.

Bronnen

Making Bitcoin Exchanges Transparent - Christian Decker, James Guthrie, Jochen Seidel en Roger Wattenhofer. 20th European Symposium on Research in Computer Security (ESORICS), Wenen, Oostenrijk, september 2015. https://www.tik.ee.ethz.ch/file/b89cb24ad2fa4e7ef01426d318c9b98b/decker2015making.pdf ↩