Il 10 giugno, l'autore del protocollo RGB++ e fondatore di CELL Studio Cipher, il co-fondatore di DotSwap Lin, il co-fondatore di Shell Finance Timxie e il CMO NIGO di TBC (Turingbitchain) sono stati ospiti sullo spazio Twitter di UTXO Stack per discutere se il modello UTXO può essere utilizzato. nascita di un nuovo modello di ecologia Bitcoin.

UTXO Stack è una piattaforma modulare di emissione di catene BTC L2 con un clic che può aiutare gli sviluppatori di progetti a emettere Bitcoin L2 basati sull'architettura UTXO con un clic e integra nativamente il protocollo RGB++. In termini di sicurezza, UTXO Stack garantisce la sicurezza di L2 impegnando le risorse di Bitcoin, CKB e Bitcoin L1. Per dirla semplicemente, possiamo pensare a UTXO Stack come OP Stack + EigenLayer dell’ecosistema Bitcoin.

UTXO Stack ha completato un round di finanziamento iniziale, co-guidato da ABCDE e SNZ Capital, con la partecipazione di istituzioni ben note come OKX Ventures, Waterdrip Capital, Matrixport, y2z Ventures, DRK Lab e UTXO Management, il braccio di venture capital di La società madre di Bitcoin Magazine, BTC Inc.

Di seguito sono riportati i contenuti principali organizzati in base all'audio:

1. Quali sono le differenze e i vantaggi essenziali tra il modello UTXO e il modello account in termini di filosofia di progettazione, sicurezza, efficienza, ecc.?

Cipher: Penso che ci siano alcune differenze principalmente nella filosofia di progettazione e nell'efficienza. La sicurezza può dipendere maggiormente dal meccanismo di consenso e ha poco a che fare con il modello di account.

In termini di filosofia di progettazione, UTXO è in realtà più focalizzato sulla verifica che sul calcolo. Conosciamo il modello di account di Ethereum Quando scrivi un programma o invii una transazione, non conosci il risultato della transazione. Ciò che invii è un'azione o una chiamata di funzione La transazione è Non conoscerai il risultato finché non sarà confezionato in blocchi.

Un tipico esempio è, supponendo che tu abbia solo 0,1 ETH sul tuo conto, puoi inviare una transazione per trasferire 0,2 ETH? Sì, puoi inviarlo, ma dopo che la transazione è entrata nel pool di transazioni, potrebbe essere impacchettata e verrà restituito un errore perché non hai così tanti soldi, ma la tariffa del gas verrà comunque detratta. Ma se qualcuno trasferisce una somma di denaro sul tuo conto nello stesso momento in cui la invii, facendo sì che il saldo del tuo conto superi 0,2 ETH, la transazione verrà eseguita con successo e ovviamente la commissione del gas verrà detratta.

Ma per il modello UTXO, la tua transazione non può essere inviata perché il tuo conto non ha abbastanza denaro e non puoi generare abbastanza input. Pertanto, non esiste uno stato come fallimento della transazione secondo il modello UTXO. Ha solo due stati: successo della transazione o mancato invio. Cioè, il cosiddetto fallimento della transazione significa che la verifica fallisce e la commissione di gestione non sarà detratto. UTXO ritiene che la blockchain sia una macchina di verifica piuttosto che una macchina di calcolo, che utilizza il modello di account, una volta aveva un soprannome chiamato computer mondiale. È per il calcolo, che è una filosofia di progettazione completamente diversa.

C’è anche una grande differenza tra i due in termini di efficienza. UTXO indica chiaramente quale stato è stato utilizzato in precedenza, quindi lo distrugge e lo aggiorna al nuovo stato. Quando Ethereum chiama una funzione, non sa a quali stati accederà prima della chiamata, quindi può gestire solo lo scenario peggiore, ovvero nessuna preelaborazione di tutti gli stati. Pertanto, ogni transazione su Ethereum può essere eseguita solo in modo seriale. Un normale computer desktop ha una CPU con almeno sei core e 12 thread, ma per un EVM standard viene comunque eseguito in un singolo thread. UTXO è diverso. UTXO è naturalmente parallelo. Tutte le sue transazioni possono distinguere automaticamente quali transazioni sono in conflitto. Anche le transazioni in conflitto non verranno inviate al pool di transazioni. Pertanto, l'efficienza della blockchain UTXO è significativamente superiore a quella del modello di account. . Naturalmente ora esiste una narrazione chiamata EVM parallela, che vuole risolvere questo problema in qualche modo, ma dalla descrizione di adesso tutti possono anche rendersi conto che questo non può essere risolto sostanzialmente.

