Coleção de lixo
2 respostas
- votos
-
- 2019-01-30
Cadanó de Tezosmantém uma representação doestado atual do Ledger. Esseestadoinclui coisas como o armazenamento de cada contrato,oequilíbrio de diferentesendereços,etc. O objetivo doblockchain épermitir que uma rede descentralizada departicipantes atinja consenso sobre o queesseestado é.
Como a cadeiapodeter reorganizações,às vezes énecessário que osnós voltem atempopor algunsblocose calculem umestado diferente. Parafazerissoeficientemente,elesprecisam ser capazes de lembrar rapidamente o que oestadoestavatãofora de algumas quadras.
Naimplementação atual,onó lembra cadaestado quepassou. Isso é além de lembrartodos osblocos!
Coleção de lixo significa descartar osestados anteriores quenão sãomaisnecessáriospelonóe ocupamespaçoem disco valioso. Por design,oprotocolonãopermite reorganizaçõesmaiores que 5 ciclos,portanto,é seguro descartartodos osestadosmais antigos do queisso. Noentanto,osestadospodem ser descartados deformamais agressiva,uma vez quegrandes reorganizações sãomuitoimprováveis.
Naprática,umaboa abordagem é armazenar algunsestados recentes como umpoçoe alguns,esparsos,antigos. Se uma longa reorganização acontecer,onóescolherá qualquerestado queele saiba antes doponto de reorganizaçãoe reconstruir oestado atéesseponto.
Quando apenas os 5 ciclos anteriores sãomantidos,oespaçoem disco ocupado épelomenos 10 vezesmenor.
Each Tezos node maintains a representation of the current state of the ledger. That state includes things like the storage of each contract, the balance of different addresses, etc. The goal of the blockchain is to allow a decentralized network of participants to reach consensus on what that state is.
Since the chain can have reorganizations, it's sometimes necessary for the nodes to go back in time by a few blocks and compute a different state. In order to do so efficiently, they need to be able to quickly remember what the state was as off a few blocks ago.
In the current implementation, the node remembers every single state it ever went through. This is in addition to remember all the blocks!
Garbage collection means discarding past states which are no longer needed by the node and take up valuable disk space. By design, the protocol does not allow reorganizations longer than 5 cycles, therefore it is safe to discard all states older than that. However, states can be discarded more aggressively since large reorganizations are very unlikely.
In practice, a good approach is to store a few recent states as a well and a few, sparse, old ones. If a long reorganization happens, the node will pick whichever state it knows about prior to the reorganization point and reconstruct the state up to that point.
When only the past 5 cycles are kept, the disk space occupied is at least 10 times smaller.
-
- 2019-02-22
Se vocêestiverinteressadoem umestudo sobre oimpacto dasmelhorias de armazenamento,consulte aqui (também há um linkpara umnó Tezoseficiente de armazenamento).
If you are interested in a study on the impact of storage improvements, see here (there is also a link towards a storage-efficient tezos node).
Eu ouço lá sãoplanospara coleta de lixopara oblockchain de Tezos.o queisso significa,exatamente?Quais sãoesses "lixo" queprecisam ser coletados,por queelesestão láem primeiro lugar?A coleta de lixo é usada apenasparanósnão completos ouparatodos osnós?Quantoespaço vamos salvar da coleta de lixo?