Privacy nei ponti Blockchain

Feb 11 2023
Come trasferire fondi tra catene privatamente?
Gli utenti interagiscono con le blockchain usando i loro pseudonimi o chiavi pubbliche. Sebbene ciò fornisca un livello di privacy, poiché le loro identità reali non vengono utilizzate direttamente, la loro privacy non è completamente preservata.

Gli utenti interagiscono con le blockchain usando i loro pseudonimi o chiavi pubbliche. Sebbene ciò fornisca un livello di privacy, poiché le loro identità reali non vengono utilizzate direttamente, la loro privacy non è completamente preservata. Questo perché tutte le transazioni vengono inviate e archiviate sulla blockchain pubblica, consentendo a terze parti di indagare sulla blockchain e collegare le identità reali degli utenti ai loro pseudonimi. Questo può essere fatto tracciando le loro interazioni con gli exchange centralizzati o tramite transazioni con i venditori, che possono apprendere i loro pseudonimi e tracciare la loro cronologia delle transazioni sulla blockchain.

Questo è un problema significativo per l'adozione della blockchain poiché gli utenti potrebbero non voler condividere le informazioni del proprio account crittografico con il mondo! Inoltre, con l'avanzare della tecnologia di analisi blockchain, diventa più facile trovare le identità degli utenti e le normative potrebbero imporre il KYC su molte applicazioni, distruggendo la privacy degli utenti.

Foto dal museo del design

Privacy del ponte

Per affrontare i problemi di privacy nella blockchain, ci sono diverse soluzioni come la miscelazione, le firme ad anello e le prove a conoscenza zero, tra le altre. Queste tecniche sono state applicate sia a livello di blockchain che di applicazione. Tuttavia, un'area che non ha ricevuto molta attenzione sono i ponti blockchain. I bridge blockchain sono protocolli che consentono agli utenti di spostare fondi e dati tra diverse blockchain. Man mano che il mondo multi-catena cresce, la risoluzione dei problemi di privacy nei bridge diventa sempre più importante.

Uno degli usi principali dei bridge è il trasferimento di risorse tra catene, ma questo processo attualmente manca di privacy. È facile per una terza parte rintracciare gli asset spostati da una catena all'altra, collegando tra loro gli indirizzi e gli asset. Inoltre, lo spostamento di fondi da una catena all'altra è spesso un processo che richiede tempo, rendendo più facile per gli attori Miner Extractable Value (MEV) gli utenti front-run. Ad esempio, se un utente desidera eseguire uno scambio cross-chain tra due blockchain (chiamiamole catena di origine e catena di destinazione), invierebbe una richiesta sulla catena di origine. Poiché la transazione richiede tempo per essere confermata sulla catena di origine e quindi trasmessa alla catena di destinazione, gli attori MEV hanno tempo sufficiente per rilevare l'opportunità MEV e determinare i prezzi in modo da trarne profitto.

Raggiungere la privacy nei ponti Blockchain

Le tecniche di privacy esistenti possono essere utilizzate per raggiungere la privacy nei bridge blockchain. Nelle sezioni seguenti spiegheremo ogni tecnica e come può essere applicata al problema del ponte.

Miscelazione

Il missaggio è una tecnica che scollega il mittente e il destinatario l'uno dall'altro. In questo metodo, due o più utenti che desiderano trasferire X token uniranno le loro transazioni in una sola, rendendo difficile per una terza parte collegare il mittente e il destinatario.

Collegamento di mittenti e destinatari

Ad esempio, se Alice e Bob desiderano spostare ciascuno 1 BTC da Bitcoin a Polygon utilizzando un bridge, in genere invieranno due richieste separate. Per preservare la loro privacy, possono combinare le loro richieste in un'unica transazione e inviarla al bridge. Quando il bridge esegue la richiesta, invierà BTC avvolto agli indirizzi del destinatario determinati da Alice e Bob, ma una terza parte non può distinguere il destinatario di Alice e Bob.

Scollegare mittenti e destinatari

A prova di conoscenza zero

La prova a conoscenza zero è uno strumento crittografico che consente a un prover di dimostrare la validità di una dichiarazione o di dati senza rivelare alcuna informazione sui dati effettivi. Questa tecnologia viene utilizzata nella criptovaluta incentrata sulla privacy, Zcash, per consentire agli utenti di dimostrare di avere una certa quantità di monete senza rivelare quali monete specifiche possiedono. Il verificatore può verificare la validità della prova e accettare il pagamento se è effettivamente valido, senza avere alcuna conoscenza delle effettive monete coinvolte.

Questa tecnologia può essere utilizzata anche per oscurare il collegamento tra il mittente e il destinatario durante il bridging delle risorse. Ad esempio, se Alice desidera trasferire 1 ETH da Ethereum a Polygon, può inviare l'ETH a uno smart contract su Ethereum e quindi fornire la prova a uno smart contract su Polygon che ha il controllo sull'asset senza rivelarlo. In questo modo, il collegamento tra mittente e destinatario viene interrotto.

Per implementare il protocollo sono necessari due smart contract, uno su Ethereum e un altro sulla rete Polygon. Un bridge blockchain è necessario anche per trasferire i dati da Ethereum a Polygon. Lo smart contract di Ethereum memorizza un albero Merkle e gli utenti possono aggiungere una nuova foglia all'albero depositando una certa quantità di ETH (diciamo 1 ETH). Quindi, su Polygon, gli utenti possono ritirare 1 WETH dallo smart contract fornendo una prova valida.

Alice genera due valori casuali, "s" e "r", e calcola l'hash della loro concatenazione (r||s), che aggiunge all'albero di Merkle. La radice dell'albero Merkle aggiornato (radice Merkle) viene quindi spostata nello smart contract Polygon attraverso il ponte blockchain.

Sulla rete Polygon, Alice invia una prova che dimostra la sua conoscenza di "r" e "s" con una nuova identità. La dimostrazione mostra che l'hash di "r||s" fa parte dell'albero di Merkle, ma i valori effettivi di "r" e "s" non vengono rivelati. Oltre alla prova, Alice invia "H(r)" allo smart contract. Lo smart contract verifica la prova confrontandola con la radice Merkle aggiornata e il valore di "H(r)". Se la prova è ritenuta valida, lo smart contract conierà 1 WETH per Alice come prover. È importante notare che lo smart contract memorizza il valore di "H(r)", quindi Alice può ricevere WETH solo una volta per una "r" e una "s" specifiche.

Collega la privacy utilizzando la conoscenza zero

Riepilogo

L'uso di pseudonimi nelle transazioni blockchain non preserva la completa privacy. Per migliorare la privacy esistono soluzioni come la miscelazione, le firme ad anello e le prove a conoscenza zero, ma la privacy dei trasferimenti tra diverse blockchain non ha ricevuto molta attenzione. Ciò è significativo in quanto l'adozione multi-catena cresce e la privacy diventa sempre più importante. Mixing e prove a conoscenza zero possono essere applicate al problema del bridge per preservare la privacy nei trasferimenti.

Riferimenti

[1] CoinShuffle: pratico mix di monete decentralizzato per Bitcoin

[2] Zerocash: pagamenti anonimi decentralizzati da Bitcoin

[3] Bridge blockchain affidabili e che preservano la privacy