<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>scalability &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/tag/scalability/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Thu, 26 Mar 2026 14:21:59 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>scalability &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Privacy en schaalbaarheid met zero-knowledge proofs</title>
		<link>https://www.smalsresearch.be/privacy-en-schaalbaarheid-met-zero-knowledge-bewijzen/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Thu, 08 Jan 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=23409</guid>

					<description><![CDATA[Zero-knowledge bewijzen helpen in blockchain context om zowel privacy als schaalbaarheid te verbeteren. Wat is het, wat zijn de uitdagingen en worden ze reeds toegepast?]]></description>
										<content:encoded><![CDATA[<p><em>Cet article est aussi disponible en <a href="/?p=23410">français</a>.</em></p>
<p data-wp-editing="1"><a href="/wp-content/uploads/2025/12/MartinHandfordWallyFriends.png"><img fetchpriority="high" decoding="async" class="size-medium wp-image-24630 alignright" src="/wp-content/uploads/2025/12/MartinHandfordWallyFriends-244x300.png" alt="" width="244" height="300" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/MartinHandfordWallyFriends-244x300.png 244w, https://www.smalsresearch.be/wp-content/uploads/2025/12/MartinHandfordWallyFriends.png 250w" sizes="(max-width: 244px) 100vw, 244px" /></a><a href="https://en.wikipedia.org/wiki/Where%27s_Wally%3F">Where is Wally</a> is een bekend spel waarbij een specifiek personage – genaamd Wally – gezocht dient te worden in een tekening met veel details en andere personages. Hoe kan Paula (de <em>prover</em> ofwel de <em>bewijzer</em>) aan Victor (de <em>verifier</em> ofwel de <em>verifieerder</em>) bewijzen dat ze weet waar Wally is, zonder details over zijn positie in de figuur weer te geven? Paula kan een ondoorzichtige plaat nemen die zowel in de hoogte als in de breedte dubbel zo groot is als de figuur waarin Wally verborgen is. In het midden van de plaat is een gaatje ter grootte van Wally. Door de plaat zo te positioneren dat het gaatje enkel Wally toont, bewijst Paula aan Victor dat ze Wally gelokaliseerd heeft, zonder informatie over Wally’s locatie prijs te geven.</p>
<p>Dit is een voorbeeld van een <em>zero-knowledge proof</em>, of kortweg <em>ZKP, </em>wat een partij toelaat een bewering aan een andere partij te bewijzen zonder verder details over die bewering prijs te geven. Strikt genomen is het Wally-voorbeeld niet helemaal zero-knowledge, gezien ook informatie over de lichaamshouding en gezichtsexpressie van Wally prijsgegeven worden, wat kan helpen om hem te vinden.</p>
<p>Een ander <a href="https://eprint.iacr.org/2018/046.pdf">voorbeeld</a>, waarvoor een proof of concept gebouwd werd, bewijst aan het publiek dat het DNA van een presidentskandidaat niet voorkomt in een forensische DNA-database. De politie voert publiek beschikbare code uit op inputs die verborgen blijven voor het publiek: de DNA-database en het DNA-profiel van de presidentskandidaat. De output is “<em>geen match</em>”, “<em>gedeeltelijke match</em>” of “<em>volledige match</em>”. Het publiek – althans de cryptografen onder hen – is ervan overtuigd dat het resultaat de correcte uitvoering is van de code op de confidentiële inputs. De bewering die hier bewezen wordt m.b.v. een ZKP heeft betrekking tot de integriteit van <u>berekeningen op confidentiële data</u>.</p>
<p><em>Anonieme credentials, die in een <a href="/?p=23233">vorig artikel</a> besproken werden,</em> laten daarentegen burgers toe om  <u>eigenschappen</u> over henzelf selectief te bewijzen, zoals meerderjarigheid, nationaliteit of bezit van een geldig rijbewijs. Anonieme credentials maken intensief gebruik van ZKPs. Ook ZKP&#8217;s op zich kunnen, zoals we verder in dit artikel zullen zien, aangewend worden voor selectieve prijsgave van persoonsgegevens.</p>
<p>Samengevat stellen ZKPs een partij, de <em>prover</em>, in staat om zonder een vertrouwde tussenpartij, aan een andere partij, de <em>verifier</em>, beweringen te bewijzen. Deze beweringen kunnen betrekking hebben op berekeningen op confidentiële data, maar ook op eigenschappen (attributen) van een burger (of zelfs een dier of object).</p>
<p>Formeel worden drie criteria gedefinieerd waar een ZKP aan moet voldoen:</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li><strong>Volledigheid (completeness).</strong> Als de bewering waar is, dan zal een verifier hiervan overtuigd worden.</li>
<li><strong>Degelijkheid (soundness).</strong> Als de bewering onwaar is, dan kan de prover de verifier in de praktijk niet ten onrechte overtuigen van het tegendeel.</li>
<li><strong>Nulkennis (Zero-knowledge). </strong>Als de bewering waar is, dan leert de verifier niets meer dan die bewering.</li>
</ol>
</li>
</ol>
<p>Dit artikel bespreekt twee belangrijke use cases voor ZKPs: het verbeteren van schaalbaarheid en privacy van blockchaintoepassingen, en privacy-vriendelijk identiteitsbeheer van burgers.</p>


<h1 class="wp-block-heading">Blockchain</h1>


<p><a href="/wp-content/uploads/2025/09/chain-7071730_1280.jpg"><img decoding="async" class="alignright size-medium wp-image-23397" src="/wp-content/uploads/2025/09/chain-7071730_1280-300x212.jpg" alt="" width="300" height="212" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-300x212.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-768x542.jpg 768w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-1024x723.jpg 1024w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280.jpg 1280w" sizes="(max-width: 300px) 100vw, 300px" /></a>In de literatuur werden reeds heel wat <a href="https://onlinelibrary.wiley.com/doi/full/10.1002/spy2.401">potentiële use cases</a> gedefinieerd voor ZKPs, hoewel vandaag maar een beperkt aantal zich ook in de praktijk gerealiseerd heeft. Eén van de grote toepassingsdomeinen is <strong>Blockchain en virtuele munten (cryptocurrencies).</strong></p>


<p>ZKPs worden er gebruikt om de privacy van transacties te verbeteren. In Bitcoin en enkele andere virtuele munten zijn voor elke transactie zowel het adres (het rekeningnummer) van de zender, het adres van de ontvanger, en het getransfereerd bedrag voor iedereen zichtbaar; alles wordt op de blockchain gepubliceerd. Dit is verre van ideaal vanuit privacy-perspectief.</p>


<p>De virtuele munt <a href="https://z.cash/learn/what-are-zk-snarks/"><em>Zcash</em></a> geeft gebruikers de mogelijkheid om m.b.v. ZKPs die drie zaken te verbergen. Daarvoor gebruikt het <em>zk-SNARKs</em> (<em>Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge</em>), die in 2012 ontwikkeld werden en voor het eerst toegepast werden in <a href="https://z.cash/learn/what-are-zk-snarks/"><em>Zcash</em></a>. De S in zk-SNARKs staat voor ‘<em>succint</em>’, oftewel ‘<em>beknopt</em>’. ZKPs in Zcash kunnen &#8216;<em>binnen enkele milliseconden worden geverifieerd en zijn slechts een paar honderd bytes lang’</em>.</p>


<p>Naast privacy worden ZKP ook gebruikt om de schaalbaarheid van blockchains te verhogen. De beperkte capaciteit van blockchains stimuleerde de community om intensief op zoek te gaan naar manieren om beter te schalen, zonder aan veiligheid of snelheid in te boeten. Betere schaalbaarheid betekent dat een transactie minder resources vereist en dus dat de transactiekosten verlagen. Een van de meest veelbelovende aanpakken zijn <em>zk-rollups, </em>die op de Ethereum blockchain gebruikt worden door onder meer <a href="https://www.alchemy.com/starknet"><em>Starknet</em></a><em>, </em><a href="https://www.zksync.io/"><em>ZKsync</em></a><em> </em>en <a href="https://polygon.technology/"><em>Polygon</em></a>. In plaats van elke transactie afzonderlijk op de blockchain te plaatsen, worden ze off-chain gebundeld, uitgevoerd, en wordt enkel het resultaat, samen met een ZKP van correcte uitvoering, op de blockchain geplaatst. Er worden daarbij minder bytes naar de blockchain geschreven, en het verifiëren van het ZKP gaat sneller dan het verifiëren van alle individuele transacties. Er is dus zowel minder opslag als rekenkracht vereist.</p>


<p>Daarnaast wordt gewerkt aan ZKP om te bewijzen dat een smart contract (code) correct uitgevoerd werd. Ook hier is de reden schaalbaarheid; telkens wanneer een functie van een smart contract (code op de blockchain) vandaag aangeroepen wordt, voert elke blockchain node exact dezelfde code uit. Het idee is dat één node het smart contract uitvoert en de correcte uitvoering bewijst. De andere nodes verifiëren het bewijs. Indien dit efficiënter kan dan het uitvoeren van een smart contract, verhogen we de schaalbaarheid.</p>
<h1>Identiteitsbeheer</h1>
<p><a href="/wp-content/uploads/2025/12/eid-be.png"><img decoding="async" class="alignright size-medium wp-image-24638" src="/wp-content/uploads/2025/12/eid-be-300x189.png" alt="" width="300" height="189" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be-300x189.png 300w, https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be-768x484.png 768w, https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be.png 900w" sizes="(max-width: 300px) 100vw, 300px" /></a>Met behulp van <a href="/controle-over-uw-digitale-identiteit-met-anonieme-credentials-2/">anonieme credentials</a> – die beroep doen op ZKPs – kan een burger selectief eigenschappen over haarzelf prijsgeven, bijvoorbeeld meerderjarigheid. De realiteit is helaas dat anonieme credentials door geen enkel land of regio op grote schaal geadopteerd werden in identiteitsdocumenten. Recenter onderzoek verlegt daarom de focus: op basis van een bestaand identiteitsdocument wordt een ZKP gegenereerd. Recent academisch werkt focuste op het Amerikaanse <a href="https://eprint.iacr.org/2022/878.pdf">paspoort</a> en <a href="https://eprint.iacr.org/2024/2010.pdf">rijbewijs</a>.</p>


<p>De VUB <a href="https://eprint.iacr.org/2025/1266">publiceerde</a> eerder dit jaar onderzoek dat zich richtte op de Belgische identiteitskaart. Het onderzoek gebeurde in het kader van het door <a href="https://www.innoviris.brussels/">Innoviris</a> gefinancierde <a href="https://sdm.brussels/">SDM</a> project. Het is een veelbelovend werk dat weliswaar nog een aantal uitdagingen voor de boeg heeft. Een eerste is de lage efficiëntie; het duurt op een laptop 22 seconden om een bewijs te genereren, wat verder zal toenemen op een smartphone. Een tweede uitdaging is revokatie; wanneer een eID kaart verloren gaat of gestolen wordt en als gevolg daarvan de certificaten op de kaart gerevokeerd worden, mag men niet langer in staat zijn ZKPs te genereren. &nbsp;</p>



<p>De VUB wil nog een stap verder gaan; ZKPs gebruiken om aan te tonen dat een burger bepaalde rechten heeft, zonder verdere persoonsgegevens prijs te geven. Zo zou een burger in de toekomst kunnen bewijzen aan de voorwaarden van <a href="https://www.vlaanderen.be/bouwen-wonen-en-energie/huren-en-verhuren/geconventioneerde-verhuur-en-huur-budgethuren/budgethuren-geconventioneerd-huren">budgethuren</a> te voldoen, zonder verdere details over het waarom prijs te geven.</p>


<p>Itsme kondigde recent haar <a href="https://www.itsme-id.com/en-BE/business/services/qualification">Itsme Qualify</a> aan, waarbij selectief persoonsgegevens prijsgegeven worden m.b.v. ZKPs. Momenteel wordt enkel leeftijdsverificatie ondersteund, maar Itsme is van plan dit verder uit te breiden. Uw auteur kon helaas geen publiek beschikbare details vinden over de werking en slaagde er niet in meer informatie van Itsme te bekomen. Hopelijk is dit gebrek aan transparantie slechts een tijdelijk gegeven, want ZKPs, net zoals alle andere cryptografie, is het veiligst indien alle details publiek zijn en door experten gevalideerd kunnen worden.</p>
<p><a href="/wp-content/uploads/2025/11/image-2.png"><img loading="lazy" decoding="async" class="alignright size-medium wp-image-24559" src="/wp-content/uploads/2025/11/image-2-253x300.png" alt="" width="253" height="300" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/11/image-2-253x300.png 253w, https://www.smalsresearch.be/wp-content/uploads/2025/11/image-2.png 691w" sizes="auto, (max-width: 253px) 100vw, 253px" /></a>Ten slotte geven we nog mee dat er oplossingen zijn voor identiteitsbeheer die blockchain en ZKPs combineren. <a href="https://www.privado.id/"><em>Privado ID</em></a> is een van de meer zichtbare initiatieven en was tot voor kort gekend onder da naam <em>Polygon ID</em>. Een issuer bevestigt er persoonlijke attributen van een prover &#8211; waaronder bijvoorbeeld de geboortedatum &#8211; door een speciaal gevormde hashwaarde van de set van attributen op een blockchain netwerk zoals Ethereum te plaatsen. De prover kan nu aan de hand daarvan aan een verifier selectief persoonsgegevens &#8211; zoals meerderjarigheid &#8211; over haarzelf bewijzen. Bemerk dat alle ZKPs die dezelfde hashwaarde als basis gebruiken aan elkaar gelinkt kunnen worden. </p>
<h1>Kwantumresistentie</h1>
<p><a href="/wp-content/uploads/2025/12/physics-3864569_640.jpg"><img loading="lazy" decoding="async" class="alignright size-medium wp-image-24635" src="/wp-content/uploads/2025/12/physics-3864569_640-300x200.jpg" alt="" width="300" height="200" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/physics-3864569_640-300x200.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2025/12/physics-3864569_640.jpg 640w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Zoals reeds uitvoerig in eerdere Smals Research <a href="/tag/quantum-computing/">artikels</a> toegelicht, is er het gevaar dat krachtige kwantumcomputers in de toekomst moderne publieke sleutelcryptografie zouden kunnen breken.</p>
<p>Technologieën zoals zk-SNARKs en <a href="https://eprint.iacr.org/2017/1066.pdf">Bulletproofs</a>, die toelaten de correctheid van berekeningen te bewijzen, zijn alvast <u>niet</u> kwantumresistent. Onder meer daarom werden in 2018 <a href="https://eprint.iacr.org/2018/046.pdf"><em>zk-STARKs</em></a> ( <em>Zero-Knowledge Scalable Transparent Arguments of Knowledge</em>) geïntroduceerd. Zoals geïllustreerd in onderstaande figuur, blijft de computationele efficiëntie hoog, maar worden de bewijzen wel vele malen groter. Niettemin worden ze reeds gebruikt voor schaalbaarheid en privacy door onder meer <a href="https://www.starknet.io/">StarkNet</a> and <a href="https://starkware.co/starkex/">StarkEx</a>, wat beiden schalingsoplossingen voor Ethereum zijn.</p>
<table>
<tbody>
<tr>
<td width="99">
<p> </p>
</td>
<td style="text-align: center;" width="89">
<p><strong>Kwantum-resistent</strong></p>
</td>
<td style="text-align: center;" width="88">
<p><strong>Tijd prover</strong></p>
</td>
<td style="text-align: center;" width="88">
<p><strong>Tijd verifier</strong></p>
</td>
<td style="text-align: center;" width="88">
<p><strong>Grootte bewijs</strong></p>
</td>
</tr>
<tr>
<td width="99">
<p><em>Zk-SNARKs</em></p>
</td>
<td style="text-align: center;" width="89">
<p>Nee</p>
</td>
<td style="text-align: center;" width="88">
<p>2,3 s</p>
</td>
<td style="text-align: center;" width="88">
<p>10 ms</p>
</td>
<td style="text-align: center;" width="88">
<p> 288 B</p>
</td>
</tr>
<tr>
<td width="99">
<p><em>Bulletproofs</em></p>
</td>
<td style="text-align: center;" width="89">
<p>Nee</p>
</td>
<td style="text-align: center;" width="88">
<p>30 s</p>
</td>
<td style="text-align: center;" width="88">
<p>1100 ms</p>
</td>
<td style="text-align: center;" width="88">
<p>1,3 KB</p>
</td>
</tr>
<tr>
<td width="99">
<p><em>Zk-STARKs</em></p>
</td>
<td style="text-align: center;" width="89">
<p>Ja</p>
</td>
<td style="text-align: center;" width="88">
<p>1,6 s</p>
</td>
<td style="text-align: center;" width="88">
<p>16 ms</p>
</td>
<td style="text-align: center;" width="88">
<p>&gt; 40 KB</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: center;"><em>Vergelijking van drie ZKP oplossingen voor het bewijzen van berekeningen (<a href="https://technorely.com/insights/the-role-of-bulletproofs-in-ensuring-privacy-for-smart-contracts">bron</a>)</em></p>
<p>Kwantumresistente ZKPs voor berekeningen zijn dus mogelijk, al worden de bewijzen een pak groter. Hun uptake door de blockchain community blijft vooralsnog beperkt; zk-SNARKs zijn nog steeds de dominante ZKP-technologie in blockchain context. Ook het werk van de VUB rond identiteitsbeheer maakt vandaag gebruik van zk-SNARKs.</p>
<h1>Conclusie</h1>
<p>Zero-knowledge proofs bestaan al enkele decennia en er is sindsdien heel wat onderzoek en ontwikkeling gebeurd. We identificeerden in dit artikel de twee voornaamste use cases:</p>
<ul>
<li><strong>Privacy en schaalbaarheid op blockchain netwerken.</strong> ZKP technologie laat toe te bewijzen dat een berekening op confidentiële data correct uitgevoerd is. Dit kan relatief snel gebeuren en helpt om blockchainnetwerken schaalbaarder te maken. Hoewel het in theorie ook buiten blockchain toegepast kan worden, zien we dit (nog?) niet in de praktijk. Werken met centrale partijen en wetgeving is vandaag eenvoudiger toe te passen en makkelijker uit te leggen.</li>
<li><strong>Privacy-vriendelijk identiteitsbeheer.</strong> ZKP technologie laat toe om selectief persoonsgegevens over jezelf prijs te geven. Dit kan op basis van klassieke identiteitsdocumenten, zoals de Belgische eID kaart, ofwel kunnen identiteitsdocumenten uitgegeven worden onder de vorm van anonieme credentials. De ZKPs kunnen computationeel erg zwaar worden, zeker wanneer we gebruik maken van kwantumresistente technologie en wanneer van bestaande, officiële identiteitsdocumenten vertrokken wordt. </li>
</ul>
<p>Het gebruik van technologie voor ZKPs en anonieme credentials om de privacy te verbeteren komt met een aantal <a href="https://brave.com/blog/zkp-age-verification-limits/">uitdagingen</a>. We hadden het reeds over efficiëntie, kwantumresistentie en revocatie. Verder moet rekening gehouden worden met het gebrek aan standaarden, het risico dat contextinformatie, zoals een IP adres, de privacy alsnog teniet doet, en de mogelijke impact op de gebruikservaring voor de burger doordat die met een extra venster moet afrekenen.</p>
<p>Wellicht onder meer daardoor stelde Gartner in 2024 dat ZKP-technologie verouderd (<em>“obsolete”</em>) is, wat onder cryptografen tot enige <a href="https://www.linkedin.com/posts/nigel-smart-3196b85_gartners-latest-privacy-hype-cycle-has-a-activity-7226536073517015041-Apu1/">verontwaardiging</a> leidde. Gartner verwijderde de technologie nadien uit hun <a href="https://en.wikipedia.org/wiki/Gartner_hype_cycle">hype cycles</a>. Ondanks het gebruik van ZKPs in Web3 (blockchain) en een beperkt aantal setups voor digitale identiteit, stagneert volgens Gartner de interesse in de technologie. Dit werd eerder dit jaar bevestigd toen <a href="https://sovrin.org/">Sovrin</a> haar blockchain netwerk voor SSI (self-sovereign identity) uitdoofde. De toekomst zal uitwijzen of Gartner gelijk krijgt. Dit zou tragisch zijn, gezien de kracht en veelzijdigheid van deze technologie, waar onderzoekers reeds meerdere decennia aan werken en die nochthans heel wat potentieel zou moeten hebben in de publieke sector.</p>
<p><strong>Aarzel niet ons te contacteren bij interesse!</strong></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Confidentialité et évolutivité grâce à divulgation nulle de connaissance  </title>
		<link>https://www.smalsresearch.be/privacy-en-schaalbaarheid-met-zero-knowledge-bewijzen-2/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Thu, 08 Jan 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[[FR]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=23410</guid>

					<description><![CDATA[Les preuves zero-knowledge contribuent à améliorer la confidentialité et l'évolutivité dans le contexte de la blockchain. De quoi s'agit-il, quels sont les défis et sont-elles déjà mises en œuvre ?]]></description>
										<content:encoded><![CDATA[
<p><em>Dit artikel is ook beschikbaar&nbsp;in het <a href="/privacy-en-schaalbaarheid-met-zero-knowledge-bewijzen/" data-type="post" data-id="21119">Nederlands</a>.</em></p>



<figure class="wp-block-image alignright"><a href="/wp-content/uploads/2025/12/MartinHandfordWallyFriends.png"><img loading="lazy" decoding="async" width="244" height="300" src="/wp-content/uploads/2025/12/MartinHandfordWallyFriends-244x300.png" alt="" class="wp-image-24630" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/MartinHandfordWallyFriends-244x300.png 244w, https://www.smalsresearch.be/wp-content/uploads/2025/12/MartinHandfordWallyFriends.png 250w" sizes="auto, (max-width: 244px) 100vw, 244px" /></a></figure>



<p><a href="https://fr.wikipedia.org/wiki/O%C3%B9_est_Charlie_%3F">Où est Charlie&nbsp;?</a> est un jeu bien connu qui consiste à trouver un personnage spécifique &#8211; appelé Charlie &#8211; dans un dessin très détaillé où figurent de nombreux autres personnages. Comment Paula (fournisseur de preuve ou prouveur) peut-elle prouver à Victor (vérificateur) qu&#8217;elle sait où se trouve Charlie sans révéler de détails sur sa position dans l&#8217;image&nbsp;? Paula peut se servir d&#8217;un cache dont la hauteur et la largeur sont deux fois plus grandes que celles de l&#8217;image dans laquelle est caché Charlie. Au centre du cache se trouve un trou de la taille de Charlie. En positionnant le cache de manière à ce que le trou laisse entrevoir Charlie uniquement, Paula prouve à Victor qu&#8217;elle a localisé Charlie sans révéler d&#8217;informations sur son emplacement.</p>



<p>Il s&#8217;agit là d&#8217;un exemple de <em>preuve à divulgation nulle de connaissance</em> (en anglais <em>zero-knowledge proof</em>), ou <em>preuve ZK</em>, qui permet à une partie de prouver une affirmation à une autre partie sans divulguer plus de détails sur cette affirmation. À strictement parler, l&#8217;exemple de Charlie n&#8217;est pas tout à fait sans divulgation de connaissance, car des informations sur la posture et l&#8217;expression faciale de Charlie sont également divulguées, ce qui peut aider à le retrouver.</p>



<p>Un autre <a href="https://eprint.iacr.org/2018/046.pdf">exemple</a>, pour lequel une preuve de concept a été élaborée, permettrait de prouver au public que l&#8217;ADN d&#8217;un candidat à la présidence n&#8217;est pas répertorié dans une base de données ADN médico-légale. La police exécuterait un code accessible au public sur des données qui resteraient cachées au public&nbsp;: la base de données ADN et le profil ADN du candidat à la présidence. Le résultat pourrait être &#8220;<em>aucune correspondance</em>&#8220;, &#8220;<em>correspondance partielle</em>&#8221; ou &#8220;<em>correspondance complète</em>&#8220;. Le public – du moins les cryptographes parmi eux – serait alors convaincu que le résultat est l&#8217;exécution correcte du code sur les données confidentielles. L&#8217;affirmation prouvée ici à l&#8217;aide d&#8217;une preuve ZK concerne l&#8217;intégrité des <u>calculs sur des données confidentielles </u>.</p>



<p>Les titres numériques anonymes, abordés dans un <a href="_wp_link_placeholder" data-wplink-edit="true">précédent article,</a> permettent en revanche aux citoyens de prouver de manière sélective certaines <u>caractéristiques</u> les concernant, telles que leur majorité, leur nationalité ou la détention d&#8217;un permis de conduire valide. Les titres numériques anonymes recourent intensivement aux preuves ZK. Comme nous le verrons plus loin dans cet article, les ZKP peuvent également être utilisés pour la divulgation sélective de données à caractère personnel.</p>



<p>En résumé, les preuves ZK permettent à une partie, le prouveur, de prouver des affirmations à une autre partie, le vérificateur, sans intermédiaire de confiance. Ces affirmations peuvent donc porter sur des calculs sur des données confidentielles, mais aussi sur des caractéristiques (attributs) d&#8217;un citoyen (ou même d&#8217;un animal ou d&#8217;un objet).</p>



<p>Formellement, une preuve ZK doit répondre à trois critères&nbsp;:</p>



<ol class="wp-block-list">
<li><strong>Complétude (<em>completeness</em>).</strong> Si l&#8217;affirmation est vraie, un vérificateur en sera convaincu.</li>



<li><strong>Robustesse (<em>soundness</em>).</strong> Si l&#8217;affirmation est fausse, le prouveur ne peut pas, dans la pratique, convaincre à tort le vérificateur du contraire.</li>



<li><strong>Zéro-connaissance (<em>zero-knowledge</em>). </strong>Si l&#8217;affirmation est vraie, le vérificateur n&#8217;apprend rien de plus que cette affirmation.</li>
</ol>



<p>Cet article aborde deux cas d&#8217;utilisation importants pour les ZKP&nbsp;: l&#8217;amélioration de l&#8217;évolutivité et de la confidentialité des applications blockchain d&#8217;une part, et la gestion de l&#8217;identité des citoyens dans le respect de la vie privée d&#8217;autre part.</p>



<h1 class="wp-block-heading">Blockchain</h1>



<figure class="wp-block-image alignright"><a href="/wp-content/uploads/2025/09/chain-7071730_1280.jpg"><img loading="lazy" decoding="async" width="300" height="212" src="/wp-content/uploads/2025/09/chain-7071730_1280-300x212.jpg" alt="" class="wp-image-23397" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-300x212.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-768x542.jpg 768w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280-1024x723.jpg 1024w, https://www.smalsresearch.be/wp-content/uploads/2025/09/chain-7071730_1280.jpg 1280w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></figure>



<p>De nombreux <a href="https://onlinelibrary.wiley.com/doi/full/10.1002/spy2.401">cas d’usage potentiels</a> ont déjà été définis dans la littérature, même si, à ce jour, seul un nombre limité d&#8217;entre eux ont été mis en pratique. L&#8217;un des principaux domaines d&#8217;application est celui de la <strong><em>blockchain</em> et des monnaies virtuelles (cryptomonnaies)</strong>.</p>



<p>Les preuves ZK y sont utilisées pour améliorer la confidentialité des transactions. Dans le Bitcoin et quelques autres monnaies virtuelles, l&#8217;adresse (le numéro de compte) de l&#8217;expéditeur, l&#8217;adresse du destinataire et le montant transféré sont visibles par tous pour chaque transaction&nbsp;; tout est publié sur la blockchain. Une situation loin d&#8217;être idéale sur le plan de la confidentialité&#8230;</p>



<p>La monnaie virtuelle <a href="https://z.cash/learn/what-are-zk-snarks/"><em>Zcash</em></a> permet aux utilisateurs de dissimuler ces trois éléments à l&#8217;aide de preuves ZK. Pour ce faire, elle recourt aux <em>zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)</em>, développés en 2012 et appliqués pour la première fois par <a href="https://z.cash/learn/what-are-zk-snarks/"><em>Zcash</em></a>. Le S dans zk-SNARKs signifie &#8220;<em>succint</em>&#8220;, soit &#8220;<em>concis</em>&#8221; en français. Les preuves ZK dans Zcash peuvent &#8220;<em>être vérifiées en quelques millisecondes et ne font que quelques centaines d&#8217;octets&#8221;</em>.</p>



<p>Outre la confidentialité, les preuves ZK sont également utilisées pour augmenter l&#8217;évolutivité des <em>blockchains</em>. La capacité limitée des <em>blockchains</em> a incité la communauté à rechercher activement des moyens d&#8217;améliorer l&#8217;évolutivité sans compromettre la sécurité ou la vitesse. Une meilleure évolutivité signifie qu&#8217;une transaction nécessite moins de ressources avec, à la clé, une baisse des coûts de transaction. L&#8217;une des approches les plus prometteuses est celle des <em>zk-rollups</em>, utilisés sur la <em>blockchain</em> Ethereum par <a href="https://www.alchemy.com/starknet"><em>Starknet</em></a><em>, </em><a href="https://www.zksync.io/"><em>ZKsync</em></a><em> et</em> <a href="https://polygon.technology/"><em>Polygon</em></a> entre autres. Au lieu de placer chaque transaction séparément sur la <em>blockchain</em>, celles-ci sont regroupées hors chaîne, exécutées et seul le résultat, accompagné d&#8217;une preuve ZK de bonne exécution, est placé sur la <em>blockchain</em>. Cela permet de réduire le nombre d&#8217;octets écrits sur la <em>blockchain</em>, et la vérification de la preuve ZK est plus rapide que la vérification de toutes les transactions individuelles. Un espace de stockage et une puissance de calcul moindres sont donc requis.</p>



<p>Parallèlement, des preuves ZK sont en cours d&#8217;élaboration pour démontrer qu&#8217;un <em>smart contrat</em> (code) a été correctement exécuté. Là encore, la raison est l&#8217;évolutivité&nbsp;: chaque fois qu&#8217;une fonction d&#8217;un <em>smart contract</em> (code sur la <em>blockchain</em>) est appelée aujourd&#8217;hui, chaque nœud de la <em>blockchain</em> exécute exactement le même code. L&#8217;idée est qu&#8217;un seul nœud exécute le <em>smart contract</em> et prouve sa bonne exécution. Les autres nœuds vérifient la preuve. Si une preuve ZK est plus efficace que l&#8217;exécution du <em>smart contract</em>, on augmente l&#8217;évolutivité.</p>



<h1 class="wp-block-heading"><strong>Gestion de l&#8217;identité</strong></h1>



<figure class="wp-block-image alignright"><a href="/wp-content/uploads/2025/12/eid-be.png"><img loading="lazy" decoding="async" width="300" height="189" src="/wp-content/uploads/2025/12/eid-be-300x189.png" alt="" class="wp-image-24638" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be-300x189.png 300w, https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be-768x484.png 768w, https://www.smalsresearch.be/wp-content/uploads/2025/12/eid-be.png 900w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></figure>



<p></p>



<p>Les <a href="/controle-over-uw-digitale-identiteit-met-anonieme-credentials/">titres numériques anonymes</a> &#8211; qui font appel aux preuves à divulgation nulle de connaissance (zero knowledge proof – ZKP) – permettent à un citoyen de divulguer de manière sélective des informations le concernant, par exemple sa majorité. Dans la réalité, malheureusement, aucun pays ou région n&#8217;a massivement adopté les titres numériques anonymes dans les documents d&#8217;identité. Aussi des recherches plus récentes se sont-elles penchées sur d&#8217;autres pistes, à savoir la génération d&#8217;une ZKP sur la base d&#8217;un document d&#8217;identité existant. Des travaux académiques récents se sont concentrés sur le <a href="https://eprint.iacr.org/2022/878.pdf">passeport</a>&nbsp;et le <a href="https://eprint.iacr.org/2024/2010.pdf">permis de conduire</a> aux États-unis.</p>



<p>Durant l’été 2025, la VUB&nbsp;a <a href="https://eprint.iacr.org/2025/1266">publié</a>&nbsp;une étude consacrée à la carte d&#8217;identité belge.<br>Cette étude s&#8217;inscrit dans le cadre du projet&nbsp;<a href="https://sdm.brussels/">SDM</a> financé par&nbsp;<a href="https://www.innoviris.brussels/">Innoviris</a>. S&#8217;il s&#8217;agit d&#8217;un travail prometteur, il comporte toutefois divers défis. Un premier défi concerne la faible efficacité&nbsp;: il faut 22 secondes à un ordinateur portable pour générer une preuve, délai qui sera encore plus long sur un téléphone. La révocation représente un deuxième défi&nbsp;: lorsqu&#8217;une carte eID est perdue ou volée et que les certificats sur la carte sont révoqués en conséquence, il ne doit plus être possible de générer des ZKP. &nbsp;</p>



<p>La VUB souhaite aller encore plus loin, à savoir utiliser les ZKP pour démontrer qu&#8217;un citoyen dispose de certains droits, sans divulguer d&#8217;autres données à caractère personnel. À l&#8217;avenir, un citoyen pourrait ainsi prouver qu&#8217;il remplit les conditions pour bénéficier d&#8217;un&nbsp;<a href="https://www.vlaanderen.be/bouwen-wonen-en-energie/huren-en-verhuren/geconventioneerde-verhuur-en-huur-budgethuren/budgethuren-geconventioneerd-huren">loyer modéré</a>, sans avoir à donner de plus amples informations à ce sujet.</p>



<p>Itsme a récemment annoncé son <a href="https://www.itsme-id.com/en-BE/business/services/qualification">Itsme Qualify</a>, qui autorise une divulgation sélective de données à caractère personnel au moyen de ZKP. Actuellement, seule la vérification de l&#8217;âge est prise en charge, mais itsme prévoit d&#8217;étendre cette fonctionnalité. Malheureusement, votre auteur n&#8217;a pas pu trouver de détails accessibles au public sur cette fonctionnalité et n&#8217;est pas parvenu à obtenir plus d&#8217;informations auprès d&#8217;itsme. Il est à espérer que ce manque de transparence ne soit que temporaire, car les ZKP, comme toute autre cryptographie, sont plus sûrs lorsque tous les détails sont publics et peuvent être validés par des experts.</p>



<p>Enfin, sachez qu&#8217;il existe des solutions de gestion d&#8217;identité qui combinent la «&nbsp;blockchain&nbsp;» et les ZKP.&nbsp;<a href="https://www.privado.id/"><em>Privado ID</em></a>&nbsp;est l&#8217;une des initiatives les plus visibles qui était jusqu&#8217;à récemment connue sous le nom de <em>Polygon ID</em>. Un émetteur y confirme les attributs personnels d&#8217;un citoyen – par exemple la date de naissance – en plaçant une valeur de hachage spécialement formée à partir de l&#8217;ensemble des attributs sur un réseau blockchain comme Ethereum. Le citoyen peut alors s&#8217;en servir pour prouver de manière sélective à un tiers des informations à caractère personnel le concernant, telles que sa majorité. Notez que tous les ZKP qui utilisent la même valeur de hachage comme base peuvent être liés entre eux.&nbsp;</p>



<h1 class="wp-block-heading">Résistance quantique</h1>



<figure class="wp-block-image alignright"><a href="/wp-content/uploads/2025/12/physics-3864569_640.jpg"><img loading="lazy" decoding="async" width="300" height="200" src="/wp-content/uploads/2025/12/physics-3864569_640-300x200.jpg" alt="" class="wp-image-24635" srcset="https://www.smalsresearch.be/wp-content/uploads/2025/12/physics-3864569_640-300x200.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2025/12/physics-3864569_640.jpg 640w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></figure>



<p>Comme déjà expliqué en détail dans des <a href="/tag/quantum-computing/">articles</a> précédents de Smals Research, il existe un risque que de puissants ordinateurs quantiques puissent à l&#8217;avenir briser la cryptographie moderne à clé publique.</p>



<p>Les technologies telles que zk-SNARK et <a href="https://eprint.iacr.org/2017/1066.pdf">Bulletproofs</a>, qui permettent de prouver l&#8217;exactitude des calculs, ne sont <u>pas</u> résistantes aux ordinateurs quantiques. C&#8217;est notamment pour cette raison que les <a href="https://eprint.iacr.org/2018/046.pdf"><em>zk-STARKs</em></a> (Z<em>ero-Knowledge Scalable Transparent Arguments of Knowledge</em>) ont vu le jour en 2018. Comme l&#8217;illustre la figure ci-dessous, l&#8217;efficacité computationnelle reste élevée, mais les preuves sont beaucoup plus volumineuses. Néanmoins, elles sont déjà utilisées à des fins d&#8217;évolutivité et de confidentialité entre autres par <a href="https://www.starknet.io/">StarkNet</a> et <a href="https://starkware.co/starkex/">StarkEx</a>, qui sont tous deux des solutions d&#8217;évolutivité pour Ethereum.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>&nbsp;</td><td class="has-text-align-center" data-align="center">
<p><strong>Résistant à l&#8217;informatique quantique</strong></p>
</td><td class="has-text-align-center" data-align="center">
<p><strong>Temps prouveur</strong></p>
</td><td class="has-text-align-center" data-align="center">
<p><strong>Temps vérificateur</strong></p>
</td><td class="has-text-align-center" data-align="center">
<p><strong>Taille preuve</strong></p>
</td></tr><tr><td>
<p><em>Zk-SNARKs</em></p>
</td><td class="has-text-align-center" data-align="center">
<p>Non</p>
</td><td class="has-text-align-center" data-align="center">
<p>2,3 S</p>
</td><td class="has-text-align-center" data-align="center">
<p>10 ms</p>
</td><td class="has-text-align-center" data-align="center">
<p>&nbsp;288 B</p>
</td></tr><tr><td>
<p><em>Bulletproofs</em></p>
</td><td class="has-text-align-center" data-align="center">
<p>Non</p>
</td><td class="has-text-align-center" data-align="center">
<p>30 S</p>
</td><td class="has-text-align-center" data-align="center">
<p>1100 ms</p>
</td><td class="has-text-align-center" data-align="center">
<p>1,3 KB</p>
</td></tr><tr><td>
<p><em>Zk-STARKs</em></p>
</td><td class="has-text-align-center" data-align="center">
<p>Oui</p>
</td><td class="has-text-align-center" data-align="center">
<p>1,6 S</p>
</td><td class="has-text-align-center" data-align="center">
<p>16 ms</p>
</td><td class="has-text-align-center" data-align="center">
<p>&gt; 40 KB</p>
</td></tr></tbody></table></figure>



<p class="has-text-align-center"><em>Comparaison de trois solutions ZK pour prouver des calculs (<a href="https://technorely.com/insights/the-role-of-bulletproofs-in-ensuring-privacy-for-smart-contracts">source</a>)</em></p>



<p>Des preuves ZK résistantes à l&#8217;informatique quantique pour les calculs sont donc possibles, même si les preuves deviennent beaucoup plus volumineuses. Leur adoption par la communauté <em>blockchain</em> reste pour l&#8217;instant limitée&nbsp;; les zk-SNARKs demeurent la technologie ZK dominante dans le contexte de la <em>blockchain</em>. Le travail de la VUB sur la gestion d&#8217;identité utilise également aujourd&#8217;hui les zk-SNARKs.</p>



<h1 class="wp-block-heading">Conclusion</h1>



<p>Les preuves à divulgation nulle de connaissance existent depuis plusieurs décennies et ont déjà fait l&#8217;objet de nombreux développements et recherches. Dans cet article, nous avons identifié les deux principaux cas d&#8217;utilisation&nbsp;:</p>



<ul class="wp-block-list">
<li><strong>Confidentialité et évolutivité sur les réseaux blockchain.</strong> La technologie ZKP permet de prouver qu&#8217;un calcul sur des données confidentielles a été effectué correctement. Ceci peut se faire relativement rapidement et contribue à accroître l&#8217;évolutivité des réseaux blockchain. Bien qu&#8217;elle puisse en théorie être appliquée en dehors de la blockchain, on n&#8217;y assiste pas (encore&nbsp;?) dans la pratique. Travailler avec des parties centrales et la législation est aujourd&#8217;hui plus facile à mettre en œuvre et à expliquer.</li>



<li><strong>Gestion d&#8217;identité dans le respect de la vie privée.</strong> La technologie ZKP permet de divulguer de manière sélective des données à caractère personnel vous concernant. Cela peut se faire sur la base de documents d&#8217;identité classiques, tels que la carte d&#8217;identité électronique belge. De même, des documents d&#8217;identité peuvent être délivrés sous la forme de titres numériques anonymes. Les ZKP peuvent être très lourds sur le plan computationnel, surtout lorsque l&#8217;on utilise une technologie résistante à l&#8217;informatique quantique et que l&#8217;on part de documents d&#8217;identité officiels existants. </li>
</ul>



<p>L&#8217;utilisation de la technologie pour les ZKP et les titres numériques anonymes pour améliorer la confidentialité pose un certain nombre de <a href="https://brave.com/blog/zkp-age-verification-limits/">défis</a>. Nous avons déjà évoqué la performance, la résistance à l&#8217;informatique quantique et la révocation. Il faut également tenir compte de l&#8217;absence de normes, du risque que des informations contextuelles, telles qu&#8217;une adresse IP, compromettent la confidentialité, ainsi que de l&#8217;impact potentiel sur l&#8217;expérience utilisateur pour le citoyen, qui doit passer par une fenêtre supplémentaire.</p>



<p>C&#8217;est peut-être en partie pour cette raison que Gartner a déclaré en 2024 que la technologie ZKP était obsolète<span style="font-size: revert; color: initial;">, ce qui a suscité une certaine </span><a style="font-size: revert;" href="https://www.linkedin.com/posts/nigel-smart-3196b85_gartners-latest-privacy-hype-cycle-has-a-activity-7226536073517015041-Apu1/">indignation</a><span style="font-size: revert; color: initial;"> parmi les cryptographes. Malgré l&#8217;utilisation des preuves ZK dans Web3 (blockchain) et un nombre limité de configurations pour l&#8217;identité numérique, l&#8217;intérêt pour cette technologie stagne selon Gartner. Cela a été confirmé plus tôt cette année lorsque </span><a style="font-size: revert;" href="https://sovrin.org/">Sovrin</a><span style="font-size: revert; color: initial;"> a supprimé son réseau d’identité auto-souveraine (SSI &#8211; </span><em style="font-size: revert; color: initial;">self-sovereign identity</em><span style="font-size: revert; color: initial;">). L&#8217;avenir nous dira si Gartner a raison. Ce serait tragique, compte tenu de la puissance et de la polyvalence de cette technologie, sur laquelle les chercheurs travaillent depuis plusieurs décennies et qui devrait pourtant avoir un potentiel considérable dans le secteur public.</span></p>



<p><strong>N&#8217;hésitez pas à nous contacter si vous êtes intéressé&nbsp;!</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Blockchain &#038; gedistribueerd vertrouwen, deel 3/3: Het blockchain trilemma</title>
		<link>https://www.smalsresearch.be/blockchain-gedistribueerd-vertrouwen-deel-3-het-blockchain-trilemma/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Tue, 18 Sep 2018 05:00:39 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[distributed trust]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[smart contract]]></category>
		<guid isPermaLink="false">/?p=12002</guid>

					<description><![CDATA[Deel 1 in onze reeks ging in op wat we bedoelen met gedistribueerd vertrouwen en wat blockchain wel en niet kan. Deel 2 ging over het moeilijke evenwicht tussen transparantie en confidentialiteit. In dit derde en laatste deel bekijken we het spanningsveld tussen drie concepten: veiligheid, schaalbaarheid en distributie van vertrouwen. Als we een van [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/blockchain-en-gedistribeerd-vertrouwen-hoe-zit-dat-nu-precies-deel-1-3/" target="blank">Deel 1</a> in onze reeks ging in op wat we bedoelen met gedistribueerd vertrouwen en wat blockchain wel en niet kan. <a href="/blockchain-en-gedistribueerd-vertrouwen-hoe-zit-dat-nu-precies-deel-2-3/" target="_blank">Deel 2</a> ging over het moeilijke evenwicht tussen transparantie en confidentialiteit. In dit derde en laatste deel bekijken we het spanningsveld tussen drie concepten: veiligheid, schaalbaarheid en distributie van vertrouwen. Als we een van deze drie aspecten verbeteren, gaat dit ten koste van minstens een van de andere aspecten. Vitalik Buterin, de man achter Ethereum, spreekt van een <em>trilemma</em>. Samengevat is het niet mogelijk dat iedereen alles valideert, indien er veel participanten en hoge transactievolumes zijn. Dit artikel gaat in op dit trilemma en onderbouwt het met diverse voorbeelden.</p>
<p><figure id="attachment_12003" aria-describedby="caption-attachment-12003" style="width: 450px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2018/09/trilemma.png"><img decoding="async" class="size-full wp-image-12003" src="/wp-content/uploads/2018/09/trilemma.png" alt="" width="450" /></a><figcaption id="caption-attachment-12003" class="wp-caption-text">Het blockchain trilemma</figcaption></figure></p>
<p>Wat bedoel ik met de drie termen?</p>
<ul>
<li><strong>Distributie van vertrouwen.</strong> Het aantal participanten betrokken in het consensusmechanisme en de graad waarin die macht evenredig verdeeld is over deze participanten. Of anders geformuleerd: het aantal partijen dat de blockchain veilig houdt en verifieert of de regels gerespecteerd worden. En heeft elk van die participanten daarbij een even zware stem?</li>
<li><strong>Schaalbaarheid.</strong> Het aantal transacties dat per seconde door het netwerk verwerkt kan worden.</li>
<li><strong>Veiligheid.</strong> Veiligheid bestaat uit diverse componenten. Traditioneel spreekt met over CIA, wat staat voor confidentiality, integrity en availability. Blockchain technologie scoort slecht op het vlak van confidentialiteit (zie <a href="/blockchain-en-gedistribueerd-vertrouwen-hoe-zit-dat-nu-precies-deel-2-3/" target="_blank" rel="noopener">vorige blogpost</a>), goed op het vlak van integriteit, en, afhankelijk van de invalshoek, goed of slecht op het vlak van beschikbaarheid; er is enerzijds geen single point of failure (SPOF), maar anderzijds zal in een blockchain benadering “pur sang” de participant zijn geheime sleutel moeten beschermen om toegang tot zijn op de blockchain geregistreerde activa te behouden.</li>
</ul>
<p>Er zijn dus drie wederzijdse spanningen: 1) distributie van vertrouwen Vs. schaalbaarheid, 2) schaalbaarheid Vs. veiligheid en 3) veiligheid Vs. distributie van vertrouwen. We illustreren in wat volgt elk van deze spanningsvelden alvorens naar de afronding te gaan.</p>
<h1>Distributie van vertrouwen Vs. Schaalbaarheid</h1>
<p>Permissionless blockchains hebben een beperkte capaciteit. Bitcoin kan naar schatting 3,3 tot 7 transacties per seconde verwerken. Voor Ethereum ligt dit rond de 15. Permissioned (afgeschermde) blockchain technologieën zoals Multichain en BigChainDB 2.0 claimen een duizendtal transacties per seconde, wat al aanzienlijk hoger ligt. In dergelijke afgeschermde netwerken is er dan ook een veel kleinere en permanentere set validatoren. Als we naar gecentraliseerde oplossingen gaan dan ligt de verwerkingscapaciteit nog eens vele malen hoger. VISA kan bijvoorbeeld 65 000 transacties per seconde aan. </p>
<p>Om de capaciteit te verhogen is bovenop Bitcoin een extra laag, het Lightning Network, gebouwd. Het claimt miljarden bliksemsnelle transacties per dag, door een groot deel off-chain te behandelen. Toch wordt er <a href="https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800" target="_blank" rel="noopener">gevreesd</a> dat dit opnieuw tot centralisatie zal leiden: &#8220;<em>What it doesn’t tell you is that this can only be accomplished by using large, centralized &#8216;banking&#8217; hubs.</em>&#8221; Bovendien moet je eerst virtueel geld vastzetten vooralleer je het Lightning Network kunt gebruiken en lijkt het systeem vooral nuttig in situaties waarbij een vaste groep van entiteiten geregeld met elkaar financiële transacties doet.</p>
<p>De Ethereum community werkt volop aan <a href="https://medium.com/@argongroup/ethereum-plasma-explained-608720d3c60e">Plasma</a>, waarbij het mogelijk wordt om nieuwe blockchain netwerken aan te maken die verankerd worden in de Ethereum blockchain. Virtueel geld (ether) zal transfereerbaar worden tussen de Ethereum blockchain en het kind-blockchain. Die laatste kan zijn eigen smart contracts bevatten. Enkel de validatoren van het kind-blockchain verifiëren alle transacties gerelateerd aan dit smart contract. Het totale netwerk, dus de Ethereum blockchain en alle kind-blockchainnetwerken samen, heeft zo een grotere capaciteit, maar niet iedereen verifieert nog alles.</p>
<p>Onder meer door <a href="https://www.finextra.com/pressarticle/73493/zilliqa-tackles-scalability-with-sharding-blockchain" target="_blank" rel="noopener">Zilliqa</a> en <a href="https://github.com/ethereum/wiki/wiki/Sharding-roadmap" target="_blank" rel="noopener">Ethereum</a> wordt gewerkt aan <em>sharding</em> van blockchains, waarbij validerende participanten niet langer de volledige maar slechts een deel van de blockchain hoeven te valideren en bewaren, wat de schaalbaarheid ten goede komt. Ook dit <a href="https://hackernoon.com/sharding-centralizes-ethereum-by-selling-you-scaling-in-disguised-as-scaling-out-266c136fc55d" target="_blank" rel="noopener">vermindert</a> de distributie van vertrouwen. Net zoals bij Plasma wordt een smart contract niet langer gevalideerd door alle validatoren, maar door een subset.</p>
<p>Sommige publieke blockchain netwerken hebben een lagere graad van distributie van vertrouwen, waardoor ze wel efficiënter zijn. Een voorbeeld is <a href="https://ripple.com/insights/xrp-ledger-decentralizes-expansion-55-validator-nodes/" target="_blank" rel="noopener">Ripple</a>, waar de validatie gebeurt door een beperkt – weliswaar groeiend – aantal bedrijven. Het recentere <a href="https://eos.io/">EOS</a> gebruikt DPoS (Delegated Proof of Stake), waarbij een beperkt aantal validatoren verkozen wordt. </p>
<p>Wanneer het aantal transacties per seconde verhoogd wordt, betekent dit meer werk voor de validatoren, meer bandbreedte die vereist zal zijn en meer opslagcapaciteit. Wanneer het aantal transacties per seconde te snel verhoogd wordt, zullen de infrastructuurkosten om een validerende node te draaien stijgen, waardoor een deel zal afhaken en je dus een centralisatiebeweging krijgt. Een beperkt aantal validatoren zal snelle onderlinge connecties opzetten, waardoor het voor anderen nog moeilijker wordt te participeren. Deze vrees werd reeds <a href="https://hackernoon.com/the-ethereum-blockchain-size-has-exceeded-1tb-and-yes-its-an-issue-2b650b5f4f62" target="_blank" rel="noopener">uitgedrukt</a> voor Ethereum. Ook in de Bitcoin community was er een heftige discussie omtrent het al dan niet vergroten van de maximum blok grootte. Grotere blokken betekenen meer transacties per seconde, maar ook meer werk &#8211; en dus kosten &#8211; voor de validatoren.</p>
<h1>Schaalbaarheid Vs. Veiligheid</h1>
<p>Dit is een wat bijzondere categorie vanuit blockchain standpunt, gezien datgene waar blockchain goed in is, distributie van vertrouwen, hier niet aan bod komt. Toch hebben we ook hier een mooi blockchain-voorbeeld.</p>
<p>BigChainDB 1.0 noemde zichzelf een blockchain database; een database met blockchain eigenschappen. Het <a href="https://bravenewcoin.com/assets/Whitepapers/bigchaindb-whitepaperDRAFT.pdf" target="_blank" rel="noopener">claimde</a> tot 1 miljoen schrijfoperaties per seconde. Toch <a href="https://www.reddit.com/r/Bitcoin/comments/4j7wjf/bigchaindb_a_prime_example_of_blockchain_bullshit/" target="_blank" rel="noopener">bleek</a> dat het een aantal ernstige security zwakheden kende. Zo kon een hacker alles verwijderen door slechts één participant te hacken. BigChainDB 2.0 is midden 2018 <a target="_blank">uitgebracht</a>, waarbij deze security kwetsbaarheden verholpen zijn. De verwerkingssnelheid die ze claimen zakte daarmee tot &#8220;<em>duizenden transacties per seconde</em>&#8220;.</p>
<p>Een concept om Bitcoin te ontlasten zijn <em>sidechains</em>, blockchain netwerken die naast de hoofd-blockchain bestaan. Bitcoins kunnen getransfereerd worden tussen de hoofdblockchain en de sidechain. Goed voor de schaalbaarheid, gezien de hoofd-blockchain niet meer alles moet doen. Maar ook daarrond werden <a href="https://medium.com/@xenog/sidechains-are-not-secure-98d87dec4e3f" target="_blank" rel="noopener">bedenkingen</a> over de veiligheid geformuleerd.</p>
<h1>Veiligheid Vs. Distributie van vertrouwen</h1>
<p>Om hun virtueel geld te beschermen, maken velen gebruik van een vertrouwd, centraal platform. Verschillende van die centrale platformen zijn reeds gehackt, met soms zware financiële verliezen tot gevolg. Maar toch kunnen deze platformen veiliger zijn dan het zelf bewaren van de geheime sleutel op je computer zonder meer. Dit zal sterker het geval zijn eens centrale platformen gereguleerd zullen zijn, wat in Europa slechts een kwestie van tijd is.</p>
<p>Uit de Bitcoin blockchain kan informatie afgeleid worden, die soms aan personen of organisaties gelinkt kan worden. Dit is negatief voor de confidentialiteit (van persoonsgegevens). Zoals in de <a href="/blockchain-en-gedistribueerd-vertrouwen-hoe-zit-dat-nu-precies-deel-2-3/" target="_blank" rel="noopener">vorige blogpost</a> besproken, lost zCash dit op. Maar het valideren van een zCash transactie vereist meer rekenkracht, en het opslaan ervan in de blockchain meer schijfruimte (en dus bandbreedte). Dit zijn aspecten die negatief zijn voor de distributie van het vertrouwen (en voor de schaalbaarheid). Je hebt immers een zwaardere machine nodig om eenzelfde aantal transacties per seconde te kunnen verwerken, en wellicht zullen bij een stijgend aantal transacties minder participanten over een voldoende zware machine beschikken.</p>
<p>Permissioned blokchain netwerken worden afgeschermd door een toegangscontrolelaag. In Hyperledger Fabric is dit bijvoorbeeld een top-down hiërarchische PKI (public key infrastructure). Het gevaar dat je je sleutel verliest kan zo opgevangen worden, wat dus de security ten goede komt, maar we moeten wel een gecentraliseerde dienst vertrouwen, wat het gedistribueerde karakter vermindert.</p>
<p>In Hyperledger Fabric kun je enkel een beperkte, geselecteerde set van participanten laten instaan voor de correcte uitvoering van een smart contract. De rest van het netwerk heeft geen toegang tot de betrokken gegevens. Dit komt de confidentialiteit (veiligheid) ten goede, maar reduceert de graad van distributie van vertrouwen.</p>
<p>Meerdere participanten in een afgeschermd blockchain netwerk hebben toegang tot dezelfde data. Afhankelijk van de gegevens en hoe blockchain gebruikt wordt, is het dus mogelijk dat uit die blockchain gevoelige gegevens afgeleid kunnen worden. Elk van de participanten moet in dat geval dus voldoende beveiligd zijn. Als de kans op een ernstig lek in een gecentraliseerde aanpak x% per jaar is, dan stijgt dit bij een gedistribueerde aanpak met y participanten tot x*y% per jaar, en dit in de optimistische veronderstelling dat alle participanten even goed beveiligd zijn als bij een gecentraliseerde aanpak. Distributie van vertrouwen komt hier dus met een verhoogd veiligheidsrisico.</p>
<p>Het opzetten, onderhouden en veilig houden van een afgeschermde blockchain infrastructuur is niet eenvoudig. Om dit te vergemakkelijken bieden een aantal cloud providers vandaag <em>Blockchain-as-Service</em> (BaaS) aan. Daar kan je snel en goedkoop een blockchain netwerk opzetten. Enige probleem: je wordt afhankelijk van de BaaS provider. Het is niet nodig dat participanten elkaar vertrouwen, maar ze moeten wel allemaal de BaaS provider vertrouwen. In ruil daarvoor krijgen we o.a. snel &#038; goedkoop een goed beveiligd en afgeschermd blockchain netwerk.</p>
<h1>Afronding</h1>
<p>Soms hoor ik blockchain believers het volgende verkondigen: “<em>Alle problemen waar blockchain vandaag mee te kampen heeft, zoals schaalbaarheid, veiligheid en privacy, zullen binnen afzienbare tijd door erg slimme mensen opgelost worden.</em>” Dit heb ik steeds een enorm zware aanname gevonden.</p>
<p>In dit artikel bekeken we het spanningsveld tussen schaalbaarheid, veiligheid en distributie van vertrouwen. De talrijke voorbeelden in het artikel bevestigen dat het erg moeilijk is om tot een oplossing te komen die op de drie punten erg sterk scoort. Dit hoeft geenszins te betekenen dat blockchain technologie naar de prullenmand verwezen moet worden, maar enkel dat gewoon niet alles tegelijkertijd mogelijk is. Het zet misschien een domper op het idee dat er voor platformen met enorm hoge volumes zoals zoals eBay en Facebook, sterk gedistribueerde en tegelijkertijd zeer veilige alternatieven mogelijk zijn. Maar laat ons eerlijk zijn, veelal is dit ook niet nodig. Het zal er dus op aankomen om de juiste keuzes te maken.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Waarom McDonalds niet synchroon werkt</title>
		<link>https://www.smalsresearch.be/waarom-mcdonalds-niet-synchroon-werkt/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Mon, 21 Nov 2011 08:57:12 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[asynchronous design]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">/?p=3479</guid>

					<description><![CDATA[De laatste tijd moet ik vaak de discussie voeren waarom traditioneel silo-based synchrone ontwerpen niet geschikt zijn voor schaalbare systemen.  Een systeem wordt schaalbaar genoemd als elke verdubbeling van de infrastructuur voor een gelijkaardige toename van het aantal parallelle requests zorgt, zonder verlies van performantie. Dit klinkt niet zo uitdagend? Dit kunnen we op de [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>De laatste tijd moet ik vaak de discussie voeren <strong>waarom traditioneel silo-based synchrone ontwerpen niet geschikt zijn voor schaalbare systemen</strong>.  Een systeem wordt schaalbaar genoemd als elke verdubbeling van de infrastructuur voor een gelijkaardige toename van het aantal parallelle requests zorgt, zonder verlies van performantie. Dit klinkt niet zo uitdagend? Dit kunnen we op de standaard manier bekomen?</p>
<p>Tijd dan voor een denkoefening: we gaan de klassieke manier van ontwerpen toepassen op de werking van een McDonalds restaurant&#8230;</p>
<h2><span id="more-3479"></span>Synchrone verwerking</h2>
<p>Bij McDonalds is <strong>de verwerking van de bestellingen ontkoppeld van het vervaardigen van de hamburgers.  </strong>Beeld u in dat een verkoper verantwoordelijk zou zijn voor de hele (verticale) keten.   Hij zou de bestelling opnemen, de hamburger klaarmaken,de afrekening geven en slechts dan de volgende klant bedienen.  Als deze handeling 5 minuten duurt, kun je met één verkoper 12 klanten kunnen bedienen per uur.</p>
<p>Hij zou niet weten dat de volgende bestelling identiek zou zijn.. Hij zou voortdurend van context moeten veranderen (handen wassen), geld in ontvangst nemen.   Ook zou er erg moeilijk samengewerkt kunnen worden tussen de verschillende verkopers. Niet echt efficiënt dus.</p>
<p>&nbsp;</p>
<h2>Geen concurrency control (volledige parallellisatie)</h2>
<p>Wat als je 24 klanten per uur wil bedienen? Per veelvoud van 12 moet er een extra verkoper aangeworven worden.  En wat als op een bepaald moment  deze 12 klanten tegelijk zouden aankomen?  De 12de zou een uur moeten wachten&#8230;</p>
<p>Maar wacht &#8212; deze verkoper kan misschien wel verschillende bestellingen tegelijk aannemen? (cf. multithreading) In het extreme geval wordt elke nieuwe bestelling meteen door een verkoper behandeld.  Hij is dan tegelijk bezig met het afhandelen van een betaling, het maken van een paar hamburgers, het opnemen van enkele bestellingen.  Iedereen ziet wel in dat de <strong>efficiëntie van deze verkoper drastisch zal dalen door deze &#8220;parallellisatie&#8221; &#8211;</strong>&#8211; hij beschikt immers slechts over beperkte resources (kan bv. maar N woorden per minuut schrijven &#8211; I/O)</p>
<p>Het is duidelijk dat er een <strong>optimale trade-off moet gevonden worden tussen de hoeveelheid parallellisatie</strong> (# tegelijk behandelde requests door een machine) <strong>en de grootte van de wachtrijen</strong>.  Stel dan nog dat je &#8220;oneindig&#8221; veel verkopers kunt aannemen&#8230; Op een bepaald moment is er een plaatsgebrek, niet?  Het evenwicht bevindt zich typisch niet aan een van de extremen en <strong>hangt af van de bezoekpatronen van de McDanolds</strong> &#8212;  misschien komen er nooit 12 mensen tegelijk aan?</p>
<p>&nbsp;</p>
<h2>Centraal register met recepten (centrale database)</h2>
<p>Omwille de kwaliteit te garanderen, stelt de chef-kok een centraal register op waarin beschreven staat hoe elke hamburger bereid moet worden.  Omdat de chef zeker wil zijn dat de juiste recepten gevolgd worden, is het een verplichting  om het register steeds te raadplegen voor het klaarmaken van een hamburger.  5 verkopers kunnen wel samen lezen, maar als de chef een wijziging aanbrengt, is het register niet meer zichtbaar.</p>
<p>Wat als er 50 verkopers een recept willen lezen? Of wat als er heel vaak wijzigingen gebeuren?  Hoeveel verkopers er ook aangeworven worden, de bottleneck bevindt zich op het centraal register.  En wat als iemand het register per ongeluk onleesbaar maakt?</p>
<p>&nbsp;</p>
<h2>Caching aan het eind van de keten</h2>
<p>Een ingrediënt voor een bepaald type hamburger is niet meer in stock.  Het is dus onmogelijk om deze hamburger te bereiden.   Omdat de verkoper echter geen korte-termijn geheugen heeft (geen cache), moet hij telkens het recept gaan opzoeken in het centraal register.  Hier haalt hij de ingrediënten op en vraagt of ze nog beschikbaar zijn.  Niet dus &#8212; de verkoper loopt terug naar de klant en brengt het spijtige nieuws. Hij loopt onnodig heen, en weer.</p>
<p>&nbsp;</p>
<h2>Bottom line</h2>
<p>Het is belangrijk om bepaalde ontwerp-reflexen in vraag te stellen. Vaak zijn het dogma&#8217;s die niet universeel geldig zijn en een serieuze performantie, beschikbaarheid en schaalbaarheidsimpact hebben.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