Tim Xie: Sono molto d'accordo con ciò che Cipher ha appena detto: "Il modello UTXO di Bitcoin è più focalizzato sulla verifica, e il modello di conto di Ethereum è più focalizzato sul calcolo." Durante l'estate DeFi, faremo alcuni scambi e la tariffa del gas di Ethereum sarà molto alta Sebbene Ethereum abbia una velocità di generazione dei blocchi più rapida, blocchi più grandi e prestazioni migliori di Bitcoin, Ethereum ha La domanda di espansione è in realtà superiore a quella di. Bitcoin. Perché? Il motivo è che Ethereum è un modello informatico. Quando giochiamo alla DeFi, il 98% delle tariffe del gas che paghiamo può essere speso in calcoli. Il costo di verifica, propagazione e archiviazione dello stato dell'account è in realtà molto ridotto. Bitcoin è una rete di verifica che non esegue calcoli, quindi effettuiamo prestiti o scambi sul secondo livello di Bitcoin. Nello stesso scenario, la commissione di gestione è in realtà più economica di quella di Ethereum.

Il secondo è la concorrenza. Perché EVM seriale? Cipher lo ha appena spiegato molto chiaramente. UTXO può essere utilizzato contemporaneamente. Che differenza porterà questo nel mondo degli affari? Quando fai prestiti su Ethereum, devi depositare prima di poter prendere in prestito, perché la logica aziendale è che devi avere delle garanzie, e devi aspettare fino a quando la transazione ipotecaria viene confermata e lo stato viene fissato prima di poter calcolare il valore netto della tua garanzia. E le soglie di liquidazione, che ti consentono di prendere in prestito denaro, sono tutte seriali. UTXO può fare concorrenza e possiamo comprimere tutte le transazioni insieme il più possibile, il che significa che le transazioni di deposito e quelle di prestito degli utenti possono essere unite insieme per migliorare l'efficienza.

Dal nostro punto di vista, utilizzando il modello UTXO per DeFi su Bitcoin, l'esperienza dell'utente finale non è così negativa come si immagina, sebbene l'esperienza non sia così fluida come le applicazioni su Ethereum o Arbitrum, non è poi così male, ancora utilizzabile.

Lin: Vorrei fare un supplemento. La tecnologia esistente è in continua evoluzione. Penso che UTXO non faccia calcoli, ma può anche fare calcoli. Ad esempio, il codice operativo Bitcoin OP_CAT recentemente discusso, se abilitato, può mantenere lo stato nell'UTXO di Bitcoin. Se rimuoviamo tutte le limitazioni native di Bitcoin, possiamo simulare innumerevoli Ethereum nell'UTXO di Bitcoin. Ogni UTXO può trovarsi nello stato di un Ethereum, quindi archiviare i dati e l'esecuzione in questo stato viene eseguita in modo che questo stato possa essere dedotto verso il basso, anche se ciò potrebbe non necessariamente raggiungere la completa compatibilità EVM.

Quindi penso che Bitcoin possa anche fare calcoli, e la logica di Bitcoin è che puoi aprire un nuovo thread in qualsiasi momento e puoi dividere un nuovo UTXO in qualsiasi momento. Il nuovo UTXO è completamente separato dall'UTXO originale Bitcoin Una caratteristica di UTXO nell'informatica.

Dopo aver aggiunto OP_CAT, offrirà alcuni scenari applicativi molto intelligenti. Ad esempio, i token Ethereum ERC-20 manterranno un elenco per sapere quali conti hanno quanti soldi. Dopo aver aggiunto OP_CAT, possiamo fare cose simili su Bitcoin e potremmo anche fare meglio di Ethereum.

Tra UTXO, la condivisione dei dati è in realtà un ampio spazio sconosciuto. Ad esempio, i Patti (restrizioni) necessitano ancora di tempo per essere sviluppati. Quando la questione andrà avanti, come condividere i dati tra diversi UTXO, come fare riferimento ai dati al di fuori della transazione nelle transazioni, ecc., Potrebbe esserci una svolta.

