Wielki stop

Weteran
Awatar użytkownika
Posty: 3439
Rejestracja: 4 sierpnia 2011
Reputacja: 479
Reputacja postu: 
0
Napiwki za post: 0 BTC
Napiwki: 1AqwNEzAp5GE46jebmZYqvq3tXt19iChJN

Re: Wieki stop

Postautor: powered » niedziela, 3 marca 2013, 13:46

Przemo pisze: Potwierdzenie transakcji to jest znalezienie bloku
Czyli potwierdzanie transakcji jest również można powiedzieć "hamowane" za pomocą trudności? Chyba ma to sens, bo ktoś mogłby się zająć tylko potwierdzaniem transakcji i robić przekręty. Ja myślałem że wydobycie i potwierdzenie to dwa różne oddzielne obliczenia.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14458
Rejestracja: 16 kwietnia 2012
Reputacja: 2683
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Wieki stop

Postautor: rav3n_pl » niedziela, 3 marca 2013, 16:41

Nie. Transakcje zawarte w bloku tworzą m.in hash który liczymy.
weryfikacja czy hash jest poprawny dla danych transakcji i konkretnego bloku jest bardzo prosta, i jeżeli ktoś coś przerabia sieć odrzuca taki blok jako orphan/invalid i tyle. A transakcje nadal czekają na zamknięcie w kolejnym bloku.
Największym problemem jest właśnie znalezienie nonca który da odpowiedni hash. Samo sprawdzenie czy to nie oszustwo to betka. System sam sie broni "z założenia" przed oszustwem.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonik z talii kart
Bitcoin Core 0.29
Linki do YT, TT, LI i reszty

rha
Weteran
Posty: 1561
Rejestracja: 8 lipca 2012
Reputacja: 600
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Wieki stop

Postautor: rha » niedziela, 3 marca 2013, 23:09

DavidPL pisze:Skąd masz informacje o 4-krotnym zmniejszeniu się trudności? Daj linka - chętnie bym się zapoznał.
Z modułu main.cpp z programu Bitcoin:

Kod: Zaznacz cały

    // Go back by what we want to be 14 days worth of blocks
static const int64 nTargetTimespan = 14 * 24 * 60 * 60; // two weeks
static const int64 nTargetSpacing = 10 * 60;
static const int64 nInterval = nTargetTimespan / nTargetSpacing;
...
    const CBlockIndex* pindexFirst = pindexLast;
    for (int i = 0; pindexFirst && i < nInterval-1; i++)
        pindexFirst = pindexFirst->pprev;
    assert(pindexFirst);

    // Limit adjustment step
    int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
    printf("  nActualTimespan = %"PRI64d"  before bounds\n", nActualTimespan);
    if (nActualTimespan < nTargetTimespan/4)
        nActualTimespan = nTargetTimespan/4;
    if (nActualTimespan > nTargetTimespan*4)
        nActualTimespan = nTargetTimespan*4;
A ludzkim językiem jest to napisane tu: https://en.bitcoin.it/wiki/Target lub tu: https://pl.bitcoin.it/wiki/Cel (ostatnie zdanie przed spisem treści).

Gaduła
Posty: 362
Rejestracja: 19 maja 2011
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Wielki stop

Postautor: DavidPL » poniedziałek, 4 marca 2013, 10:31

Czyli mamy dodatkową bezwładność która w przypadku wielkiego stopu mogłaby faktycznie stać się elementem problematycznym który wyraźnie utrudniłby zatwierdzanie bloków.

A czy jesteś w stanie potwierdzić lub zaprzeczyć temu co mówił Przemo - że jeśli w +/- 2 tygodnie nie będzie 2016 bloków to system zmieni trudność wcześniej?
Z idiotą się nie dyskutuje - sprowadzi Cię do swojego poziomu i pokona doświadczeniem.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14458
Rejestracja: 16 kwietnia 2012
Reputacja: 2683
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Wielki stop

Postautor: rav3n_pl » poniedziałek, 4 marca 2013, 11:24

