Blockchain is een baanbrekende technologie. Het is de ruggengraat van Bitcoin, de digitale cryptomunt waarmee u geld kunt transfereren zonder dat daar een bank aan te pas komt. Die blockchain-technologie kan ook ingezet worden in andere domeinen om het belang van vertrouwde, centrale partijen, zoals de notaris, te reduceren. Ook voor de audit wereld zou het wel eens een game changer kunnen zijn. Hoe werkt de technologie? En welke aspecten zijn van belang voor de auditor?
Wat is blockchain?
Een blockchain is een steeds aangroeiende gegevensstructuur. Het is een sequentie van blokken, zoals een logboek, waarbij het netwerk met een vaste frequentie nieuwe blokken creëert en ze achteraan de blockchain toevoegt. Voor Bitcoin is die frequentie bijvoorbeeld een kleine 10 minuten. Het meest recente blok bevat bijgevolg de meest recente informatie. Heel wat deelnemers op het blockchain-netwerk houden lokaal een kopie van de blockchain bij en dragen bij aan de veilige en correcte werking van het geheel, zelfs wanneer een deel van het netwerk malafide is. Essentieel in een blockchain-netwerk is het consensusmechanisme. Dat zorgt ervoor dat alle deelnemers over exact dezelfde versie van de blockchain beschikken.
Om bitcoins te transfereren naar Alice, zal Bob met zijn geheime sleutel een transactie creëren die alle nodige informatie bevat. Die transactie zal Bob publiceren op het Bitcoin-netwerk. Enkel indien ze geldig is, aanvaardt het netwerk de transactie, die dan achteraan de blockchain terechtkomt. Een geldige transactie betekent onder meer dat Bob geen bitcoins transfereert die hij niet, of niet meer, bezit. We geven ter volledigheid nog mee dat Bob en Alice op de blockchain niet onder hun echte namen gekend zijn, maar onder pseudoniemen die niet zomaar aan hen gelinkt kunnen worden.
Een blockchain-transactie hoeft niet per se een financiële transfer te bevatten. Het kan om het even welke data bevatten, waardoor de technologie ook voor andere toepassingen gebruikt kan worden. Enkele typische voorbeelden zijn de transfer van vastgoed zonder vertrouwde partij, het registreren van alle stappen in de toeleveringsketen bij de productie van een wagen, of de registratie van diploma’s.
Blockchain & Audit
Data in de blockchain hebben een aantal eigenschappen, die vanuit een audit-standpunt interessant zijn. De integriteit van de data is cryptografisch beschermd. Met andere woorden zijn we er zeker van dat niemand de data gewijzigd heeft of kan wijzigen. Ook het verwijderen van de data uit de blockchain is onmogelijk. Tot slot heeft elk blok een onwijzigbare datumstempel (timestamp), en aangezien elke transactie zich in één specifiek blok bevindt, weten we dus bij benadering wanneer de transactie op het blockchain-netwerk gepubliceerd werd.
Publieke blockchain-netwerken zoals Bitcoin zijn doorgaans volledig transparant. Iedereen kan de correctheid van de blockchain nagaan. Iedereen kan verifiëren dat er geen data gewijzigd of verwijderd werden. Iedereen kan nagaan wanneer een transactie in de blockchain aanvaard is. En iedereen kan de geldigheid van elke transactie checken. Bovendien bevat de Bitcoin-blockchain de volledige historiek van alle bitcoins. Iedereen kan dus bekijken welke weg een bitcoin afgelegd heeft vanaf zijn creatie tot de meeste recente transactie.
Zoals gezegd kan een transactie ook andere dan financiële informatie bevatten. Telkens wanneer een huis van eigenaar verandert, kan een transactie in een blockchain-netwerk gepubliceerd worden. Zo hebben we dus de volledige historiek van het vastgoed en kan de huidige eigenaar ook bewijzen dat hij de rechtmatige eigenaar is. Of voor elk medisch record dat gecreëerd wordt, kan een unieke fingerprint (hash) op de blockchain geregistreerd worden. Zo kan een wijziging of ontbreken van een medisch record in een patiëntendossier gedetecteerd worden en hebben we een bewijs van het moment van creatie van het record. Een derde en laatste voorbeeld is supply chain management. Elke entiteit betrokken in de toeleveringsketen voor de creatie van een product, registreert in de blockchain welk onderdeel het wanneer en waar geproduceerd heeft. Zo heeft de koper transparantie in dit proces; Hij heeft heel wat informatie over de geschiedenis van het product. Dit alles is dus mogelijk zonder centrale vertrouwde partij.
Blockchain-technologie combineert dus twee moeilijk te combineren eigenschappen: er is enerzijds niet langer nood aan een vertrouwde centrale partij, en anderzijds zit alle relevante informatie samen in één, fraude-resistente blockchain. Dit laatste maakt het een stuk makkelijker om een audit te doen. Data afkomstig van verschillende bronnen hoeft niet langer, in verschillende formaten, gecombineerd en vergeleken te worden door de auditor. Niet alleen garandeert de blockchain-technologie de correctheid en volledigheid van de data. Het dwingt ook een eenvormigheid – zeg maar standaardisatie – van de data af.
Smart contracts
Elke transactie moet aan een aantal voorwaarden voldoen voordat het door het bitcoin-netwerk aanvaard wordt in de blockchain. Dit zijn Bitcoin-specifieke regels die zijn ingebakken in de Bitcoin-toepassing. Daardoor zijn de mogelijkheden om het Bitcoin-netwerk in andere domeinen te gebruiken eerder beperkt.
Blockchain technologieën die ‘smart contracts’ ondersteunen, zoals Ethereum en Hyperledger, brengen daar verandering in. Op een applicatie-agnostisch blockchain-netwerk kunnen gebruikers applicatie-specifieke code publiceren onder de vorm van een smart contract. Deze code zal doorgaans een vertaling zijn van business-regels. Dankzij de blockchain technologie kunnen we erop vertrouwen dat deze code op een correcte manier gedistribueerd wordt uitgevoerd door het netwerk, en daarmee worden ook de business-regels op een correcte manier afgedwongen.
Laat ons kijken naar een concreet voorbeeld; een smart contract voor een veiling. Iedereen op het netwerk kan vragen aan het smart contract om een bod te registreren, wat gebeurt door het aanroepen van een functie in het contract. Het geboden bedrag wordt daarbij onmiddellijk getransfereerd naar en geblokkeerd door het contract. Het smart contract aanvaardt enkel biedingen die hoger zijn dan het vorige bod. Wanneer het smart contract vervolgens dit hogere bod registreert, betaalt het ook direct de vorige bieder terug. Dit zijn twee voorbeelden van business-regels die in het smart contract in code uitgedrukt zijn.
Om een bod te plaatsen ondertekent de bieder met zijn of haar private sleutel een set van informatie: over welk smart contract gaat het, welke functie wordt opgeroepen, en welk bedrag wordt daarbij naar het smart contract getransfereerd? Deze ondertekende data is eveneens een transactie die door de bieder op het netwerk geplaatst wordt en daarna op de blockchain terechtkomt. Vervolgens wordt de functie door het netwerk correct uitgevoerd, waardoor het bod geregistreerd wordt.
Wat voor een auditor interessant is in dit verhaal, is dat hij dankzij smart contracts er steeds op kan vertrouwen dat de code – die business logica bevat – correct uitgevoerd werd. Als hij toegang heeft tot de relevante transacties in de blockchain kan de auditor met zekerheid weten wanneer welke functie uitgevoerd werd en welk effect dit had. Hij kan dus m.a.w. de volledige geschiedenis van het smart contract opnieuw afspelen, zonder enige twijfel over de correctheid of volledigheid ervan.
Enterprise context
Publieke blockchain-netwerken zoals Bitcoin en Ethereum zijn extreem open en transparant. Iedereen kan transacties publiceren en de volledige inhoud van de blockchain zien. En in het geval van Ethereum kan iedereen dus smart contracts publiceren en smart contract functies aanroepen. Het Bitcoin-netwerk en het Ethereum-netwerk zijn daarmee de gekendste voorbeelden van wat we een unpermissioned of ook wel permissionless blockchain-netwerk noemen. Het vertrouwen in dergelijke netwerken is gedistribueerd over duizenden nodes over de hele wereld.
Hoewel een dergelijke openheid zeer nuttig kan zijn, is soms meer controle wenselijk. Bijvoorbeeld wanneer concurrerende banken gebruik willen maken van een gedeelde blockchain voor de registratie van inter-bank overschrijvingen. De rest van de wereld hoeft zich hier niet in te moeien. Blockchain-technologieën die dergelijke controle toelaten worden permissioned genoemd en hebben een extra laag voor toegangscontrole. Zo kan de mogelijkheid om een bepaalde contractfunctie op te roepen worden beperkt tot een bepaalde groep deelnemers. Sommige technologieën laten bovendien toe om veel beter zowel de privacy van betrokken burgers als de confidentialiteit van bedrijfsgegevens te beschermen. Zo kunnen bijvoorbeeld smart contracts en de gerelateerde transacties geëncrypteerd worden zodat enkel een selecte groep de inhoud kan zien.
Audit kan in dit geval een onmogelijke opdracht lijken. Gelukkig kan de toegangscontrolelaag aan de auditor de mogelijkheid bieden om bijvoorbeeld alle transacties van een bepaalde gebruiker te kunnen zien, of om bepaalde informatie in bepaalde transacties te kunnen lezen.
Conclusie
De blockchain-technologie is nog in volle ontwikkeling. Zo is bijvoorbeeld de audit functionaliteit in de huidige permissioned blockchain technologieën nog beperkt. De blockchain technologie kent ook nog een aantal uitdagingen. Zo is het bijvoorbeeld noodzakelijk dat de geheime sleutel van elke deelnemer voldoende beschermd wordt tegen verlies en diefstal, wat dramatische gevolgen kan hebben.
Voor een auditor is blockchain in elk geval een veelbelovende technologie. De technologie kan heel wat garanties bieden, zonder dat daarbij een centrale partij vertrouwd moet worden. Zo kan de auditor erop vertrouwen dat de historiek in de blockchain volledig en correct is en dat business-regels gerespecteerd werden. Bovendien is het niet langer nodig om meerdere gegevenssets met elkaar te gaan vergelijken. Als auditor volgt u dus misschien toch maar beter de evoluties.
Leave a Reply