NIGO: Ho sempre pensato che Ethereum abbia cambiato il modello UTXO di Bitcoin in un modello di conto, che in realtà è un tipico passo superfluo e trasforma un sistema originariamente capace di concorrenza in un sistema seriale. Ethereum è chiamato da molte persone il computer mondiale. Perché il compito di calcolo di una persona comune dovrebbe essere calcolato dai minatori di tutto il mondo? Questo processo consuma molta energia ed è molto costoso, ma non porta alcun beneficio sostanziale, anzi lo ritarda? efficienza complessiva. Dopo che Ethereum è passato al PoS, i miner (nodi) dell’intera rete hanno perso il loro slancio evolutivo. Il modello UTXO progettato da Satoshi Nakamoto è naturalmente adatto per alta concorrenza e alte prestazioni. Credo che più utenti Web3 vedranno il potenziale del modello UTXO.

2. È il modello UTXO che fa sì che Bitcoin non abbia capacità di contratto intelligente? Se vogliamo implementare funzionalità di contratto intelligente basate sul modello UTXO, quale meccanismo viene generalmente utilizzato per realizzarlo?

Cifratura: Esistono sicuramente molti modi per implementare le funzionalità del contratto intelligente basate sul modello UTXO. Permettetemi di presentare il modo in cui CKB, con cui ho più familiarità, lo implementa.

CKB ha introdotto uno script di blocco, che è coerente con lo script di blocco di Bitcoin Quando questo UTXO viene speso, lo script di blocco verrà eseguito automaticamente come input in base ai dati nel testimone e lo sarà anche la transazione corrente utilizzato come input. La differenza tra questo e lo script di blocco di Bitcoin è che supporta una macchina virtuale completa di Turing invece dell'ambiente di script molto limitato di Bitcoin, quindi è Turing-completo in questa fase di sblocco.

Allo stesso tempo, CKB ha introdotto il campo type script, che verrà eseguito indipendentemente dal fatto che si tratti di input o output. Viene eseguito più come una categoria dell'asset, oppure lo stesso tipo rappresenta lo stesso tipo di asset. Ad esempio, l'importo totale dei token fungibili rimane invariato prima e dopo la transazione, e l'importo e il contenuto dei token non fungibili rimangono invariati prima e dopo la transazione, oppure può essere utilizzato per determinare chi ha il diritto di emettere un nuovo token. bene, ecc. È anche una VM completa di Turing.

La macchina virtuale di CKB si basa sul set di istruzioni hardware RISC-V Qualsiasi modifica comporta il re-silicio, quindi il design del set di istruzioni RISC-V è molto snello, efficiente e completo.

Per riassumere, CKB utilizza una macchina virtuale RISC-V, che è Turing complete, e ha anche due posizioni: lock script e type script per archiviare gli script dello smart contract, e c'è anche un campo chiamato data per archiviare gli script dello smart contract stato del contratto, quindi si tratta di un ambiente di esecuzione del contratto completo.

Tim Xie: Nell'intero processo di creazione del prodotto della nostra Shell Finance, poiché dobbiamo occuparci del protocollo di prestito e della liquidazione, abbiamo bisogno di alcune funzioni contrattuali avanzate. Alla fine, abbiamo scelto DLC (Discreet Log Contracts). DLC e Lightning Network sono entrambe tecnologie di espansione dello stesso livello ed entrambe sono offchain. La differenza è che Lightning Network viene utilizzato principalmente per il pagamento, mentre DLC viene utilizzato principalmente per gli oracoli. In realtà non abbiamo completato Turing e ci sono ancora molte restrizioni, ma anche con molte restrizioni possiamo già concedere prestiti tramite DLC.

Bitcoin in realtà ha molti codici OP. Se possiamo abilitare o sbloccare l'OP_CAT menzionato prima da Lin di DotSwap, o alcuni altri codici operativi, allora possiamo effettivamente continuare a crearne altri sulla falsariga di Lightning Network e DLC , i contratti intelligenti possono sicuramente farlo. Il punto centrale è se esiste una domanda, se ci sono utenti, se esiste un mercato e se più persone investiranno tempo ed energia per concepirlo, utilizzarlo e soddisfare le esigenze degli utenti. Finché ci saranno persone che lo useranno e ci sarà un mercato, nuove idee e concetti emergeranno naturalmente.

