Blockchain en Artificial Intelligence. Het zijn buzzwords die de afgelopen jaren te pas en te onpas worden gebruikt. Maar hoe is het eigenlijk met de combinatie van beide? Hoe werkt het, hoe ver zijn de toepassingen al en wat zijn de problemen die zich voordoen? In dit artikel nemen we de combinatie AI en Blockchain onder de loep.
Blockchain
Laten we beginnen met een korte samenvatting van wat blockchain eigenlijk is. Want eigenlijk is ‘blockchain’ nog een enorm brede term. Je zou het kunnen opsplitsen in enkele verschillende sub-categorieën. Bitcoin (BTC) is simpel gezegd een aaneenrijging van blocks, met daarop addities van payment channels en sidechains. Ten tweede hebben we Ethereum, een blockchain met de smart contracts. Dit wordt ook wel de Ethereum Virtual Machine genoemd. Naast Ethereum (EVM) heb je ook de TRON Virtual Machine (TVM) en zo zijn er veel meerder varianten: NEO, EOS, Stratis en Waves zijn ook Virtual Machines. Een virtual machine werkt als systeem waarop onafhankelijke processen kunnen worden uitgevoerd. Daarvoor wordt data ín de VM geladen. Een derde variant is de DAG: de decentralized acyclic graph. Hierin is de structuur van de blocks niet linear. De bekendste voorbeelden van deze blockchains zijn IOTA en NANO. Als je niet bekend bent met al deze verschillen, is het zeer aan te raden om de bovenstaande gelinkte artikelen te lezen met daarin de uitleg.
Verder is er naast al deze verschillen, ook nog een essentieel verschil in de manier hoe een netwerk is opgebouwd: centralized, decentralized of distributed netwerken verschillen allemaal van elkaar.
Artificial Intelligence (AI)
Dan komen we nu aan bij de kunstmatige intelligent. Dit tweede buzzword wordt ook steeds vaker toegepast in ons dagelijks leven. Het wordt ongetwijfeld ook al veel vaker toegepast dan dat je je voor kunt stellen. Als jij en foto op Facebook plaatst, zie je bij de gezichten op de foto een vierkantje waarmee je personen kunt taggen. Facebook weet niet zomaar uit het niets hoeveel personen er op de foto te zien zijn. En de besturing van autonome auto’s gebeuren ook niet zomaar vanuit het niets. Heb je ook wel eens nagedacht hoe het kan dat een chatbot op de juiste manier reageert op jouw vragen? Dat is lang niet altijd omdat er een simpele database achter zit die bij bepaalde vragen wordt getriggerd om bijbehorend antwoord te geven. Ook dit is en slim staaltje intelligentie.
Maar AI is net als blockchain een enorm brede term. Ook hierin zijn er veel verschillen: zo hebben we machine learning, artificial neural networks en deep learning. Machine learning werkt simpel gezegd met een model waardoor data uit het verleden gebruikt om een voorspelling te doen. Een artificial neural networks is een netwerk van neuronen die, door data door verschillende lagen te halen, bepaalde zaken en patronen leert herkennen. Denk aan een toetsenbord dat handgeschreven tekst kan omzetten naar letters en woorden. Tot slot is deep learning een methode waardoor bijvoorbeeld spraakherkenning mogelijk is. Soms wordt dit ook wel gezien als een onderdeel van machine learning.
Combinatie van beide
Wat blockchain doet, is data opslaan. Dit gebeurt op een gedecentraliseerde manier en dit kan van alles omvatten: transacties, simpele documenten maar ook foto’s. Wat Artificial Intelligence doet, is deze data op een manier verwerken waardoor er een bepaalde output uit komt. Hoe krijgen we deze Artificial Intelligence op een gedecentraliseerd datanetwerk? Hoe kan de output van AI ook gedecentraliseerd gemaakt worden? Op dit vlak lijkt een probleem naar voren te komen.
Aan de andere kant passen beide ontwikkelingen perfect bij elkaar. Het feit dat data in de blockchain extreem veilig is, betekent dit dus ook dat er AI kan worden toegepast op privacy gevoelige informatie. Verder kan AI een domme computer ook slimmer maken. Of AI kan zelfs worden ingezet om de ‘domme burger’ te helpen bij het maken van bijvoorbeeld een eigen smart contract.
Probleem vs. oplossing
Resumé: het gaat om de combinatie blockchain en AI. Om AI toe te passen op de data van een Smart Contract is een externe oracle nodig. Ten eerste moet de blockchain deze mogelijkheid hebben. Met Ethereum is dit bijvoorbeeld mogelijk. Echter loop je met Virtual Machines aan tegen een probleem: de data die in de blockchain wordt geladen, zal hier altijd in blijven. Het is onmogelijk om iets te verwijderen: elk blok is namelijk linear aan elkaar gelinkt.
Probleem: gigantische blockchains, trager netwerk
Als er een externe neural network-oracle aan het Ethereum Netwerk vraagt: ‘hey, kijk eens naar deze foto – is dit een mens of een hond?’ dan zal de blockchain altijd hetzelfde antwoord blijven geven – de foto staat immers ín de blockchain. Het kan daardoor niet van zichzelf leren. De enige manier om dit op te lossen is door constant nieuwe blocks te maken waarin deze stap opnieuw wordt uitgevoerd. En elke keer leert het neural network weer iets meer, en elke keer wordt er een nieuw block toegevoegd met daarin een kleine vooruitgang van de herkennig van de foto. Gevolg: een groter en groter wordende blockchain…
Oplossing: niet alle data inladen in de blockchain
Zoals het kopje al aangeeft is er maar één oplossing om de groeiende gedistribueerde database te voorkomen: niet alle data via een oracle ‘in de blockchain zetten’. Het klinkt heel simpel, maar voor de Virtual Machines is dit nogal een probleem: dit is namelijk precies wat het doet.
Als voorbeeld voor een oplossing nemen we Universa. De Universa Blockchain heeft een andere structuur dan een VM. Het is een DAG met smart contracts/documents (!) en een mede daardoor kan er op een andere manier worden omgegaan met inkomende data. Het enige dat de Universa Blockchain checkt, is de status van een bepaald smart contract – dus niet de inhoud. Elke keer als het neural network van een nieuwe layer in gaat, zal er een revisie (of: herziene versie) komen van dit smart contract. In de milliseconden dat dit gebeurt, checkt de de oracle met het neural network wat de foto in het smart contract inhoud. Het antwoord dat het neural network geeft, is daarmee ook niet elke keer hetzelfde: op een gegeven moment ziet het dat het op de foto om een hond gaat, en weer een poos later ziet het zelfs dat het gaat om een chihuahua. Doordat niet de foto zelf, maar enkel de status van de foto in de DAG wordt opgeslagen, is er veel meer mogelijk.
Het is daarnaast ook niet nodig dat elke node individueel contact moet maken met deze externe oracle. Want dat vertraagt het netwerk enorm (terwijl het probleem van een groter wordende blockchain dus al wordt verholpen). Universa heeft hiervoor twee oplossingen: op dit moment wordt er gewerkt aan een nog niet gepubliceerde oplossing. Verder kan de oracle ook gewoon contact maken met de Client-Side JavaScript.
Andere toepassingen
Uiteraard maakt bovenstaand voorbeeld de Virtual Machines niet per definitie ongeschikt voor kunstmatige intilligentie. Het voorbeeld omvatte een neural network, maar er is uiteraard meer mogelijk. Er zijn verschillende off-chain toepassingen, maar dit lijkt nog niet van de grond te komen.
Whilst there are various approaches to solving the problem, enabling AI on the blockchain and integrating AI to be nested within the smart contract offers us a powerful solution. Without enhancing the capability of the smart contract it is hard to implement real-world applications.
Cortex
Cortex
Bovenstaand citaat is afkomstig van Cortex. Zij hebben een eigen blockchain waarin de combinatie met AI makkelijker is. Cortex is een gedecentraliseerd Artificial Intelligence Platform dat AI Smart Contracts en AI executions mogelijk maakt. De native CTXT token is nodig om AI-modellen, dApps of smart contracts op de blockchain te uploadenWat Cortex heeft gedaan is de om de AI on-chain te gebruiken. Dat betekent dat er geen derde partij, zoals een oracle, nodig is. Dit zorgt dus voor extra decentralisatie. Cortex verkent de mogelijkheden om de rekenkracht van de VM’s uit te breiden met een specifieke reeks instructies. Huh, een Virtual Machine, denk je wellicht? Dat kan toch helemaal niet. Nou, dat was niet helemaal correct. De Cortex VM is zó ontwikkeld dat het backward-compatible is. Dat betekent dat er met terugwerkende kracht bepaalde instructies kunnen worden uitgevoerd/toegevoegd op een bepaald block. Dat zorgt er dus voor dat er niet telkens een nieuwe block hoeft te worden aangemaakt. Virtual Machines zonder deze backward-compatible optie, zijn dus niet geschikt voor de effectieve implementatie van AI op blockchain.
Matrix-AI-Network (MAN)
Zoals al eerder is aangehaald, kan AI ook worden ingezet om smart contracts eenvoudiger te maken. Matrix-AI-Network is hier al mee bezig. Zij noemen dit Intelligent Contracts. Als jij een weddenschap hebt met een vriend en je typt ‘als Ajax wint krijg ik de totale inleg, als Feyenoord wint krijgt x de gemeenschappelijke inleg’, dan maakt de AI van Matrix hier een smart contract van. Maar ook AI wordt ingezet op een manier om fotoherkenning. Verder ontwikkeld Matrix ook Aegis. Dit is een beveiliging en bescherming van de blockchain door middel van AI: bijvoorbeeld bepaalde loops in de codes kunnen worden opgelost.
Conclusie
De combinatie tussen AI en blockchain is dus behoorlijk complex. De meeste huidige ‘standaard’ infrastructuur is nog niet bestand tegen het geweld van de data van de kunstmatige intelligentie. De speciaal daarvoor ingerichte blockchains zijn er niet veel en moeten zich nog bewijzen (Matrix en Cortex) en ook flexibele blockchains zoals Universa tonen aan dat deze (onderbelichte) eigenschap in de toekomst nog wel eens belangrijk kan gaan worden. Het feit dat er én nog maar weinig projecten zijn én dat de impact hiervan nog klein is, toont aan dat dit een trend is die je in de toekomst goed in de gaten moet houden. Blockchain is de toekomst. Artificial Intelligence is de toekomst. Het is nu wachten op de partij die deze twee werelden perfect kan combineren. Maar pas daarbij wel op: het kan allemaal enorm mooi klinken, maar het gaat uiteindelijk om het resultaat. Misschien slokt bitcoin alsnog alles op, misschien is de ultieme AI chain nog niet eens ontwikkeld.