Pages:
Author

Topic: È Partito il soft fork per l'aumento del block size - page 3. (Read 7096 times)

hero member
Activity: 708
Merit: 506
I support freedom of choice
"segwit": {
            "status": "defined",
            "startTime": 1479168000,
            "timeout": 1510704000

Ho fatto un po' di confusione con i tuoi quote e non ho letto dovutamente. Comunque il primo timestamp dice:
2016-11-15T00:00:00+00:00
Quindi è il 15 di novembre con l'orario di Greenwich, l'altro timestamp è dopo un anno.
legendary
Activity: 1948
Merit: 2097

ISM() looks at the previous 1000 blocks on a rolling basis; version bits looks at the previous 2016 block once each time the mining difficulty retargets.


Quindi vengono esaminati solo gli ultimi 1000 blocchi. Mi pare anche di capire che la finestra temporale di 26*2016 blocchi è fissa e cioè ha una precisa data di inizio e una precisa data di fine: è così? In pratica è una finestra temporale che dipende dai tempi di dimezzamento del premio.

No, gli ultimi 1000 blocchi riguardano solo il vecchio metodo, detto IsSuperMajority. Ho rieditato il mio post per segnalare meglio che era il vecchio metodo 950/1000, il nuovo (bip 9) è 1916/2016 blocchi! Il vecchio era a finestra mobile, il nuovo a finestra fissa, il vecchio metodo proponeva un soft fork senza scadenza, con il nuovo metodo la proposta ha una scadenza precisa.

Mi pare anche di capire che la finestra temporale di 26*2016 blocchi è fissa e cioè ha una precisa data di inizio e una precisa data di fine: è così? In pratica è una finestra temporale che dipende dai tempi di dimezzamento del premio.

No, dipende dal tempo, c'è una data ben precisa di inizio e di fine (mentre il numero 26 è solo una mia stima banale che ho ricavato, ma se la potenza computazionale dovesse crescere magari ci sta anche qualche votazione in più!)

Poi sai dirmi a partire dal 15 di novembre che numero si raggiungerà per chi adotterà il segwit?

“segwit” soft fork uses bit ?, i.e. 0x? + 0x20000000

Questo non lo so  Wink
Forse adesso lo so:

Quote
Activation for the segwit soft fork is being managed using BIP9 versionbits. Segwit’s version bit is bit 1, and nodes will begin tracking which blocks signal support for segwit at the beginning of the first retarget period after segwit’s start date of 15 November 2016. If 95% of blocks within a 2,016-block retarget period (about two weeks) signal support for segwit, the soft fork will be locked in. After another 2,016 blocks, segwit will activate.

quindi poichè mi pare di aver capito che il bit 0 è il primo da destra, il bit 1 dovrebbe essere il secondo,  quindi:

segwit soft fork uses bit 1, i.e. 0x2 + 0x20000000 =  0x20000002
0    0    1    0    0    …    0    0    0    0    0    0    0    0    1    0
hero member
Activity: 708
Merit: 506
I support freedom of choice

ISM() looks at the previous 1000 blocks on a rolling basis; version bits looks at the previous 2016 block once each time the mining difficulty retargets.


Quindi vengono esaminati solo gli ultimi 1000 blocchi. Mi pare anche di capire che la finestra temporale di 26*2016 blocchi è fissa e cioè ha una precisa data di inizio e una precisa data di fine: è così? In pratica è una finestra temporale che dipende dai tempi di dimezzamento del premio.

Poi sai dirmi a partire dal 15 di novembre che numero si raggiungerà per chi adotterà il segwit?

“segwit” soft fork uses bit ?, i.e. 0x? + 0x20000000
legendary
Activity: 1948
Merit: 2097
..
Comunque ho scoperto anche che la votazione segue un periodo di retarget pari a quello della difficoltà, ogni 2016 blocchi (quindi ci saranno al massimo in un anno 26 periodi di 2016 blocchi ciascuno (2 settimane circa), ovvero 26 votazioni possibili per raggiungere il quorum di attivazione del 95%).
...
C'e' qualcosa che impedisce che si facciano due votazioni in contemporanea o sovrapposte in parte?

Si possono fare fino a 29 votazioni in contemporanea per 29 soft forks diversi, sommando i vari bit partendo dalla versione 0x20000000 che è quella "liscia" (che non segnala il supporto a nessun fork):
Quote
When no soft forks are being signalled, miners should set the block version field to 0x20000000.

To signal readiness for soft fork(s), miners should set the relevant version bit(s) together with 0x20000000. This should only be done after the soft fork’s start time.

The bits should be unset if either the soft fork activates, or reached [FAILED] state.

For example:

“alice” soft fork uses bit 0, i.e. 0x1 + 0x20000000
0    0    1    0    0    …    0    0    0    0    0    0    0    0    0    1

“bob” soft fork uses bit, 1, i.e. 0x2 + 0x20000000
0    0    1    0    0    …    0    0    0    0    0    0    0    0    1    0

To signal both soft forks at once, use 0x20000003 (i.e. 0x1 + 0x2 + 0x20000000*)
0    0    1    0    0    …    0    0    0    0    0    0    0    0    1    1

note if one is activated before the other, you must unset the relevant bit and continue signalling the other. IF one fails to activate and the timeout expires, you should also unset the bit.
legendary
Activity: 2506
Merit: 1120
..
Comunque ho scoperto anche che la votazione segue un periodo di retarget pari a quello della difficoltà, ogni 2016 blocchi (quindi ci saranno al massimo in un anno 26 periodi di 2016 blocchi ciascuno (2 settimane circa), ovvero 26 votazioni possibili per raggiungere il quorum di attivazione del 95%).
...
C'e' qualcosa che impedisce che si facciano due votazioni in contemporanea o sovrapposte in parte?
legendary
Activity: 1948
Merit: 2097
Non so precisamente con che cosa si confronterà il dato del 95% ma mi è chiaro che il programma bitcoincore in qualsiasi versione sia mette dei dati (versione di bitcoincore oppure la stringa segwit tra slash o altro) sui blocchi minati, tali dati sono tutti volontari come l'useragent e se uno vuole li può cambiare.

In pratica uno può usare segwit per minare e poi può mettere la stringa o altro tipo di dato che si riferiscono all'unlimited. Questo è già stato minacciato e sicuramente c'è chi lo fa in quanto è una libertà di tutti i programmi open source e liberi di modificare il sorgente come uno vuole e di compilarselo oppure di usare "estensioni" o programmini che cambiano la versione del core un una versione fake: basta cambiare un numero o una stringa all'interno del codice.

No, bisogna usare solo i bit indicanti la versione del blocco (la seconda colonna dei dati che trovi in fondo alla pagina di https://coin.dance/blocks) mentre la terza colonna, la coin base text, è una stringa inutile (se ho ben capito).

Da qui:
https://bitcoincore.org/en/2016/06/08/version-bits-miners-faq/
Quote
What is version bits BIP9?

The version bits BIP9 system is a way to introduce backward compatible rule changes to the Bitcoin consensus rules, known as a soft fork.

version bits allows miners to signal that they can validate the soft fork rules. It also allows for up to 29 soft forks to be proposed concurrently

....
version bits does not require activation, it’s simply a way for miners to signal readiness for a soft fork by setting bits in the block header nVersion field.
....
The Bitcoin network retargets mining difficulty every 2016 blocks; at this time version bits will look at the window of the previous 2016 blocks to see how many blocks signal for a given soft fork. If 95% of the blocks signal readiness for the soft fork, the state changes from [STARTED] to [LOCKED_IN].
....
Per ulteriori dettagli sul bip 9:  https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki

In pratica per segnalare il fatto che un miner è pronto ad accettare e supportare il soft fork esso deve segnalarlo impostando la versione del blocco. Probabilmente non ha molto senso segnalare che si è pronti a supportare i futuri blocchi costruiti con le nuove regole se si usa ancora un software vecchio (anche se ci sono ulteriori 2 settimane di tempo tra il raggiungimento del quorum (stato LOCKED-IN) e l'attivazione vera e propria (stato ACTIVE) per aggiornare il software).

Hai ragione comunque su un fatto: la percentuale del 10,6% fornita da coindance si basa attualmente solo sulla stringa nella coinbase, poichè prima dello stato STARTED (che si avrà il 15 novembre) non è possibile segnalare attraverso il version bit la propria adesione al fork. Infatti se guardi alla versione dei blocchi che coindance indica supportare segwit, essa è uguale alla versione degli altri (0x20000000)

Comunque ho scoperto anche che la votazione segue un periodo di retarget pari a quello della difficoltà, ogni 2016 blocchi (quindi ci saranno al massimo in un anno 26 periodi di 2016 blocchi ciascuno (2 settimane circa), ovvero 26 votazioni possibili per raggiungere il quorum di attivazione del 95%).


C'è da fare però una precisazione: quali software supportano il bip 9, cioè seguono il metodo del version bit per il soft fork?

Da questa pagina :   https://coin.dance/nodes

risultano solo Bitcoin Core (non so quali versioni, ovviamente sicuramente l'ultima) e Bitcoin XT, mentre gli altri non risultano da quella pagina supportare il nuovo metodo


NB: questo nuovo metodo di effettuare il soft fork (che segue le regole del bip9) è diverso dal precedente 950/1000.

Il vecchio metodo, detto IsSuperMajority, funzionava così:

Quote
IsSuperMajority() or ISM for short, is a legacy soft fork trigger that activates new rules once 950 out of 1000 blocks are mined which signal the new block version.

An IsSuperMajority() soft fork will orphan all blocks with previous version after activation. For example, if the current version is 4, and the next soft fork introduces version 5 blocks, then after activation is reached (950/1000 blocks), nodes will reject all version 4 blocks.

Once a version bits soft fork reaches activation, nodes will simply begin enforcing the new rules, and will NOT orphan a non-signalling block unless it violates the new rules.

ISM() looks at the previous 1000 blocks on a rolling basis; version bits looks at the previous 2016 block once each time the mining difficulty retargets.

ISM() soft forks do not expire. version bits soft forks can only activate between the start time and the timeout.
hero member
Activity: 708
Merit: 506
I support freedom of choice
Ma se fosse così non si tratterebbe di un dato utile, io penso voglia dire che il 10,6% attuale dei blocchi minati sta votando per segwit. Se quella non fosse la percentuale di voto che cosa si dovrebbe confrontare con la famosa soglia del 95%?

Non so precisamente con che cosa si confronterà il dato del 95% ma mi è chiaro che il programma bitcoincore in qualsiasi versione sia mette dei dati (versione di bitcoincore oppure la stringa segwit tra slash o altro) sui blocchi minati, tali dati sono tutti volontari come l'useragent e se uno vuole li può cambiare.

In pratica uno può usare segwit per minare e poi può mettere la stringa o altro tipo di dato che si riferiscono all'unlimited. Questo è già stato minacciato e sicuramente c'è chi lo fa in quanto è una libertà di tutti i programmi open source e liberi di modificare il sorgente come uno vuole e di compilarselo oppure di usare "estensioni" o programmini che cambiano la versione del core un una versione fake: basta cambiare un numero o una stringa all'interno del codice.
legendary
Activity: 1948
Merit: 2097
non ho capito bene cosa intendano con "explicit mining pool support", (le barre in alto)

Da quel poco che ho capito io ogni blocco minato ha una stringa che nel caso di aderenza esplicita al protocollo segwit riporta la stringa segwit tra slash (barre):

\X%XH$g/BitFury/SEGWIT/

Penso sia una stringa volontaria in cui ogni uno ci mette quel che vuole, una cosa tipo l'user agent dei browser.

Ma se fosse così non si tratterebbe di un dato utile, io penso voglia dire che il 10,6% attuale dei blocchi minati sta votando per segwit. Se quella non fosse la percentuale di voto che cosa si dovrebbe confrontare con la famosa soglia del 95%?

Comunque il dato ufficiale, l'unico che conta, si troverà qui:

https://chainquery.com/bitcoin-api/getblockchaininfo  (oppure "bitcoin-cli  getblockchaininfo" se avete installato Core sul pc)

nel campo segwit dopo il 15 novembre


avevo fatto un search su vari pool e qualcosa fuori sulle intenzioni è saltato fuori ad esempio quelli di Antpool a maggio dicevano che non avrebbe supportato il segwit senza il blocco a 8 MB basterebbero loro a far saltare tutto.


Antpool Will Not Run SegWit Without Bitcoin Block Size Increase Hard Fork

https://bitcoinmagazine.com/articles/antpool-will-not-run-segwit-without-block-size-increase-hard-fork-1464028753

Eppure guardando alle indicazioni di voto dei blocchi minati da Antpool non c'è il supporto agli 8 mega.

Una domanda banale: per votare il supporto al blocco di 8 mega bisogna per forza utilizzare Bitcoin Unlimited, per segwit BitCoin Core 0.13.1, e così via? Oppure uno può minare con il client che preferisce e modificare la versione di un blocco per votare in piena libertà sui vari fork a prescindere dal software che sta usando?


legendary
Activity: 1981
Merit: 1039
avevo fatto un search su vari pool e qualcosa fuori sulle intenzioni è saltato fuori ad esempio quelli di Antpool a maggio dicevano che non avrebbe supportato il segwit senza il blocco a 8 MB basterebbero loro a far saltare tutto.


Antpool Will Not Run SegWit Without Bitcoin Block Size Increase Hard Fork

https://bitcoinmagazine.com/articles/antpool-will-not-run-segwit-without-block-size-increase-hard-fork-1464028753
hero member
Activity: 708
Merit: 506
I support freedom of choice
non ho capito bene cosa intendano con "explicit mining pool support", (le barre in alto)

Da quel poco che ho capito io ogni blocco minato ha una stringa che nel caso di aderenza esplicita al protocollo segwit riporta la stringa segwit tra slash (barre):

\X%XH$g/BitFury/SEGWIT/

Penso sia una stringa volontaria in cui ogni uno ci mette quel che vuole, una cosa tipo l'user agent dei browser.

Riguardo a quello che ha detto arulbero credo che il fatto di appoggiare una opzione alternativa a segwit non voglia dire essere "contro", fatta eccezione per VIABTC.
legendary
Activity: 1948
Merit: 2097

non ho capito bene cosa intendano con "explicit mining pool support", (le barre in alto)
pero' subito dopo se si guada il grafico a torta emerge che l'87% dei blocchi sono minati su core
e e 11% su unlimited... insomma le prima barre sopra sono un po' forvianti.

Anche guardando i full node (https://bitnodes.21.co/)  sono quasi tutti core 0.13.0 o 0.13.1
insomma... vedremo dopo il 15 cosa succede, ma secondo me i blocchi minati segwit saranno molti
di piu' dell'11%.

Al momento l'87% dell'hash rate è legato all'utilizzo di Bitcoin Core in una delle sue versioni (ma solo l'11% circa della potenza computazionale  - pool BitFury 7,5% e BitClub 3,1% -  lavora con la versione 0.13.1 con supporto esplicito a segwit), mentre le altre pool utilizzano Unlimited (11,6%:  ViaBTC 8,8%, Bitcoin.com 1,9%) o Xt (1,1% : altre pool), cioè sono manifestamente contro segwit.

In "mezzo" ci sono alcune pool tipo BW Pool(9,2% - sostiene solo 8 mega, vedi blocco 438097) ed altre che probabilmente utilizzano ancora Bitcoin Core ma non è chiaro se sono propense a supportare segwit.

Occhio che quasi tutti i grafici a torta si riferiscono ai blocchi minati nell'ultima settimana tranne uno che tratta le percentuali relative solo ai blocchi minati oggi.

La questione è capire quanti di coloro che detengono il 76% (87% - 11%) di potenza computazionale circa e che stanno ancora usando vecchie versioni di Core lo fanno perchè sono contrari al soft fork e quanti invece hanno intenzione di upgradare alla attuale versione in un futuro prossimo.
legendary
Activity: 3276
Merit: 2898
A che punto siamo? (Per favore in parole semplici perchè non sono molto ferrato...)

Grazie

Non siamo ancora all'inizio, l'inizio è il 15 di novembre.

Per i numeri di segwit vedi il grafico qui:

https://coin.dance/blocks

non ho capito bene cosa intendano con "explicit mining pool support", (le barre in alto)
pero' subito dopo se si guada il grafico a torta emerge che l'87% dei blocchi sono minati su core
e e 11% su unlimited... insomma le prima barre sopra sono un po' forvianti.

Anche guardando i full node (https://bitnodes.21.co/)  sono quasi tutti core 0.13.0 o 0.13.1
insomma... vedremo dopo il 15 cosa succede, ma secondo me i blocchi minati segwit saranno molti
di piu' dell'11%.



hero member
Activity: 708
Merit: 506
I support freedom of choice
A che punto siamo? (Per favore in parole semplici perchè non sono molto ferrato...)

Grazie

Non siamo ancora all'inizio, l'inizio è il 15 di novembre.

Per i numeri di segwit vedi il grafico qui:

https://coin.dance/blocks
sr. member
Activity: 292
Merit: 250
A che punto siamo? (Per favore in parole semplici perchè non sono molto ferrato...)

Grazie
legendary
Activity: 1948
Merit: 2097
I soft fork rendono non valide situazioni valide (o non standard) in precedenza, gli hard fork rendono non valide cose che prima non erano valide.
Fixed  Wink

(avevi scritto due volte la stessa cosa)

Ciao!

Grazie per la segnalazione, corretto!  Smiley
legendary
Activity: 2450
Merit: 1008
I soft fork rendono non valide situazioni valide (o non standard) in precedenza, gli hard fork rendono non valide cose che prima non erano valide.
Fixed  Wink

(avevi scritto due volte la stessa cosa)

Ciao!
legendary
Activity: 1981
Merit: 1039
Quote
entrambe le soluzioni mi suscitano qualche dubbio ad esempio sapendo che il limite alla transazione è 1 MB nulla gli impedirebbe di farne 20 differenti 1 MB ciascuna e comunque raggiungerebbero lo scopo di spammare e rallentare il network.
Questo non cambia dalla situazione attuale.
Il problema poi delle transazioni, non è legato al fatto che qualcuno prepari la transazione, perchè il miner può sempre decidere giustamente di ignorarle, o ignorarle tutte.
Il problema c'era se un miner malevolo cercasse di fare questa cosa ... ma un miner difficilmente è in grado di fare 20 blocchi da 1MB Wink



Quote
la seconda soluzione sembrerebbe la più sensata ma sarebbe discriminatoria non solo per le transazioni ma perché alla fine i mining pool con più risorse sarebbero poi quelli a decidere quali transazioni favorire e quali no.
Questa non l'ho capita. Non capisco come sia legato alla soluzione di bitcoin unlimite (o segwit anche), rimane tutto uguale.
I miner e miningpool comunque hanno sempre interesse ad aggiungere quante più tx possibili, sempre che non vadano a creare un rischio per il loro guadagno (ad esempio, rischio di creare blocchi orfani)


nel primo caso intendevo che un ipotetico client che supporti i blocchi da 20 MB che si premunisse con qualche spam filter che impedisca a una singola transazione di superare 1 MB comunque non impedirebbe allo spammer di realizzarne 20 diverse TX aggirando i limiti e riempiendo il blocco e con questo mi allaccio alla seconda risposta le vittime principali sarebbero i nodi che non hanno risorse sufficienti, un grosso pool che si affida a server con load balancing e linee dedicate nell'ordine dei gigabit non avrebbe problemi nell'elaborare e trasmettere i blocchi che poi potrebbero essere confermati solo da altri mining pool con risorse simili.

sr. member
Activity: 439
Merit: 252
Get Paid to Play your Media on Current
comunque mi pare che non stia avendo troppo successo questo soft fork, siamo solo al 12.9% dei blocchi.
hero member
Activity: 2968
Merit: 605
per me stavamo bene cosi
staff
Activity: 4270
Merit: 1209
I support freedom of choice
Pages:
Jump to: