Agentschap Binnenlands Bestuur

Lokale Besluiten als Gelinkte Open Data (LBLOD)

Functie: Blockchain Architect
Periode: december 2017 – december 2018

Binnen de Vlaamse Overheid heeft het Agentschap Binnenlands Bestuur (ABB) de verantwoordelijkheid om besluiten die verschillende lokale besturen of gemeentes nemen (gaande van het openbreken van een winkelstraat, tot het aanstellen van een nieuwe burgemeester) op te volgen, te verzamelen en kenbaar te maken aan het brede publiek. Het besluitvormingsproces bij gemeenten is momenteel een erg kritisch en complex proces. Zo heeft een stad als Antwerpen bijvoorbeeld 97 bestuursorganen, acht gemeenteraadszittingen per dag, en neemt het zo’n 25.000 besluiten per jaar. Het spreekt voor zich dat dit proces uiterst efficiënt dient te verlopen, waarbij de uiteindelijke besluiten gegarandeerd authentiek kunnen worden bewaard en ontsloten.

Omdat de authenticiteit van de genomen besluiten tot nog toe onmogelijk (technisch) gegarandeerd kon worden, wat een wettelijke vereiste is, werd snel duidelijk dat blockchain hier een oplossing in kon bieden. Dankzij blockchain kan immers de authenticiteit en integriteit van de genomen besluiten te allen tijde gegarandeerd worden, zonder extra administratieve handelingen, door het versleuteld persisteren van de besluiten op het gedeelde grootboek. Daarnaast kan dankzij blockchain ook het besluitvormingsproces zelf gevoelig worden verbeterd door het overbodig maken van een groot deel van de eerder noodzakelijke handtekeningen.

Alle besluiten worden met andere woorden veilig en duurzaam ondergebracht in één enkel decentraal systeem. Blockchain wordt op die manier de ‘single source of truth’ voor alle overheidsinstanties en lokale besturen. Een proof-of-concept werd ontwikkeld in samenwerking met Trase en Agentschap Informatie Vlaanderen (AIV) om de feasibility van een dergelijke decentrale oplossing aan te kunnen tonen.

 

Probleemstelling

Elke gemeente dient vanaf januari 2019 verplicht haar genomen besluiten te publiceren (op bijvoorbeeld de lokale website) en te ontsluiten via haar lokale databases. Op die manier kunnen deze gegevens opgehaald (“geharvested”) worden door de centrale overheid, die toezicht houdt op deze gepubliceerde data, deze informatie op haar beurt ook weer in bepaalde rapporten giet, en deze beschikbaar stelt naar andere externe partijen, zoals burgers of ondernemingen.

Omdat lokale overheden nu, naast een beslissingsverantwoordelijkheid, ook een publicatieplicht hebben, wil de centrale overheid hen hierin begeleiden door net deze stappen te automatiseren. Door het implementeren van een zogenaamde Editor, een applicatie verantwoordelijk voor het publiceren van besluiten, die ter beschikking wordt gesteld van de verschillende gemeenten, tracht men op die manier herbruikbare data te bekomen. De data zal herbruikbaar zijn omdat deze gelinkt wordt opgesteld. Dit is met andere woorden data die op een zodanige manier werd gestructureerd (RDFa formaat) dat het heel eenvoudig om verschillende zaken aan elkaar te koppelen, wat de data erg makkelijk doorzoekbaar maakt. De Lokale Besluiten worden voortaan dus opgesteld als Linked Open Data (LBLOD).

Aan de hand van deze Editor kunnen gemeentes hun besluiten voortaan dus gestructureerd en machineleesbaar opstellen. Echter is de integriteit en authenticiteit van deze besluiten nog steeds een onopgelost (technisch) probleem. De lokale besturen blijven immers graag gebruik maken van hun eigen IT infrastructuur. Omdat niet elke gemeente beschikt over grote IT budgetten kan de security van deze infrastructuur te wensen over laten, waardoor de bewaarde besluiten een grotere kans hebben om gehackt of gemanipuleerd te worden. De integriteit en authenticiteit van de data kan zodoende niet volledig gegarandeerd worden.

 

Een decentraal systeem

Uit de probleemstelling werd duidelijk dat er in het huidige systeem een onderscheid wordt gemaakt tussen de lokale en de centrale databases. De reden dat de architectuur op een dergelijke manier is opgezet, ligt in het feit dat lokale besturen graag gebruik willen (blijven) maken van de eigen infrastructuur. Daarnaast, en dit is doorslaggevender, dient een lokale overheid juridisch gezien mede macht te behouden over de eigen opgestelde data. Deze zelf-soevereiniteit is wettelijk voorgeschreven en houdt in dat de lokale besturen zelf het proces van registratie tot archivering van de besluiten in eigen beheer moeten hebben. Dit maakt dat er initieel is geïnvesteerd in functionaliteit ter harvesting van data. De centrale overheid is immers verantwoordelijk om op één of andere manier toezicht te houden op de besluiten van de lokale overheden. Om dit toezicht mogelijk te maken dient de centrale vindplaats gevoed te worden met lokale data. Deze data wordt opgehaald en gedupliceerd in een centrale databank.

