Bitcoin Forum
November 05, 2024, 07:39:04 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: [51% Attack] Spieghiamolo.  (Read 5801 times)
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
March 30, 2015, 03:42:30 PM
 #41

Penso ti riferissi alle release notes della versione 0.6.3
Quote
Added a block checkpoint at block 185,333 to speed up initial blockchain download.

Si la 0.6.3 è stata l' ultima della serie 0.6.x



Avrei una domanda: ho visto che nelle release notes della versione 0.9.0  si parla del concetto di "coins mature"

Quote
Wallet:
             Consider generated coins mature at 101 instead of 120 blocks

In che senso si considerano "mature" queste monete?





Dopo il mining. Le conferme per le TX ed i blocchi minati sono diverse




FaSan

arulbero
Legendary
*
Offline Offline

Activity: 1934
Merit: 2077


View Profile
April 16, 2015, 01:44:46 PM
 #42

Pensierino: sapete se e' già venuta in mente a qualcuno l'idea di inserire ad ogni nuova relase del client ufficiale una sorta di "chiodo" che analogamente a come funziona il genesis block impone il passaggio della catena in quel blocco ad una determinata altezza?

In questo modo si eviterebbe l'inconveniente di trovarsi la chain errata dopo tantissimo tempo.

Inoltre sarebbe interessante che la chain contenesse anche il codice c++ (mi pare ci sia) e tutte le sue patch (magari ci sono ...).

C'è stato un mandatory tra la versione 0.6 e la 0.7 se non ricordo male, ovvero intorno al blocco 180.000 e ce ne sarà un'altro pilotato quando si decideranno in maniera definitiva sull' aumento della grandezza delle TX.

Riguardo la chain, a che pro ?

FaSan

Per chi fosse interessato, nel file chainparams.cpp (che è uno dei file sorgenti di Bitcoin Core) si trovano tutti i checkpoint integrati direttamente nel software. Al momento sono questi 13 (l'ultimo si riferisce a un blocco minato circa 1 anno fa):

Quote
       ( 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d"))
        ( 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6"))
        ( 74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20"))
        (105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97"))
        (134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe"))
        (168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763"))
        (193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317"))
        (210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e"))
        (216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e"))
        (225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932"))
        (250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214"))
        (279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40"))
        (295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983"))

Da quello che ho capito (non ne sono sicuro al 100%) servono soprattutto ad evitare che qualcuno, reiniziando a minare dal blocco 1, inondi la rete di molti blocchi inutili e quindi occupi con catene-spazzatura gli hard disk dei nodi. Con i checkpoint si velocizza la sincronizzazione alla catena principale "corretta" scartando subito le catene che non passano per questi checkpoint.
Ovviamente come molti in rete hanno osservato in questo modo si introduce un elemento di consenso deciso da pochi - gli sviluppatori del codice - contrario alla filosofia decentralizzata a cui si ispira il sistema Bitcoin.


picchio
Legendary
*
Offline Offline

Activity: 2506
Merit: 1120



View Profile
April 16, 2015, 07:47:00 PM
 #43

Pensierino: sapete se e' già venuta in mente a qualcuno l'idea di inserire ad ogni nuova relase del client ufficiale una sorta di "chiodo" che analogamente a come funziona il genesis block impone il passaggio della catena in quel blocco ad una determinata altezza?
(...)

C'è stato un mandatory tra la versione 0.6 e la 0.7 se non ricordo male, ovvero intorno al blocco 180.000 e ce ne sarà un'altro pilotato quando si decideranno in maniera definitiva sull' aumento della grandezza delle TX.

Riguardo la chain, a che pro ?

FaSan

Per chi fosse interessato, nel file chainparams.cpp (che è uno dei file sorgenti di Bitcoin Core) si trovano tutti i checkpoint integrati direttamente nel software. Al momento sono questi 13 (l'ultimo si riferisce a un blocco minato circa 1 anno fa):

Quote
       ( 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d"))
        ( 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6"))
        ( 74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20"))
        (105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97"))
        (134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe"))
        (168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763"))
        (193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317"))
        (210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e"))
        (216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e"))
        (225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932"))
        (250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214"))
        (279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40"))
        (295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983"))

Da quello che ho capito (non ne sono sicuro al 100%) servono soprattutto ad evitare che qualcuno, reiniziando a minare dal blocco 1, inondi la rete di molti blocchi inutili e quindi occupi con catene-spazzatura gli hard disk dei nodi. Con i checkpoint si velocizza la sincronizzazione alla catena principale "corretta" scartando subito le catene che non passano per questi checkpoint.
Ovviamente come molti in rete hanno osservato in questo modo si introduce un elemento di consenso deciso da pochi - gli sviluppatori del codice - contrario alla filosofia decentralizzata a cui si ispira il sistema Bitcoin.
Come al solito, quello che immagino, è gia stato fatto. Meglio cosi', io pero' non vedo un rischio di centralizzazione ma una sorta di condivisione della chain a consenso, credo che se la maggior parte degli utenti usasse un client senza checkpoint tutto potrebbe funzionare allo stesso modo, poi se qualcuno riesce a minare una catena senza mettere quei punti allora creerebbe un fork epico.

Waves mi piaceva ora non più.
arulbero
Legendary
*
Offline Offline

Activity: 1934
Merit: 2077


View Profile
April 17, 2015, 01:42:53 PM
 #44

(...)
Da quello che ho capito (non ne sono sicuro al 100%) servono soprattutto ad evitare che qualcuno, reiniziando a minare dal blocco 1, inondi la rete di molti blocchi inutili e quindi occupi con catene-spazzatura gli hard disk dei nodi. Con i checkpoint si velocizza la sincronizzazione alla catena principale "corretta" scartando subito le catene che non passano per questi checkpoint.
Ovviamente come molti in rete hanno osservato in questo modo si introduce un elemento di consenso deciso da pochi - gli sviluppatori del codice - contrario alla filosofia decentralizzata a cui si ispira il sistema Bitcoin.
Come al solito, quello che immagino, è gia stato fatto. Meglio cosi', io pero' non vedo un rischio di centralizzazione ma una sorta di condivisione della chain a consenso, credo che se la maggior parte degli utenti usasse un client senza checkpoint tutto potrebbe funzionare allo stesso modo, poi se qualcuno riesce a minare una catena senza mettere quei punti allora creerebbe un fork epico.

Diciamo che il rischio di centralizzazione è mitigato molto dal fatto che utilizzano come checkpoint blocchi molto indietro nel tempo.
Penso che se qualcuno fosse in grado di creare un fork con una catena che andasse ad annullare tutte le transazioni degli ultimi 10-12 mesi, anche se dal punto di vista dell'algoritmo avrebbe ragione lui, sicuramente per la stragrande maggioranza della comunità questo non sarebbe accettabile/auspicabile (altrimenti il Bitcoin da uno dei sistemi di pagamento più veloci diventerebbe uno dei più lenti del pianeta, non potendo considerare definitive neanche transazioni con migliaia di conferme). Per tagliare la testa al toro (e soprattutto per evitare inutile spreco di tempo e risorse nel momento della sincronizzazione dei nuovi nodi) hanno anche secondo me fatto bene ad inserire questi checkpoint.

Diverso sarebbe il discorso se si decidesse invece che tutti i blocchi dell'attuale catena principale che hanno più di N conferme (con per esempio N = 100) diventassero "definitivi".

Pages: « 1 2 [3]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!