Post
Topic
Board Italiano (Italian)
Re: Stato DISASTROSO rete ethereum
by
bitcoiner180
on 10/02/2025, 14:48:28 UTC
Se vuoi fare un approfondimento (ma ti servira' del tempo, molto) ti consiglio

"Mastering the Lightning Network (LN)"

https://github.com/lnbook/lnbook

per quel che riguarda la OP_CHECKLOCKTIMEVERIFY bisogna capire come funziona: i nodi non devono fare un check sull'altezza del blocco o su un tempo,
ma semplicemente conforntare con il valore nel campo nLockTime, quindi la valutazione fatta dai nodi rimane deterministica, e tutta la dinamica se introdurre o no il
blocco in blockchain rimane a livello di mempool, come detto prima. Pensalo come un controllo in piu', non un controllo sostitutivo del nLockTime che rimane il meccanismo di base.

https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki

Quote

The nLockTime field in a transaction prevents the transaction from being mined until either a certain block height, or block time, has been reached. By comparing the argument to CHECKLOCKTIMEVERIFY against the nLockTime field, we indirectly verify that the desired block height or block time has been reached; until that block height or block time has been reached the transaction output remains unspendable.


Grazie per la guida!
per quel che riguarda la OP_CHECKLOCKTIMEVERIFY bisogna capire come funziona: i nodi non devono fare un check sull'altezza del blocco o su un tempo,
ma semplicemente conforntare con il valore nel campo nLockTime, quindi la valutazione fatta dai nodi rimane deterministica, e tutta la dinamica se introdurre o no il
blocco in blockchain rimane a livello di mempool, come detto prima. Pensalo come un controllo in piu', non un controllo sostitutivo del nLockTime che rimane il meccanismo di base.

https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki

Quote

The nLockTime field in a transaction prevents the transaction from being mined until either a certain block height, or block time, has been reached. By comparing the argument to CHECKLOCKTIMEVERIFY against the nLockTime field, we indirectly verify that the desired block height or block time has been reached; until that block height or block time has been reached the transaction output remains unspendable.


Ma se io sono un nodo e mi arriva un blocco da validare con all'interno una transazione che spende un outputo con OP_CHECKLOCKTIMEVERIFY ma nella mia mempool non ho quella transazione e dunque non conosco il valore di nLockTime che faccio? Invalido il blocco? Se per esempio attivo ora un nuovo nodo, questo deve validare tutti i blocchi e le transazioni al loro interno, come fa a controllare che gli output con OP_CHECKLOCKTIMEVERIFY siano stati spesi correttamente se non possiede l'nLockTime delle transazioni che spendono tali output? Non era più semplice verificare che la transazione che spende un output con OP_CHECKLOCKTIMEVERIFY si trovi in un blocco coerente con il valore di OP_CHECKLOCKTIMEVERIFY ?