Szczególy techniczne dotyczace generowania monet

Początkujący
Posty: 5
Rejestracja: 4 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Szczególy techniczne dotyczace generowania monet

Postautor: mabo87 » sobota, 4 czerwca 2011, 23:32

Na początku chciałem się przywitać jestem nowy na forum, temat bardzo mnie zainteresował, lecz głównie od strony technicznej. Mam zatem kilka pytań:
1.Generowanie monet - dostaje się 50 BTC za rozwiązanie zagadki kryptograficznej - obliczenie funkcji skrótu SHA256, jakie dane otrzymuje miner.
2.Jak przebiega rozwiązywanie tej zagadki? Generuje się hash z jakiś danych i porównuje z tym co dostaliśmy?
3.Jeśli dostajemy ta nagrodę, te 50 BTC to również jest transakcja która musi być zweryfikowana? i jaki mechanizm sieci generuje w takim razie ta transakcje?
4.jak dokładnie wygląda proces przesłania komuś pieniędzy? Wyliczam hash informacji o tym ze 10 BTC staja się własnością posiadacza podanego klucza publicznego a następnie szyfruje to moim kluczem prywatnym? Tę operacje musi potwierdzić siec? W jaki sposób?
5.Trudność - w jaki sposób się zwiększa? Jaki parametr decyduje o tym czy jest to trudna zagadka czy łatwa?

Jeśli ktoś jest w stanie wyjaśnić mi to od strony technicznej będę naprawdę bardzo wdzięczny.

SHV
Gaduła
Awatar użytkownika
Posty: 352
Rejestracja: 16 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: SHV » sobota, 4 czerwca 2011, 23:37

https://en.bitcoin.it/wiki/Category:Technical
https://en.bitcoin.it/wiki/Category:Developer

To powinno rozwiać Twoje wątpliwości jeśli w miarę dobrze znasz angielski.

Początkujący
Posty: 5
Rejestracja: 4 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: mabo87 » sobota, 4 czerwca 2011, 23:41

ślęczę już nad tym pół dnia. Te linki odwiedziłem już dziś, jednak albo mój angielski jest za słaby albo mózg za mały, dlatego napisałem tutaj z nadzieją na bardziej przejrzyste wyjaśnienie zasady funkcjonowania. Próbowałem nawet przeglądnąć kod źródłowy miner, ale nie wiele mi to dało

Rozmowny
Posty: 104
Rejestracja: 24 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: OneOfMany » sobota, 4 czerwca 2011, 23:54

Jeśli próbujesz pojąć całość od strony kryptografii to albo musisz mieć o tym chociaż podstawowe pojęcie albo sobie od razu odpuść. Jeśli chodzi o "ogólne" mechanizmy działania to jest mniej więcej tak jak napisałeś w pytaniach. Ja jak pierwszy raz czytałem o tych wszystkich blokach, hashach, ustalaniu trudności, itp. to miałem mętlik ale z czasem wszystko staje się takie proste :ugeek:

Początkujący
Posty: 5
Rejestracja: 4 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: mabo87 » sobota, 4 czerwca 2011, 23:59

Najbardziej zależy mi na tym co dokładnie robi miner jakie dokładnie dane dostaje i co oblicza to na pewno wiele by mi pomogło.

SHV
Gaduła
Awatar użytkownika
Posty: 352
Rejestracja: 16 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: SHV » niedziela, 5 czerwca 2011, 01:03


Początkujący
Posty: 5
Rejestracja: 4 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: mabo87 » niedziela, 5 czerwca 2011, 01:56

"To, co klient (miner) Bitcoin robi, to bierze tzw. blok transakcji, które miały miejsce od ostatniego "bloku", następnie szuka takiego zestawu liczb, aby suma kontrolna SHA-256 tego bloku odpowiadała danemu kryterium (tzw. target - cel). Ponieważ wyniku SHA-256 nie da się przewidzieć dla danego zestawu danych wejściowych, to trzeba próbować setki miliardów (w rzeczywistości dużo więcej) razy zanim trafi się na ten właściwy."

To również czytałem, blok transakcji, kryterium (tzw. target - cel) tych pojęć nie do końca rozumiem.

Orator
Awatar użytkownika
Posty: 834
Rejestracja: 13 kwietnia 2011
Reputacja: 21
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: Frodo » niedziela, 5 czerwca 2011, 02:19

Myślę że jest podobnie jak w HashCash - należy wygenerować hash o określonej liczbie zer. Zastanawiałem się jak można płynnie ustawiać trudność, bo jeżeli ustawiamy liczbę zer, to trudność może wzrastać tylko jak 1,2,4,8 z dużymi skokami. Ale nie ma się o to co martwić - niekoniecznie trzeba znaleźć liczbę albo mniejszą od 1*2^n lub mniejsza od 0.5*2^n, może być przecież mniejsza od 0.6, 0.7, 0.8, 0.9, czyli możliwe jest płynne ustawianie poziomu trudności.