To jest w kodzie. Zmiana następuje co 2 tygodnie, chyba że 2016 bloków padnie wcześniej.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonik z talii kart
Bitcoin Core 0.29
Linki do YT, TT, LI i reszty

pm7
Weteran
Posty: 7892
Rejestracja: 20 maja 2012
Reputacja: 969
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Wielki stop

Postautor: pm7 » poniedziałek, 4 marca 2013, 16:48

Nie, zmiana nie następuje co dwa tygodnie.
Zmiana następuje zawsze co 2016 bloków.

https://en.bitcoin.it/wiki/Difficulty
The difficulty is adjusted every 2016 blocks based on the time it took to find the previous 2016 blocks. At the desired rate of one block each 10 minutes, 2016 blocks would take exactly two weeks to find. If the previous 2016 blocks took more than two weeks to find, the difficulty is reduced. If they took less than two weeks, the difficulty is increased. The change in difficulty is in proportion to the amount of time over or under two weeks the previous 2016 blocks took to find.

Zerknij proszę na tą historię bloków.

Block 211679
Time: 2012-12-10 18:01:37
Difficulty: 3 438 908.960159

Block 211680
Time: 2012-12-10 18:03:33
Difficulty: 3 370 181.799277

Block 213695
Time: 2012-12-26 14:05:58
Difficulty: 3 370 181.799277

Block 213696
Time: 2012-12-26 14:05:40
Difficulty: 2 979 636.616938

Źródło:
http://blockexplorer.com/b/211679
http://blockexplorer.com/b/211680
http://blockexplorer.com/b/213695
http://blockexplorer.com/b/213696

Jak widać, zmiana trudności nastąpiła w bloku 211680 i 213696, pomimo, że trwało to od 2012-12-10 do 2012-12-26, czyli 16 dni.
Zresztą,
rav3n_pl pisze:To jest w kodzie. Zmiana następuje co 2 tygodnie, chyba że 2016 bloków padnie wcześniej.
skoro twierdzisz, że zmiana następuje co 14 dni, chyba, że 2016 bloków padnie wcześniej, to pewnie bez problemu wskażesz nam blok o numerze nie będącym całkowitą wielokrotnością 2016, a w którym jest inna trudność niż w poprzednim bloku?

Jeśli dobrze pamiętam, właśnie na tym forum czytałem o problemach namecoina, gdy w czasie niskiej trudności rzuciło się wielu kopaczy na NMC, znacznie zwiększając trudność i uciekając. Później długo zajęło pozostałym powrót do normalnej trudności.

Admin
Awatar użytkownika
Posty: 10340
Rejestracja: 13 sierpnia 2011
Reputacja: 5211
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Wielki stop

Postautor: Bitmar » poniedziałek, 4 marca 2013, 16:53

Jak do tej pory zawsze i bez wyjątku trudność zmieniała się co 2016 bloków nawet jak to trwało dłużej niż 2 tygodnie. Mit o 2 tygodniach obalony.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14458
Rejestracja: 16 kwietnia 2012
Reputacja: 2683
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Wielki stop

Postautor: rav3n_pl » poniedziałek, 4 marca 2013, 17:22

Hmm... dziwne... aż pogadam na czacie wieczorem.
To w sumie spore zagrożenie dla sieci jak nagle spadnie spora ilość mocy (w znaczeniu że niewiele jej zostanie).
Pokopię w kodzie jeszcze, bo może to bug jakiś? Czy takie jest założenie? Hmm...
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonik z talii kart
Bitcoin Core 0.29
Linki do YT, TT, LI i reszty

Weteran
Awatar użytkownika
Posty: 1497
Rejestracja: 7 czerwca 2011
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Wielki stop

Postautor: Przemo » poniedziałek, 4 marca 2013, 17:31

No jest to spory problem, z założenia BTC jest formą płatności, czyli taką na której mozna by polegać, skoro wiem, że po +/- 60 minutach mam 6 potwierdzeń to chciałbym aby nie było sytuacji, że po 6 godzinach mam jedno potwierdzenie a to jest mozliwe jak z jakis powodów moc obliczeniowa spadnie.

Wróć do „Przedszkole”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 19 gości