Taula de continguts[Amaga][Espectacle]
Tant a la vida real com al món digital, sovint volem demostrar coses als altres. Abans d'entrar a un edifici d'oficines, els empleats solen proporcionar algun tipus de document d'identitat abans d'entrar.
Quan els usuaris intenten iniciar sessió en una aplicació com Facebook o Twitter, aquests serveis primer han de demanar a l'usuari que iniciï sessió amb una contrasenya i, de tant en tant, s'envia una contrasenya única (OTP) al seu dispositiu mòbil.
Un desavantatge de proporcionar proves és que sovint donem altres tipus d'informació. Proporcionar una contrasenya a un lloc web encara significa que el mateix lloc web conserva una còpia de la contrasenya hash als seus servidors. Si algú pirateja l'escàner d'identificació dels empleats de l'edifici d'oficines, és possible que pugui obtenir les claus privades de tothom.
Les proves de coneixement zero o ZKP proporcionen una manera de validar una identitat o transacció sense haver de proporcionar informació addicional. A causa de les seves aplicacions en criptografia, els ZKP han estat adaptats per cadenes de blocs per crear protocols de validació segurs i escalables.
Què són les proves de coneixement zero?
Les proves de coneixement zero van ser proposades per primera vegada pels investigadors del MIT Silvio Micali, Charles Rackoff i Shafi Goldwasser el 1985 en el seu article "La complexitat del coneixement dels sistemes de prova interactius"
Aquest article introdueix el concepte de complexitat del coneixement. Es refereix a la quantitat de coneixement sobre una prova transferida del verificador al verificador. Les proves de coneixement zero tenen com a objectiu permetre a una part demostrar que una declaració específica és certa a una altra part sense haver de revelar cap altra informació.
Els ZKP es poden utilitzar com una alternativa segura als sistemes d'autenticació actuals i també es poden afegir als protocols blockchain per mantenir les transaccions privades.
Com funcionen els ZKP?
Exemple del món real
Per il·lustrar com funcionen les proves de coneixement zero, fem una ullada a un exemple abstracte d'un ZKP.
Suposem que tens un amic que és daltònic vermell-verd. Tens dues boles idèntiques que només es diferencien pel color: una vermella i una altra verda. Per al teu amic, semblen idèntics, però com a persona sense daltonisme, pots distingir-los fàcilment.
És possible que demostris al teu amic que són d'un color diferent sense revelar quina bola és vermella o verda?
De fet, hi ha una manera de demostrar-ho sense revelar els colors de les boles. Primer, has de deixar que el teu amic li posi les dues boles a l'esquena i li digui que mostri qualsevol bola i que la torni a amagar. A continuació, dieu al vostre amic que té l'opció de tornar a mostrar la mateixa pilota o canviar-la per l'altra.
Cada vegada que es mostra una bola nova, pots dir-li si ha canviat la bola o no. Si continueu endevinant la trucada correcta, cada cop és més probable que les boles tinguin un color diferent. Ara el teu amic hauria d'estar convençut que les boles tenen un color diferent sense haver de dir-li quines boles tenen quin color.
Aplicacions Pràctiques
La majoria dels exemples pràctics de proves de coneixement zero es divideixen en dos tipus.
En primer lloc, els ZKP es poden utilitzar quan es dissenyen protocols. Podem garantir que les diferents parts no puguin enganyar ni aprofitar el protocol. En segon lloc, els ZKP es poden utilitzar per a la identificació.
Per exemple, podem utilitzar ZKP per iniciar sessió en una aplicació web de manera segura sense haver de revelar la contrasenya.
Vegem alguns exemples de com podem utilitzar proves de coneixement zero.
Votació electrònica
Una de les aplicacions dels ZKP que es discuteix habitualment és el seu possible paper en la votació en línia. Diguem que tenim un referèndum proper on els usuaris poden votar una proposta de política. Cada votant elegible pot votar 1 o 0 a la papereta.
Mitjançant els ZKP, els votants poden demostrar el seu dret a votar sense revelar la seva identitat. Això garanteix que cada vot serà realment anònim. També s'utilitzarà un ZKP addicional per demostrar que el vot d'un usuari concret forma part del recompte final de vots.
Pel que fa al propi contingut de les paperetes, el sistema de votació també pot generar una prova de coneixement zero que cada papereta conté un 1 o un 0. Això s'aconsegueix sense haver de conèixer el contingut de la mateixa.
Privadesa de Blockchain
Blockchains com Bitcoin i Ethereum no admeten transaccions privades de manera nativa. Sempre que la vostra cartera Bitcoin sigui pública, qualsevol pot anar a un explorador de blocs, com ara Blockstream per veure totes les transaccions de les quals forma part la cartera.
Mentrestant, l'ús d'un servei com ara un banc o serveis de pagament com l'aplicació Cash o Venmo us ofereix la possibilitat de fer transaccions de manera privada. Aquesta comoditat, però, comporta el preu de revelar la vostra informació al servei centralitzat.
Podem combinar l'anonimat amb la descentralització afegint ZKP al protocol blockchain. Les criptomonedes com ZCash utilitzen ZKP per crear transaccions privades que permeten als titulars de monedes mantenir el seu anonimat. Diverses d'aquestes criptomonedes utilitzen un tipus de ZKP conegut com zk-SNARK.
Aquests ZKP no requereixen interacció entre el provador i el verificador.
Paquets de coneixement zero
Els ZK-rollups són una solució d'escalabilitat que permet que les transaccions fora de la cadena es verificin a l'instant i amb tarifes mínimes de gas. Són una manera de combinar un gran nombre de transaccions de la capa 2 i enviar-les al protocol de la capa 1.
A més de proporcionar privadesa, els ZKP permeten escalar sistemes complexos. Els protocols Blockchain poden utilitzar ZKP per demostrar que els usuaris han liquidat les transaccions adequades, tenen el saldo adequat, etc. Aquestes solucions segures però escalables només són possibles mitjançant les demostracions matemàtiques fetes fora de la cadena en ZKP.
Protocols com Loopring utilitzen proves de coneixement zero per ajudar a processar transaccions fora de la cadena sense haver de comprometre la seguretat.
Beneficis de les proves de coneixement zero
- Els ZKP substitueixen les formes d'autenticació menys fiables, com ara els PIN o les targetes d'identificació
- ZKPS augmenta l'escalabilitat de les cadenes de blocs
- La implementació de ZKP requereix mètodes de xifratge senzills
- L'ús de ZKPS pot fer que els sistemes siguin més segurs ja que no requereix que s'emmagatzemi informació innecessària al sistema.
Conclusió
La privadesa de les dades ja és un problema important tant en sistemes centralitzats com descentralitzats. Les proves de coneixement zero ofereixen una manera perquè diferents parts demostrin o validin transaccions i identitats sense haver de revelar aquestes transaccions o identitats.
A mesura que la tecnologia blockchain s'utilitza més àmpliament, l'adopció de ZKP per gestionar la verificació de manera segura serà clau per a les preocupacions d'escalabilitat.
Deixa un comentari