Rozmowny
Posty: 104
Rejestracja: 24 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: OneOfMany » niedziela, 5 czerwca 2011, 10:19

mabo87 pisze:To również czytałem, blok transakcji, kryterium (tzw. target - cel) tych pojęć nie do końca rozumiem.
Wyjaśnione dokładnie:
https://en.bitcoin.it/wiki/Difficulty
https://en.bitcoin.it/wiki/Target

Początkujący
Posty: 5
Rejestracja: 4 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: mabo87 » niedziela, 5 czerwca 2011, 12:32

zatem, miner bierze blok transakcji oblicza jego skrót, czyli obecny cel (http://blockexplorer.com/q/hextarget) np. 0000000000002694210000000000000000000000000000000000000000000000
następnie próbuje wygenerować takie liczby aby po przeprowadzeniu na nich funkcji skrótu ich hash był mniejszy lub równy obecnemu celowi?

Rozmowny
Posty: 104
Rejestracja: 24 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: OneOfMany » niedziela, 5 czerwca 2011, 14:07

Each block contains all recent transactions, a nonce (random number), and the hash of the previous block. A block is "solved" (published and considered valid by peers) when the SHA-256 hash of the entire block is below the current target. This is very unlikely to occur after being hashed only once, so the nonce must be incremented and the block re-hashed millions of times until it does.
The SHA-256 hash of a block's header must be lower than or equal to the current target for the block to be accepted by the network. The lower the target, the more difficult it is to generate a block
Nic dodać, nic ująć :)

Orator
Awatar użytkownika
Posty: 834
Rejestracja: 13 kwietnia 2011
Reputacja: 21
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Szczególy techniczne dotyczace generowania monet

Postautor: Frodo » niedziela, 5 czerwca 2011, 22:24

mabo87 pisze:zatem, miner bierze blok transakcji oblicza jego skrót, czyli obecny cel (http://blockexplorer.com/q/hextarget) np. 0000000000002694210000000000000000000000000000000000000000000000
następnie próbuje wygenerować takie liczby aby po przeprowadzeniu na nich funkcji skrótu ich hash był mniejszy lub równy obecnemu celowi?
A jak jest wyliczany cel? Czy to skrót bloku? dlaczego tyle zer z obu stron?

Dyskutant
Posty: 152
Rejestracja: 21 maja 2011
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC
Napiwki: 1L7PpjCGBgu6MhPfatAHLJQ2jcwDzjnCTw

Re: Szczególy techniczne dotyczace generowania monet

Postautor: hienas » niedziela, 5 czerwca 2011, 23:34

Właśnie po to jest tyle zer, bo po wykonaniu funkcji skrótu o wiele trudniej jest wygenerować hash zaczynający się od powiedzmy 20 zer, aniżeli taki który zaczyna się od 2-3 zer.

Dlaczego?
Spróbuj pobawić się jakimś programem do obliczania sum kontrolnych plików na twoim dysku. Zauważysz, że większość tych sum kontrolnych (w istocie jest to hash) to zmiksowane przypadkowe cyferki i litery zaczynające się np:
  • 00gvgh37BhjhvbG543bHvVh37BhjhvbG543bHvV652G22Hg....
  • 0000000hf66GLA44edy1A44edy1A44edy10Hhwjb4hFF5v....
Jeśli znajdziesz u siebie plik z sumą kontrolną zaczynającą się np tak:
  • 0000000000000000000000jkJBBB7A44edy1282nnb2gbd....
to będziesz miał ogromne szczęście, bo na drugi taki zapewne szybko nie trafisz!

Na tym polega (chyba) określanie trudności - wystarczy, że sieć uzna ile zer ma być na początku hasha i wszyscy szukają takich danych, które po przetworzeniu dadzą wynik z ustaloną liczbą zer na początku. Niby proste, ale jak widać wymaga to sporej mocy obliczeniowej.

Jeśli ktokolwiek może, proszę o sprostowanie moich wypocin.

PS. Nie wiem jednak w jaki sposób sieć kalkuluje jaki target ustawić? Czy bazuje na sile i mocy całej sieci, porównując czas jaki był potrzebny w poprzednich stopniach trudności?
Poszukiwacz samorodków - dorzuć 0,00...1 Bitcoina na koparkę: 1L7PpjCGBgu6MhPfatAHLJQ2jcwDzjnCTw :)

Wróć do „Ogólnie o miningu”

Kto jest online

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