Zoals sommigen misschien weten is onze eindbaas Bas al een tijdje bezig met we are sure. Een startup die een oplossing gaat bieden bij (langdurige) arbeidsongeschiktheid, overlijden en een potje voor later regelt voor ondernemers en zzp’ers. Daarnaast komt er ook een crowdfunding oplossing waarbij arbeidsongeschikte ondernemers elkaar kunnen helpen door een kortdurende periode van arbeidsongeschiktheid heen te komen (zoals bij het breken van een been). Een soort broodfonds eigenlijk alleen dan heel groot. 
we_are_sure
Afin .. dat moet natuurlijk geadministreerd worden en ‘transacties’ zijn onderhevig aan een aantal belangrijke onderlinge afspraken. Ideaal dus om eens te onderzoeken of de Blockchain 💎 technologie hier toegepast kan worden met een Proof of Concept!

Wat hebben we onderzocht? 🔬

Hoe werkt de technologie en wat zijn nou eigenlijk de huidige toepassingen? De technologie is ontstaan vanuit de Bitcoin 🤑 (de bekendste cryptocurrency), en een blockchain bestaat simpelweg uit blokken bestaat met daarin transacties. We schreven al eerder over blockchain, en voor een van onze klanten (TankTerminals) gebruiken we al een soortgelijke technologie. Elk blok heeft een hash gebaseerd op de inhoud en zit aan het vorige blok vast door te verwijzen naar de hash van dit blok. Het later wijzigen van de data in een blok is niet mogelijk, omdat dat ervoor zal er voor zorgen dat de hash verandert waardoor de blockchain invalide zou worden.

De eisen voor de Blockchain ⛓

Daarna keken we naar aan welke eisen de blockchain van de crowdfunding casus moet voldoen. Hieruit bleek dat er een ‘private’ blockchain nodig is die alleen toegankelijk is voor de deelnemers van we are sure, waarbij de transacties alleen voor hen inzichtelijk zijn. Daarnaast moet het crowdfunding proces automatisch verlopen door middel van smart contracts (code dat automatisch uitgevoerd kan worden op de blockchain), die moeten werken op een eigen geïntroduceerde currency. Hiervoor hebben we de ‘SURE token 💎’ geïntroduceerd.

Het bijdragen aan een crowdfunding

Wat voor Proof of Concept en hoe?

We hebben een iOS 🍎 applicatie gerealiseerd die dient als een wallet (voor de SURE token) en daarnaast de mogelijkheid geeft aan de gebruiker om crowdfunding verzoeken in te dienen en om bij te dragen aan bestaande crowdfundings met SURE tokens. Daarnaast kunnen ‘validators’ verzoeken afhandelen en beheerders lopende crowdfundings beëindigen.

De techniek 🤓

Er is voor gekozen om de iOS applicatie (geschreven in Swift) te laten communiceren met een onderliggende (Ethereum) blockchain node middels de Web3 JavaScript API van Ethereum. Deze node zal uiteindelijk op een centrale server komen te draaien. Op de blockchain wordt het volgende opgeslagen; de smart contract van de SURE token (een ERC-20 token contract die de eigen currency administreert), en een smart contract instantie voor elke crowdfunding die er is.

Het contract van een crowdfunding, geschreven in de taal Solidity, bevat de nodige logica en functies om een crowdfunding volledig automatisch plaats te laten vinden. Indien het doelbedrag bereikt is, worden de opgehaalde tokens automatisch overgeschreven naar het adres van de ontvanger.

Omdat voor de blockchain alleen de focus ligt op het administreren van de onderlinge klanttransacties, worden alleen de crowdfunding contracts bijgehouden op de blockchain en geen zaken eromheen (zoals de gebruikers van het systeem en de crowdfunding verzoeken). Er is daarom voor gekozen om deze zaken in een aparte MySQL database bij te houden. Deze data kan opgehaald worden vanuit de applicatie middels een API 🐵

Conclusie

Dit alles is slechts een proof of concept, maar het bewijst wel dat de Blockchiain technologie prima inzetbaar is en zeer goed geschikt is voor het crowdfundings model van we are sure! 🎉

- Met bijzonder veel dank aan Wilco, de baas die dit alles mogelijk heeft gemaakt 😊🙏🏻