Ciò di cui sono sicuro ora è che la forma dell’ecosistema Bitcoin sarà completamente diversa da quella di EVM. Forse a livello aziendale, gli utenti possono avere sentimenti simili. Entrambi effettuano scambi e prestiti e hanno anche oracoli, ma i sistemi dietro di loro e gli strumenti che possono essere utilizzati alla fine sono in realtà molto diversi. Se è sulla rete principale Bitcoin, questa differenza sarà ancora maggiore, quindi non vedo l'ora che arrivi L2 con una struttura UTXO migliore, perché può liberare maggiormente il potenziale dell'ecosistema Bitcoin.

Lin: Penso che non sia difficile progettare qualcosa che sia Turing-completo, ma è molto difficile realizzare qualcosa che sia Turing-incompleto. Progettare uno script che non sia Turing-completo è in realtà un compito tecnico molto avanzato.

Lo script originale di Bitcoin può essere Turing completo, ma ora molte funzionalità di Bitcoin sono sigillate. Ad esempio, l'OP_CAT che ho menzionato prima è una funzionalità molto importante, ma questa funzionalità è disabilitata dall'operatore, invece di dire che Bitcoin non le aveva operatori quando è stato originariamente progettato. Bitcoin coinvolgeva molti operatori all'inizio, ma a causa della cosiddetta sicurezza, o dei cosiddetti pericoli nascosti di questa sicurezza, o perché non si capiva bene cosa fosse, come usarlo, ecc., alcuni operatori erano Alcuni operatori sono disabilitati. Inoltre, molte funzioni che avrebbero potuto essere utilizzate per i contratti intelligenti sono state filtrate dalle cosiddette transazioni standard. Diciamo tutti che Bitcoin è un sistema decentralizzato, ma in questo sistema decentralizzato esiste qualcosa chiamata transazione standard, che è determinata da determinate organizzazioni. Non esistono transazioni standard nel campo dei minatori, perché i minatori possono confezionare qualsiasi transazione legale. Si tratta di una questione politica basata sul lato utente.

Quindi, in generale, penso che l'abilità del Bitcoin originale stesso sia molto potente, ma ora Bitcoin è stato dirottato. Se sei interessato, puoi leggere il libro di Roger Ver "Hijacking Bitcoin: The Hidden History of BTC》. Poiché le capacità originali di Bitcoin sono state sigillate, siamo costretti a trovare vie d’uscita in vari luoghi. Questa è la situazione attuale che stiamo affrontando, ma il futuro di Bitcoin è decisamente migliore.

Ho detto che molti dei cosiddetti Bitcoin L2 sono in realtà protocolli parassiti. Non contribuiscono con il proprio valore a Bitcoin e non c'è modo per i minatori di avere redditi più alti, ma in realtà non c'è davvero modo, perché. Bitcoin ha molte limitazioni. Vorrei fare un'analogia. Il protocollo HTTP è in realtà L2 costruito sul protocollo TCP/IP, e il nostro protocollo HTML è costruito sul protocollo HTTP. Penso che questo sia un concetto di livello per livello, piuttosto che che i dati della transazione siano completamente separati da TCP/IP, separati dal protocollo del livello superiore, corrano in un altro posto, quindi si girino e dicano agli altri che questo è il Livello 2 protocollo. Il vero protocollo Layer 2 è in realtà impilato livello per livello, quindi anche il L2 che costruiamo dovrebbe essere accettato come transazioni legali nel livello superiore. Questo è un motivo molto importante per cui stiamo attualmente esplorando un livello di swap. Riteniamo che, nella maggior parte dei casi, dobbiamo effettivamente accontentarci di un livello, e dobbiamo avere molta verifica e consenso sul primo livello, invece di dire che costruirò un cosiddetto asset bridge e poi sposterò tutti risorse ad un altro Un luogo dove questa potrebbe non essere una cosa particolarmente buona.

NIGO: Il modello UTXO può supportare funzioni complesse di contratto intelligente? Naturalmente è possibile. Memorizza la logica e i dati del contratto in UTXO, quindi utilizza la chiamata e i parametri del contratto come input per provare a sbloccare il contratto, esegue la logica del contratto tramite BVM (Blockchain Virtual Machine) e infine ottiene il controllo restituendo vero o falso dalla funzione di sblocco Lo scopo dello stato del contratto. Questo modello potrebbe non essere familiare agli sviluppatori di contratti intelligenti di Ethereum, ma in realtà, se si combinano idee di programmazione funzionale e si convertono alcuni concetti, i contratti intelligenti UTXO possono implementare una logica molto complessa.