Echter kan bepaalde relevante data, evenals de integriteitsverificatie ervan, ook op een gedistribueerde wijze bijgehouden worden. Op die manier verliezen de lokale besturen geen macht en inzicht over deze data. Dit maakt dat er een decentraal systeem kan ontstaan dat opgezet is met representaties van lokale en centrale besturen als nodes binnen dit systeem. Kanttekening die daarbij moet worden gemaakt is dat de opzet van een blockchainoplossing niet betekent dat de lokale besturen eigenaars blijven van “hun data”, maar eigenaars worden van “alle data”. Dit is een belangrijk nuanceverschil. Decentrale authenticiteit, wat blockchain teweegbrengt, betekent dat iedere gemeente instaat voor de authenticiteit van het hele systeem.

Dit soort decentrale systemen kunnen eenvoudig met blockchain geïmplementeerd worden. Logisch gezien gaat dit systeem gelijkaardig zijn aan de gedefinieerde architectuur: elk lokaal bestuur heeft namelijk onder andere zijn eigen, decentrale versie van de gegevens. Echter gaat er door het gebruik van blockchain een gemeenschappelijke gegevensbron aanvaardbaar zijn voor alle partijen. Bovendien heeft elke partij nu een gedegen overzicht van wie welke manipulaties heeft uitgevoerd, zodat er geen afbreuk gedaan wordt aan het vertrouwen in de authenticiteit van de data. Dit heeft als bijkomend resultaat dat de raadplegers zeker zijn van de bron van informatie, gezien geen enkel partij dit gegeven kan manipuleren.

Door het LBLOD project te voorzien van een decentraal systeem, kan er dus voor gezorgd worden dat lokale besturen hun eigen data rond besluiten kunnen beheren, maar dat er toch kan aangetoond worden dat de data authentiek is. Op die manier wordt de verantwoordelijkheid van correcte registratie en validatie afgedwongen door een geautomatiseerd systeem, met name blockchain.

 

Gebruikte technologie

Voor dit project werd gebruik gemaakt van Hyperledger Fabric, een open-source blockchaintechnologie, initieel ontwikkeld door IBM. Een dergelijk decentraal systeem wordt opgezet in de vorm van nodes, of peers, die met elkaar communiceren om consensus te bereiken over de status van de data in het systeem. Deze nodes worden beheerd door verschillende, onafhankelijke partijen, zodat partijen niet onder één hoedje kunnen spelen om de consensus te beïnvloeden en zo bepaalde validaties of registraties te wijzigen of ongedaan te maken. Naast de lokale besturen en de Vlaamse Overheid, kunnen dus ook andere toezichthoudende instanties worden opgenomen als node binnen het netwerk.

Elke partij in het netwerk biedt een instantie aan van de REST API. Deze interface vormt de eigenlijke toegang tot de blockchaincomponent. Daarnaast zal elke partij in het netwerk ook een eigen node hebben die deze partij zelf beheert. De Editor, die gebruikt kan worden door de lokale besturen voor het registreren van besluiten, zal het besluit ook persisteren in de Hyperledger Fabric blockchain. Op die manier kan, vanaf dat moment, de integriteit van het besluit aangetoond worden.

Het besluit zal, indien publiek, bekend gemaakt worden op de website van de lokale overheid. Daar wil de burger de controle hebben om na te kijken of hetgeen op de website gepubliceerd staat, ook effectief het authentieke besluit is. Om dit te bewerkstelligen wordt er een integratie voorzien tussen die website en de blockchaincomponent. Dit stelt de burger in staat om de volledige historiek van het besluit op te vragen. Bovendien zal de burger ook kunnen zien welke partijen effectief meegeven dat het gepubliceerde besluit authentiek is.

Om tenslotte de integratie tussen de blockchaincomponent en de Editor te vergemakkelijken, werd er een NPM package geïmplementeerd. Deze package stelt het ontwikkelteam van de Editor in staat om op een makkelijke manier te interageren met de blockchaincomponent.

 

Next steps

Momenteel werd een eerste versie van de blockchaincomponent geïmplementeerd waar de Editor mee kan communiceren, via de NPM package. Dit heeft ons in staat gesteld om het principe uit te testen en van daaruit volgende stappen te definiëren.

De komende maanden zal er verder gewerkt worden aan een manier waarop de burger op een makkelijke wijze de historiek en authenticiteit van een besluit kan controleren. Daarnaast worden er nog functionaliteiten toegevoegd aan de blockchaincomponent, zodat er naast de besluiten, ook bekendmakingen kunnen geregistreerd worden. Tenslotte wordt er ook een integratie gebouwd met het bestaande ACM/IDM systeem, hetgeen authenticatie- en autorisatiefunctionaliteit binnen de Vlaamse Overheid voorziet.