Trudność wydobywania bitcoinów – co to jest i jak działa?

17 lutego 2021

Zanim nawet zaczniemy rozumieć, co oznacza trudność w wydobywaniu bitcoinów, musimy wiedzieć, jak działa wydobywanie. Omówiliśmy ten temat szczegółowo wcześniej, więc przed przejściem do różnych niuansów trudności przedstawimy tylko mały przegląd. Następnie przyjrzymy się, jak obliczana jest trudność wydobycia i jak zmienia się ona w zależności od potrzeb sieci.

Jak działa wydobycie? Jak długo trwa wydobycie 1 Bitcoina?

Sieć Bitcoin ma kilka wyspecjalizowanych węzłów zwanych „górnikami, które używają specjalistycznego sprzętu do rozwiązywania trudnych kryptograficznie łamigłówek. Jeśli im się powiedzie, otrzymają możliwość pomyślnego dodania bloków do łańcucha bloków BTC. Tak to działa:

  • Górnik odbiera transakcje oczekujące w mempoolu i haszuje je.
  • Dodają losową wartość szesnastkową na początku skrótu i ​​haszują całą wartość.Wartość tego skrótu musi być mniejsza niż określona wartość, nazywana „trudnością.

    Od czego zależy trudność wydobywania bitcoinów? Dlaczego rośnie trudność BTC?

    # 1 Aby zachować integralność sieci

    Poziom trudności wydobycia bitcoinów rośnie lub maleje w zależności od łatwości wydobywania w ramach protokołu. Pamiętaj, że Bitcoin musi mieć stały czas blokowania wynoszący 10 minut. Innymi słowy, nowe BTC można wstrzykiwać do obiegu co 10 minut. Aby upewnić się, że ten czas nie zmieni protokołu Bitcoin:

    • Zwiększa trudność sieci, gdy kopanie staje się łatwiejsze dla górników.
    • Zmniejsz trudność sieci, gdy kopanie stanie się trudniejsze dla górników.Sieć Bitcoin ma uniwersalną trudność blokową. Wszystkie prawidłowe bloki muszą mieć hash poniżej celu. Pule wydobywcze mają również specyficzną dla puli trudność związaną z akcjami, ustalając dolny limit udziałów.

      # 2 Związek z szybkością mieszania

      Jednym z krytycznych wskaźników służących do oceny stanu sieci sprawdzającej działanie jest współczynnik mieszania. Krótko mówiąc, hashrate pokazuje, jak potężni są górnicy w sieci. Im wyższy hashrate sieci bitcoin, tym wyższe ogólne bezpieczeństwo i prędkość. Jednak te sieci muszą kontrolować swoje hashrate, aby zapewnić spójną produkcję bloków. Dlatego też, gdy hashrate staje się wysoki, trudność bitcoinów w końcu również rośnie, co utrudnia górnikom łatwe wydobywanie w sieci.

      Odwrotność jest również prawdziwa.

      Jeśli hashrate Bitcoina spadnie, zmniejszy się również trudność sieci. Hashrate może się zmniejszyć z następujących powodów:

      • Bitcoin ma obecnie duże trudności, dlatego górnicy mają trudności z wydobyciem w systemie.
      • Cena BTC spadła, dlatego wielu górników zrezygnowało z wydobycia.Aby zrozumieć korelację między nimi, przyjrzyjmy się ich wykresom. Najpierw mamy szybkość mieszania.

        Następnie mamy wykres trudności bitcoin:

        Jak widać, istnieje między nimi bardzo ścisła korelacja. Około 26 marca trudność sieci spadła o 16% z 16,55 bln do 13,9 bln. To była największa awaria sieci od początku 2013 roku. Aby zrozumieć, dlaczego tak się stało tym razem, spójrz, jak spadł hashrate tuż przed spadkiem trudności z bitcoinem. Ten spadek nastąpił z powodu krachu cenowego Bitcoina, który zmusił wielu górników do zaprzestania działalności.

        Jak Bitcoin oblicza trudność?

        Trudność sieci Bitcoin zmienia się co 2016 bloków. Wzór używany przez sieć do obliczania trudności wygląda następująco:

        trudność = trudność_1_target / current_target

        W powyższym wzorze:

        • cel to 256-bitowa liczba. Zgodnie z protokołem Bitcoin cele są niestandardowym typem zmiennoprzecinkowym z ograniczoną dokładnością. Klienci Bitcoin szacują trudność na podstawie tego faktu. Ta wartość jest również znana jako bdiff.
        • trudność_1_target może się różnić w zależności od wybranego sposobu mierzenia trudności. Tradycyjnie reprezentuje hash, w którym początkowe 32 bity to zero, a pozostałe to jeden. W rzeczywistości ta wartość jest również znana jako trudność puli lub pdiff.Każdy pojedynczy blok przechowuje spakowaną reprezentację trudności bitcoin w swoich blokach zwanych „bitami. Ten cel zwykle pojawia się jako 0x1b0404cb (przechowywany w kolejności little-endian: cb 04 04 1b).

          Blok oblicza wartość docelową za pomocą wcześniej określonego wzoru. Na przykład. Z upakowanym celem podanym powyżej, tj. 0x1b0404cb. Szesnastkowy cel to:

          0x0404cb * 2 ** (8 * (0x1b – 3)) = 0x00000000000404CB00000000000000000000000000000000000000000000

          Teraz obliczmy bdiff i pdiff.

          Najwyższy możliwy cel (trudność_1_target) jest zdefiniowany jako 0x1d00ffff lub w postaci szesnastkowej:

          0x00ffff * 2 ** (8 * (0x1d – 3)) = 0x00000000FFFF000000000000000000000000000000000000000000000000

          Teraz, gdy znamy tę wartość, możemy użyć jej do obliczenia naszej bdiff za pomocą formuły trudności = trudność_1_target / current_target

          Teraz, jak zdefiniowaliśmy w poprzedniej sekcji, current_target to 0x1b0404cb lub 0x00000000000404CB00000000000000000000000000000000000000000000.

          Aby obliczyć aktualną trudność:

          Stąd bdiff to 16307.420938523983.

          Teraz obliczmy pdiff. Pule wyszukiwania zwykle używają nieciętych celów, co stawia trudność_1_target na poziomie 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.

          Jeśli tak jest, to dla tego samego current_target nasza wartość pdiff będzie wynosić:

          Oto kod programu pobrany z wiki Bitcoin, który opiera się na dziennikach, aby ułatwić obliczanie trudności:

          inline float fast_log (wartość float)

          int * const exp_ptr = reinterpret_cast (& val);

          std : cout Jak ustawić trudność wydobycia?

          Górnicy używają specjalistycznego sprzętu ASIC do wydobywania bitcoinów. Maszyny te są niezwykle szybkie i co sekundę wytwarzają tetrahasy. Niezwykle niepraktyczne byłoby skrupulatne sprawdzanie każdego z nich, czy spełnia on wszystkie niezbędne warunki, czy też nie. Jest to wykładniczo prawdziwe w przypadku pul wydobywczych. Nie mogą co sekundę sprawdzić wszystkich haszów wytwarzanych przez górnika bitcoinów. Z tego powodu pule wydobywcze wykorzystują koncepcję zwaną „czasem udostępniania.

          Wyobraźmy sobie więc, że Twoja pula wydobywcza bitcoinów ma ustawiony czas udostępniania na 5 sekund. Oznacza to, że średnio Twoja pula wydobywcza będzie wymagać od górników przesyłania im udziału co 5 sekund.

          Jak dokładnie to się robi?

          Twoja pula do wydobywania bitcoinów ustawi wartość o nazwie Trudność udostępniania dla każdego górnika. Trudność udziału górnika jest wprost proporcjonalna do jego indywidualnego hashratu. W związku z tym im wyższy hashrate górnika, tym wyższy poziom trudności udostępniania. Chodzi o to, że górnik użyje swojego sprzętu do generowania ton skrótów. W momencie, gdy znajdą hash, który spełnia docelowy poziom trudności udostępniania, wyślą hash do puli.

          Jak nagradzani są górnicy?

          Górnicy w puli są wynagradzani na zasadzie „Pay per share (PPS). W tym systemie górnicy są nagradzani za przekazane udziały. Wartości akcji są całkowicie zależne od tego, jak trudno było odkryć udział.

          Weźmy przykład, aby zobaczyć, jak to działa:

          • Załóżmy, że jesteś górnikiem z indywidualnym hashrate 50 TH / s.
          • Pula wydobywcza, do której dołączyłeś, ustawiła twój poziom trudności udostępniania na 1000000.W momencie, gdy zdobędziesz udziały powyżej 1 000 000, zostaniesz nagrodzony pulą.Pula może zmienić twoją trudność, aby upewnić się, że nie przesyłasz swoich udziałów zbyt szybko.Teraz, jeśli kupisz nowy sprzęt i zwiększysz swój hashrate do 150 TH / s, pula zwiększy twoją trudność do 3 000 000. Będziesz przekazywać akcje w takim samym tempie, w jakim dawałeś je poprzednio. Jednak otrzymasz 3-krotność nagrody, którą otrzymywałeś wcześniej za przesłane akcje.Powodem, dla którego pule zalecają większe trudności dla szybszego sprzętu, jest zmniejszenie obciążenia sieci zarówno w systemie górnika, jak i w puli. Zmniejsza również opóźnienie ponownego uruchomienia sprzętu wydobywczego, gdy przygotowuje się on do następnej jednostki roboczej. Jednocześnie pula musi uważać, aby nie ustawić trudności zbyt wysoko, co spowoduje wiele przestarzałych akcji.

            UWAGA: Cel udziału = 1 / trudność udziału

            Znaczenie trudności w konsensusie Nakamoto

            Aby zrozumieć, jak krytyczna jest trudność dla ekosystemu Bitcoin, musisz wiedzieć, jak działa konsensus Nakamoto. W przypadku sieci rozległej bez scentralizowanej jednostki protokoły konsensusu są jedynym sposobem na utrzymanie jakiejkolwiek formy zarządzania. Tradycyjne algorytmy konsensusu, takie jak Raft, nie są idealne do utrzymywania protokołu kryptoekonomicznego o dużym zasięgu. Właśnie dlatego Satoshi Nakamoto, twórca Bitcoin, wpadł na konsensus Nakamoto. Głównym założeniem konsensusu Nakamoto jest to, że aby uczestniczyć w systemie, trzeba zapłacić cenę. W przypadku proof-of-work (POW), czyli konsensusu Bitcoina, górnicy płacą cenę za „pracę. W tym przypadku praca to ogromna ilość energii obliczeniowej, którą górnik musi wydać, aby wydobyć jeden bitcoin. Tutaj pojawia się trudność. Trudność to wskaźnik, który utrudnia wydobywanie bitcoinów, a ponadtowłaśnie to konsensus Nakamoto wykorzystuje do rozwiązania problemu podwójnych wydatków.

            Co to jest podwójne wydawanie?

            Podwójne wydatki są powodem, dla którego wszystkie próby stworzenia zdecentralizowanej kryptowaluty zakończyły się niepowodzeniem przed Bitcoinem. Mówiąc najprościej, jest to wada, która może pozwolić na wydanie jednego Bitcoina więcej niż raz w tym samym czasie. Nigdy nie napotkaliśmy tego problemu, mając do czynienia z fizyczną gotówką. W końcu, jeśli kupujesz coś z banknotem 10 $, nie możesz jednocześnie kupić czegoś innego z tym samym banknotem, prawda?

            Jednak token cyfrowy zawiera pliki cyfrowe, które można łatwo powielić, co prowadzi do nieuniknionych podwójnych wydatków. Jak możesz sobie wyobrazić, podwójne wydatki mogą mieć kilka niszczycielskich skutków dla gospodarki ekosystemu:

            • Po pierwsze, zwiększa całkowitą podaż monet w ekosystemie, co wymyka się spod kontroli równania podaży i popytu.
            • Po drugie, jeśli ktokolwiek, gdziekolwiek może wydać tę samą monetę bez ograniczeń, zmniejszy to wiarę ludzi w świętość tej waluty.

              Bitcoin wymaga, aby wszystkie transakcje były zawarte w łańcuchu bloków, bezbłędnie. Daje to pewność, że każdy w sieci może prześledzić każdy pojedynczy Bitcoin bezpośrednio do jego źródła. Tak wysoki poziom przejrzystości gwarantuje, że nikt nie będzie w stanie podwoić wydatków bez powiadomienia całej sieci. Pomyślmy jednak o czymś bardziej diabolicznym. Załóżmy, że ktoś decyduje się przejąć blockchain, rozwidlając się i próbując dwukrotnie wydać wszystkie Bitcoiny.

              Co się wtedy stanie?

              Otóż ​​okazuje się, że ze względu na problemy z siecią ilość zasobów i pieniędzy, które atakujący będzie musiał przejąć łańcuch, będzie wykładnicza. W związku z tym po prostu nie opłaca się im działać wbrew interesom systemu. W ten sposób problemy z siecią dają firmie Nakamoto Consensus siłę ognia potrzebną do utrzymania bezpieczeństwa i integralności sieci.

              Wniosek – Trudność wydobywania bitcoinów

              Mamy nadzieję, że ten artykuł był dla Ciebie bardzo wartościowy. Jeśli masz wątpliwości, skontaktuj się z nami w dowolnym momencie.

We use cookies to provide you with the best possible experience. By continuing, we will assume that you agree to our cookie policy