Grazie.
Quello che intendo dire è che per me è concettualmente difficile afferrare come un medesimo indirizzo possa "dialogare" con più blockchain.
Per come me lo hanno spiegato la prima volta, un indirizzo sta su una blockchain.....e basta, come fosse una correlazione biunivoca.
Nel tempo ho scoperto che la relazione era univoca (un indirizzo può essere in relazione con più blockchain) e ho qualche difficoltà (la mia curva dell'apprendimento.....) a digerire questo concetto.
Inoltre adesso anche le blockchain possono avere dei bridges tra di loro......e la cosa mi confonde un po'.
Avete per caso del materiale digulvativo che mi aiuti a "correggere" le mia nozioni? Ogni segnalazione è benvenuta.
Prova a vederla così. Le blockchain utilizzano due principali modelli di storicizzazione, UTXO e Balance.
Entrambe le tipologie di modelli utilizzano un sistema di crittografia asimmetrica, chiave pubblica e chiave privata.
La chiave pubblica rappresenta il tuo address, la chiave privata rappresenta la firma per sbloccarlo.
UTXO sta per Unspent Transaction Output ed è il modello adottato da Bitcoin.
Su Bitcoin non c'è un concetto di "balance". Quello che vediamo dai nostri wallet è una ricostruzione fittizia per facilitare l'utilizzo.
La blockchain di Bitcoin processa transazioni, non viene memorizzato alcuno stato associato ad un certo indirizzo. (da qui l'impossibilità di eseguire in modo nativo smart contract).
Nella blockchain di Bitcoin viene memorizzato che tizio ha facoltà di spendere una certa transazione non spesa per l'importo di X BTC.
La somma di tutte le transazioni non spese determina quello che è il tuo balance, calcolato in tempo reale dall'applicazione / client che utilizzi.
Se tu hai un tuo wallet con un saldo di 1 BTC significa che nella blockchain è stata memorizzata una transazione non spesa di 1BTC associata al tuo indirizzo.
L'associazione al tuo indirizzo pubblico avviene mediante le coppia chiave pubblica - chiave privata, ovverosia chiunque potrebbe provare a spendere la tua transazione ma l'operazione sarebbe considerata illecita perché la firma richiesta per l'approvazione non corrisponderebbe, firma che viene applicata mediante la tua chiave privata che solo tu conosci.
Questo è il motivo per cui quando hai una transazione non spesa di 1 BTC (paragonabile ad un saldo di 1 BTC), se devi inviare 0.2 BTC a Caio quello che avviene in Bitcoin è la creazione di una prima UTXO di 0.2 BTC verso l'indirizzo di Caio e la creazione di una seconda UTXO di 0.8 BTC verso al tuo indirizzo per 'farti tornare indietro il resto'.
Nel modello a Balance, adottato praticamente da tutte le blockchain che utilizzano smart contract, nei blocchi viene memorizzato effettivamente uno stato di saldo che quindi non viene calcolato on demand.
La possibilità di prelevare da quel saldo è delegata sempre all'utilizzo di un sistema a cifratura asimmetrica con chiave pubblica e privata.
Nelle blockchain a Balance è memorizzato che ad un dato indirizzo pubblico è associato un certo saldo. Chiunque potrebbe inviare nella rete una transazione di ritiro di un importo da quel saldo ma verrebbe considerata illecita da tutti i nodi in quanto la firma necessaria non corrisponderebbe, firma che è applicata mediante l'utilizzo della chiave privata.
Ethereum è un esempio di blockchain che utilizza un modello di Balance.
Nel tempo sono nate varie blockchain alternative che sono dette EVM compliant. EVM sta per Ethereum Virtual Machine e non è altro che lo strato applicativo che consente l'esecuzione delle istruzioni del linguaggio Solidity, utilizzato da Ethereum per tutte le tipologie di transazioni, indipendentemente dal sistema in cui il software è in esecuzione.
Per esempio è noto che Apple utilizzi un proprio sistema operativo, iOS, le cui app non sono compatibili con Windows o con Android.
L'EVM consente l'esecuzioni di 'app' Ethereum indipendentemente da sistema operativo utilizzato dai nodi validatori e miners.
Queste blockchain EVM compatibili sono quindi compatibili con tutti gli standard adottati da Ethereum. Questo significa che il tuo indirizzo pubblico utilizzato su Ethereum risulta essere valido anche come indirizzo utilizzato su un'altra blockchain EVM compatibile.
Ovviamente però le blockchain sono diverse, questo significa che lo stato di una blockchain non interferisce direttamente con lo stato dell'altra.
Lo stato rappresenta il balance, quindi il saldo.
Ecco che quindi il tuo indirizzo pubblico lo puoi utilizzare come saldo indipendente in ciascuna blockchain, tale per cui su rete Ethereum associato al tuo indirizzo pubblico puoi avere 1 ETH, su rete Binance Smart Chain puoi avere 1BNB, e così analogo su altre reti quali Fantom.
Il discorso si complica ulteriormente quando si parla poi si reti Layer 1 e reti Layer 2 ma di fatto tutte le assunzioni rimangono coerenti e valide.
Una rete Layer 2 generalmente è una 'rete satellite' di una rete principale e che adotta un diverso modello di validazione tale per cui le transazioni su Layer 2 richiedono un minor esborso di fee. Lo stato finale di Balance però viene periodicamente allineato sulla rete Layer 1 che è quella che detiene effettivamente tutto lo storico.
Se la rete Layer 1 è una EVM compatibile allora a sua volta le reti Layer 2 sono EVM compatibili.
Esempi di Layer 2 di Ethereum sono Polygon, Arbitrum e Optimism.
Questo significa che il tuo indirizzo pubblico può avere un saldo univoco e differente su ciascuna di queste tre reti diverse, e solo tu puoi spenderlo perché solo tu puoi inviare sulla rete una transazione firmata con la chiave privata associata al tuo indirizzo pubblico.
In tutto questo discorso i bridge intervengono nello spostare un balance da una rete all'altra.
Sulla rete BSC era memorizzato un saldo di 1 BNB. Con un Bridge su rete Ethereum non fai altro che richiedere che venga eseguita una transazione che riduca il saldo di 1 BNB dalla rete BSC e ti accrediti 1 BNB sulla rete Ethereum, associato allo stesso indirizzo pubblico. (al netto delle fee che vengono applicate per l'utilizzo del servizio, e per precisazione alcuni bridge consentono di specificare un indirizzo pubblico di destinazione diverso da quello di partenza)