Poiché il modello UTXO non ha uno stato globale, deve memorizzare lo stato e la logica del contratto in UTXO, quindi trasferire e convertire lo stato attraverso la trasmissione della catena di chiamate delle transazioni UTXO, quindi ogni transazione UTXO consumerà la precedente UTXO. E generare nuove UTXO, in questo modo è possibile realizzare il trasferimento statale a catena del contratto. Pertanto, se UTXO può essere sbloccato corrisponde al risultato dell’esecuzione del contratto e se consente il trasferimento di stato. Se il contratto determina che non è consentita la modifica dello stato, ad esempio i trasferimenti non sono consentiti, la modifica dei dati non è consentita, ecc., restituirà false, quindi l'UTXO non verrà sbloccato e l'esecuzione del contratto fallirà.

Consideriamo i contratti come macchine a stati che trasferiscono stati di dati, quindi qui possiamo vedere la differenza tra i contratti UTXO e i contratti di tipo account. L'EVM del contratto dell'account è quello di mantenere lo stato globale. Una transazione può far sì che l'EVM esegua più trasferimenti di stato e modifichi frequentemente i dati dello stato fino all'esecuzione del contratto o al consumo del gas. Per quanto riguarda la transazione del contratto UTXO, si tratta di un contratto di input. La chiamata attiverà solo un trasferimento di stato e, indipendentemente da quanto sia complessa la logica all'interno del contratto o quante volte lo stato viene trasferito, BVM registrerà solo il trasferimento di stato finale. risultato sulla catena. Pertanto, il contratto UTXO non ha uno stato globale, ma solo funzioni in attesa di essere eseguite.

UTXO è input multiplo e output multiplo Ciò che Ethereum vuole fare, incluso l'EVM parallelo che anche Monad vuole fare, può effettivamente essere realizzato tramite UTXO. Se è necessario trasferire lo stato, è necessario prima trovare la funzione in cui si trova lo stato localizzato e modificare lo stato tramite chiamate di funzioni e generare nuove funzioni Questo modello rende più chiaro il trasferimento di stato dei contratti UTXO.

I contratti UTXO non si basano su stati esterni. Pertanto, non importa quante volte un contratto viene richiamato, il suo risultato deve essere certo. Pertanto, ciò apporta grande comodità all'analisi del contratto, al debug e ai test unitari. Il contratto EVM si basa sullo stato globale, quindi è probabile che il risultato dell'esecuzione del contratto sia influenzato dall'ambiente esterno, rendendo incerto il risultato dell'esecuzione del contratto. Ad esempio, se il saldo è sufficiente, un risultato sarà , e se il saldo è insufficiente, un altro risultato. Quindi anche questa è una questione importante per la sicurezza e la prevedibilità dei contratti EVM.

Naturalmente, passare ogni volta dallo stato non è privo di costi. In alcuni scenari in cui è richiesta la tracciabilità, lo stato può aumentare all'aumentare della catena di trasferimento UTXO, perché la tracciabilità deve essere verificata e ci sono sempre più dati, quindi lo stato stesso si espanderà all'infinito. La nostra TBC ha risolto un grave problema di espansione dello stato attraverso altre tecnologie e mezzi crittografici come l’hashing e l’estrazione dei dati. Pertanto, una caratteristica importante che distingue i contratti intelligenti di TBC dalle altre catene UTXO è che il modello UTXO costituisce la base per l'espansione illimitata di TBC. È molto semplice utilizzare il modello UTXO per eseguire transazioni di trasferimento standard.

In sintesi, TBC considera pienamente i vantaggi e gli svantaggi del modello UTXO e, sulla base dell'assorbimento dell'essenza di Ethereum e di altre catene pubbliche UTXO, introduce il concetto di BVM e altre tecnologie per implementare un vero e proprio livello di contratti intelligenti UTXO, e poi, insieme ad alcuni strumenti di sviluppo di contratti intelligenti più amichevoli, la soglia per la scrittura e l'implementazione dei contratti intelligenti BVM viene abbassata.

(Continua)