Poniższą prostą technikę, którą nazywam techniką loterii rozwiązań (SLT), można zastosować w połączeniu z innymi technikami (np. Z wieloma problemami POW, techniką wymienioną w odpowiedzi Noah Stephens-Davidowitz itp.), Aby pomóc przekształcić obliczeniowe wyzwania w realny dowód problemów z pracą. SLT pomaga rozwiązać problemy z problemami wydobywania kryptowaluty innymi niż warunki 1-4.
Załóżmy, że jest wyzwaniem obliczeniowym formy „znajdź odpowiednią wartość skrótu k wraz z łańcuchem x takim, że ( k , x ) ∈ D ”.Ckx(k,x)∈D
Problem Konfiguracja: Załóżmy, że D stanowi zestaw, H jest kryptograficznej funkcji kodującej i C pewne stałe. Załóżmy ponadto, że Dane ( k , x ) są informacją, którą łatwo uzyskać po stwierdzeniu, że ( k , x ) ∈ D, ale której nie można uzyskać inaczej.Ψ(C)DHCData(k,x)(k,x)∈D
Problem Cel: znaleźć parę ( k , x ), tak, że K jest odpowiednia mieszania i w której ( k , x ) ∈ D i gdzie H ( k | | x | | danych ( k , x ) ) < C .Ψ(C)(k,x)k(k,x)∈DH(k||x||Data(k,x))<C
Zbadajmy teraz, w jaki sposób problem spełnia wymagania 1-4.Ψ(C)
- Musimy założyć, że jest już zrandomizowany, aby SLT spełniał tę właściwość.C
2-3. zwykle staje się trudniejsze niż C i jest to dobra rzecz. Trudność problemu z korektą pracy musi być dokładnie dostrojona, ale pierwotny problem C może, ale nie musi, mieć trudny do dostrojenia poziom trudności (pamiętaj, że trudność w wydobyciu Bitcoina jest korygowana co dwa tygodnie). Trudność problemu Ψ ( C ) jest równa trudności ze znalezieniem odpowiedniego ( k , x ) ∈ D pomnożonego przez 2 nΨ(C)CCΨ(C)(k,x)∈D . Dlatego, ponieważ stałaCjest dokładnie dostrajana, trudnośćΨ(C)jest również dostrajana precyzyjnie.2nCCΨ(C)
Mimo że problem jest trudniejszy niż pierwotny problem C , prawie cała praca nad rozwiązaniem problemu Ψ ( C ) zostanie poświęcona na po prostu znalezienie pary ( k , x ) z ( k , x ) ∈ D zamiast obliczania skrótów (nie można obliczyć, czy H ( k | | x | | Data ( k , x ) ) < CΨ(C)CΨ(C)(k,x)(k,x)∈DH(k||x||Data(k,x))<Club nie dopóki nie obliczysz i nie możesz obliczyć danych ( k , x ), chyba że zweryfikujesz, że dane ( k , x ) ∈ D ).Data(k,x)Data(k,x)Data(k,x)∈D
Oczywiście fakt, że jest trudniejszy niż C, przedstawia pewne nowe obawy. Przydatnym problemem jest najprawdopodobniej przypadek, w którym chciałoby się przechowywać pary ( k , x ) gdzie ( k , x ) ∈ D w jakiejś bazie danych. Aby jednak otrzymać nagrodę za blok, górnik musi ujawnić tylko parę ( k , x ), gdzie ( k , x ) ∈ D i H ( k | |Ψ(C)C(k,x)(k,x)∈D(k,x)(k,x)∈D zamiast wszystkich par ( k , x ) ∈ D niezależnie od tego, czy H ( k | | x | | Data ( k , x ) ) < C czy nie. Jednym z możliwych rozwiązań tego problemu jest po prostu ujawnienie przez górników wszystkich par ( k , x ) gdzie ( k , x )H(k||x||Data(k,x))<C(k,x)∈DH(k||x||Data(k,x))<C(k,x) z grzeczności. Górnicy będą mieli również możliwość odrzucenia łańcuchy jeśli górnicy nie napisali ich sprawiedliwego podziału par ( k , x ) ∈ D . Być może należy policzyć liczbę par ( k , x ) ∈ D do obliczeń, kto ma również najdłuższy prawidłowy łańcuch. Jeśli większość górników pisać swoje rozwiązania, a następnie proces rozwiązywania * F ( C ) będzie produkować tak wiele rozwiązań, jak proces rozwiązywania C .(k,x)∈D(k,x)∈D(k,x)∈DΨ(C)C
W scenariuszu, w którym górnicy umieszczają wszystkie pary , Ψ ( C ) spełniłyby ducha warunków 2-3.(k,x)∈DΨ(C)
- może, ale nie musi, spełniać warunek 4 w zależności od konkretnego problemu.Ψ(C)4
Other Advantages of this technique:
SLT oferuje inne zalety niż warunki 1-4, które są pożądane lub konieczne w przypadku problemu z próbą pracy.
Poprawa równowagi bezpieczeństwa / wydajności: SLT pomoże w przypadku, gdy może być zbyt łatwy do rozwiązania lub zbyt trudny do zweryfikowania. W ogóle, Ψ ( C ) jest znacznie trudniejsze do rozwiązania niż C , ale Ψ ( C ) jest tak łatwe do sprawdzenia jak C .CΨ(C)CΨ(C)C
Usunięcie zepsutego / niepewnego problemu: SLT można wykorzystać do algorytmicznego usuwania złych problemów z POW w krypto-walucie z zapasowym problemem z POW i wieloma problemami z POW. Załóżmy, że jednostka odnajduje bardzo szybki algorytm rozwiązywania problemu . Wówczas taki problem nie jest już odpowiednim sprawdzianem pracy i powinien zostać usunięty z kryptowaluty. Kryptowaluta musi zatem mieć algorytm, który usuwa C z kryptowaluty, ilekroć ktoś opublikował algorytm, który zbyt szybko rozwiązuje problem C, ale w przeciwnym razie nigdy nie usuwa problemu C. Oto zarys takiego algorytmu usunięciu problemu wykorzystywane w celu usunięcia problemu, który będziemy nazywać Problem A .CCCCA
za. Alice płaci dużą opłatę (opłata pokryje koszty, które górnicy ponoszą za weryfikację algorytmu), a następnie umieszcza algorytm, który nazwiemy Algorytmem K, który łamie Problem do łańcucha bloków. Jeżeli algorytm K opiera się na dużej ilości wstępnie obliczonych danych P C , a następnie stanowisk Alice korzeń Merkle tego wstępnie obliczonych danych P C .APCPC
b. Przypadkowe przypadki problemu A są wytwarzane przez Blockchain. Alicja następnie posty części wstępnej obliczana danych, które są potrzebne dla algorytmu K do pracy poprawnie wraz z ich Merkle oddziału w celu udowodnienia, że dane faktycznie pochodzi od . Jeśli algorytm Alice szybko zasilony wstępnie obliczonymi danymi P C , problem zostanie usunięty, a Alice otrzyma nagrodę za opublikowanie algorytmu, który usuwa problem z łańcucha bloków.PCPC
Ta procedura usuwania problemów jest kosztowna obliczeniowo dla górników i walidatorów. Jednak SLT usuwa większość trudności obliczeniowych tej techniki, dzięki czemu można ją zastosować w razie potrzeby w krypto-walucie (przypadki, w których ta technika jest używana, będą prawdopodobnie dość rzadkie).
Pule wydobywcze są bardziej realne: w kryptowalutach często bardzo trudno jest zdobyć nagrodę blokową. Ponieważ nagrody blokowe są bardzo trudne do zdobycia, górnicy często wydobywają rzeczy zwane pulami wydobywczymi, w których górnicy łączą swoje zasoby w rozwiązywaniu problemu i w których dzielą nagrodę blokową proporcjonalnie do liczby „bliskich braków”, którą znaleźli . Ewentualny problem dla jest to, że może to być trudne do uzyskania jakościową pojęcie tego, co stanowi jako „koło miss” za problem C i algorytm znalezieniem w pobliżu Miss może być różny od algorytmu rozwiązywania C . Ponieważ górnicy z puli będą poszukiwać bliskich nieudanych prób, mogą nie być bardzo skuteczni w rozwiązywaniu problemu C.CCCC(a zatem niewiele osób dołączy do kopalni). Jednak dla istnieje wyraźne pojęcie bliskiego miss, a mianowicie bliskie miss to para ( k , x ), w którejΨ(C)(k,x) ale gdzie H ( k | | x | | Dane ( k , x ) ) ≥ C oraz algorytm znajdowania bliskich braków dla Ψ ( C )(k,x)∈DH(k||x||Data(k,x))≥CΨ(C)będzie taki sam jak algorytm znajdowania rozwiązań dla .Ψ(C)
Bezproblemowość postępu: Mówi się, że problem próby pracy jest wolny od postępu, jeśli ilość czasu potrzebna jednostce lub grupie jednostek na znalezienie następnego bloku w łańcuchu bloków jest zgodna z rozkładem wykładniczym e - λ x, gdzie stała λ jest wprost proporcjonalna do ilości mocy obliczeniowej, że jednostka z wykorzystaniem rozwiązania problemu P . W przypadku problemów związanych z wydobywaniem kryptowalut wymagana jest płynność postępu, aby górnicy mogli otrzymać nagrodę blokową proporcjonalną do ich mocy wydobywczej w celu uzyskania decentralizacji. SLT z pewnością pomaga problemom z kopaniem osiągnąć postęp w chudości.Pe−λxλP