Zróbmy własnego coina (?)

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zróbmy własnego coina (?)

Postautor: Rales » piątek, 22 marca 2013, 10:08

Ściśle mówiąc - Cryptocoina. Z walut BTC pnie się ostro w górę, a inne leżą, jeszcze Litecoin się jakoś trzyma, a wiele walut umarło. W dawnych dobrych czasach można było sobie kupić parę tysięcy BTC a teraz sprzedawać, ale juz to się nie wróci.
Pomyślałem że można by napisać klienta/serwer własnej waluty, najlepiej z czyjąś pomocą kto zna się na tym,
jak to wygląda od środka.
A więc wziąć skądś algorytm liczenia haszy, który byłby przyjazny CPU a nie GPU (a jak z ASIC?)
Dalej - w bitcoinach bloki generowane są co 10 minut, tu można by czterokrotnie zmnieszyć czas to 2.5 minuty,
pytanie - co najbardziej przeszkadza w tym by bloki były generowane błyskawicznie, np co 30 sekund?
W BTC trudność zmienia się co dwa tygodnie, ściśle co (6*24*14)=2016 bloków, co jest jednak niebezpieczne,
gdy najpierw mamy dużą moc a potem małą - trudność będzie zbyt duża, bloki będą znacznie rzadziej niż co 10 minut
i znacznie dłużej niż przez dwa tygodnie. Problem ten miały rozwiązać Solidcoiny.
Nastęny problem to spamowanie masą małych transakcji, oraz złośliwe kopanie samych bloków bez transakcji.
Niektórych cech nie chcę zdradzać, cech, które mają spowodować że będzie istniał obok BTC a nie upadnie bez wieści.
Przypuśćmy że coin zostanie napisany. Jak zabezpieczyć się przed atakiem 51%? Nie będzie problemu, gdy zostanie
opublikowany bez źródeł, ale czy ktoś będzie chciał odpalać execa bez źródeł z niepewnego źródła, który moze
okazać się trojanem? Natomiast udostępnienie ze źródłami spowoduje że ktoś zaraz zmodyfikuje je, podczas gdy działać
będzie na zaledwie kilku komputerach. I wtedy atak 51%. Chyba będzie potrzeba administatora jak Solidcoin,
ale w tym przypadku nie będzie całkiem zdecentralizowany i zmniejszy się do niego zaufanie.

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: Rales » piątek, 22 marca 2013, 10:17

Nie wiem jak z atakiem 51%, może nie liczyć tylko mocy ale ilość IP?

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » piątek, 22 marca 2013, 17:47

Widzę, że postanowiłeś wymyślać koło od nowa w takim razie powodzenia życzę.
Czy naprawdę myślisz, że usunięcie drobnych mankamentu bitcoina w takiej formie jak proponujesz nie było omawiane przez developerów bitcoina? Jeżeli nie myślisz tak to zastanów się dlaczego odrzucili takie pomysły? Bez wnikliwego poznania zasad działania bitcoina sie nie obejdzie a kiedy już go poznasz na tyle to spytaj o to developerów bitcoina czemu tego nie wprowadzą, albo zaproponuj taką modyfikację.

Nowa waluta oparta o ten protokół ma racje bytu tylko kiedy będzie miała jakiś nieco inny cel niż bitcoin, jeżeli będzie konkurencją to jest skazana na porażkę. Tu jest pole do popisu dla wszystkich z wyobraźnią aby się zastanowić do czego można stworzyć taką walutę?

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: Rales » piątek, 22 marca 2013, 19:00

Przemo pisze:Nowa waluta oparta o ten protokół ma racje bytu tylko kiedy będzie miała jakiś nieco inny cel niż bitcoin, jeżeli będzie konkurencją to jest skazana na porażkę. Tu jest pole do popisu dla wszystkich z wyobraźnią aby się zastanowić do czego można stworzyć taką walutę?
Wzorem dla mnie jest Namecoin, który służy nie tylko do kopania i spekulacji ale można coś konkretnego za jego pomocą zrobić. Wygląda że jeszcze prawdziwy czas namecoina nie powstał.
Zastanawiałem się nad walutą, którą można by płacić w sieciach p2p w rodzaju torrent. Działałoby w ten sposób że gdy ktoś rzuca coś na sieć, otrzymywałby zapłatę od wszystkich co ściągają. Każdy mógłby na swoim CPU wykopać trochę środków, zapłacić za plik, a ten kto go wrzuca miałby całkiem duży zysk. Płatność nie powinna byc od gigabajta bo to zachęcało by do dawania zbyt dużych plików.

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

Re: Zróbmy własnego coina (?)

Postautor: Bitmar » piątek, 22 marca 2013, 19:15

Przemo, jest waluta o wiele lepsza niż Bitcoin, dużo szybsza i pozbawiona wielu wad. Nazywa się Litecoin i powinna być wzorem do naśladowania przez developerów BTC, ale już chyba za późno na takie zmiany. Klient Litecoina pobiera u mnie bloki (których zresztą już jest więcej bo 318528) w ciągu 2-3 godzin, a BTC nawet kilka razy tyle. Gdy włączam klienta Litecoina po tygodniu od ostatniego uruchomienia to bloki ściągają się około 1-2 minuty, a bitcoina gdzieś z pół godziny. Potwierdzenia przelewów też idą o niebo szybciej. Bitcoin był pierwszy więc jest najbardziej popularny, ale są waluty bardziej doskonałe niż BTC i z czasem będą powstawać lepsze. Jak Rales chce stworzyć nową niech próbuje ;) Mamy teraz modę na wirtualne waluty nie tylko na bitcoina.

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » piątek, 22 marca 2013, 19:40

Bitmar, ale Litecoin nie działa szybciej bo jest szybszy tylko dlatego, że tam w blokach jest niewiele transakcji i nic nie musi mielić. W bitcoinie jak wyczyścisz sobie bazę to pierwsze dwa lata idą jak burza :) Bo było mało transakcji.
Z kolei szybsze transakcje to częstsze bloki a częstsze bloki to wolniejsze ściąganie.

Subiektywnie można oceniać czy taka czy inna waluta jest lepsza od bitcoina, ale jak się to dokładnie przeanalizuje to się okazuje, że nie jest tak pięknie.

Jest tylko jedna optymalna prędkość zatwierdzania transakcji, obecnie w bitcoinie jest to 10 minut na blok a ten czas najbardziej optymalny w sensie stosunek czasu trwania do obciążenia procesorów do bezpieczeństwa i do aktualnej potrzebnej prędkości jest tylko jeden. Odpowiedz na pytanie jaki to ma być czas? 2 minuty? A może 10 sekund?

Większa częstotliwość bloków powoduje tez inne problemy jak np większa ilość sierot oraz większy wpływ lagów sieci na działanie bitcoina oraz wbrew pozorom wcale nie przyspiesza transakcji :) Bo jak blok jest w 10 razy krótszym czasie to żeby mieć taka samą pewność co do podwójnego wydawania bitcoinów to na potwierdzenie transakcji powinieneś czekać 10 razy dłużej, czyli 40 potwierdzeń a nie 4 jak teraz.
Bo czy jakby blok wpadał co mikrosekundę i ja na karcie 5870 generowałbym blok co sekundę to czy czekałbyś 4 bloki na potwierdzenie? No nie :)

Więc tutaj każda zmienna ma określoną wartość z określonych powodów i wpływa na inne, wyważenie odpowiednio tych parametrów jest trudne to, że ktoś zrobił super zajefajną walutę ignorująć przy tym wiele aspektów bezpieczeństwa to nie znaczy że trzeba z niej korzystać bo jest lepsza. Jest gorsza.

Uwierzcie, że developerzy bitcoina wiedzą co robią i obserwują też rozwój i porażki shitcoinów i wyciągają z tego wnioski. Poza tym są też pod wpływem społeczności, która mówi im co by chciała żeby zrobili i jeżeli będzie jakis dobry pomysł to na pewno go wprowadzą, ale nie w sposób beztroski.

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: Rales » piątek, 22 marca 2013, 19:48

Z jednej strony w Litecoin są szybciej generowane bloki i przez to przesyłanie pieniędzy działa szybciej. Z drugiej strony jeśli idzie o czas ściągania i rozmiar bloków, w Litecoin jest szybciej dlatego że jest mniej transakcji.
Czy jest w ogóle możliwe zrobienie lekkiego klienta, aby każdy nie musiał mieć wszystkich bloków? Jedno rozwiązanie to hipotetyczny "GoogleCoin" - bloki w centralnej bazie, ale uzaleznienie od jednego podmiotu.

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » piątek, 22 marca 2013, 19:53

Wszystko się da zrobić ale kosztem czegoś innego a bezpieczeństwo jest na pierwszym miejscu. A z reguły wszystkie te tuningi shitcoinów polegają na uzyskaniu lepszych parametrów kosztem właśnie bezpieczeństwa.

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

Re: Zróbmy własnego coina (?)

Postautor: powered » piątek, 22 marca 2013, 19:58

Rales pisze:Jedno rozwiązanie to hipotetyczny "GoogleCoin" - bloki w centralnej bazie, ale uzaleznienie od jednego podmiotu.
Abyśmy nigdy nie musieli być skazani na to coś! Nigdy nie wymawiaj tej nazwy bo jeszcze komuś się spodoba ;)

Weteran
Posty: 1684
Rejestracja: 6 czerwca 2012
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Kraków

Re: Zróbmy własnego coina (?)

Postautor: virus » piątek, 22 marca 2013, 20:15

Litecoin idzie szybko bo cala siec ma znacznie mniej danych... za jakies 2-3 lata bedzie tak samo jak z bitcoinem ;)
poza tym scrypt sie liczy szybciej na CPU ... klient bitcoind nie wspiera GPU (jeszcze ;) ).

Co do blokow to ladujesz multibita i masz po problemie... na 3g raz komus pokazywalem ze to nie jest tydzien czasu tylko parenascie minut ;)

Mi sie podoba pomysl Przema ... weryfikacja co 10 sekund... zastanawiam sie nad tym od dluzszego czasu czy to realne...
Brakuje mi waluty p2p ktora moglbym placic w kiosku... Bitcoin odpada, Litecoin odpada... bo ?
bo nikt nie bedzie czekal 4 lub 10 min na potwierdzenie a zrobienie double spend to latwizna :P

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » piątek, 22 marca 2013, 20:29

Jakby zrobić teraz żeby bloki były co minutę i w kiosku czekałbyś np 3 bloki (przy mniejszych kwotach do 1000zł to by w zupełności wystarczyło) to by była straszna rozpierducha w blokach, dużo sierot. Ale na pewno w przyszłości to będzie wprowadzone. Jeżeli nie będzie przeciwwskazań technicznych, a jeżeli będą to na pewno będą tak samo dotyczyć shitcoinów.
Na razie bitcoin jest jeszcze w początkowej fazie rozwoju i nikt nie ma zamiaru robić tak masakrycznie wielkiej ilości bloków, nei ma takiej potrzeby, w kiosku się jeszcze tym nie płaci :)

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

Re: Zróbmy własnego coina (?)

Postautor: Bitmar » piątek, 22 marca 2013, 20:44

Litecoin będzie zawsze 4 razy szybszy niż BTC niezależnie od transakcji ale faktycznie Przemo dobrze mówisz, są plusy i minusy.
Największymi minusami w przypadku BTC jest szybkość i jeszcze większym jest rozmiar bazy http://blockchain.info/pl/charts/blocks ... 0&address=

Jeżeli bitcoin miałby mieć zamiast obecnych (około) 100tys, 1 mln lub 10mln i więcej użytkowników to używanie standardowego klienta było by już hardcorowe i wymagało by osobnego dysku, nie wspominając o czasie ściągania wszystkich bloków. Serwer główny to nie jest dobre rozwiązanie, bardziej może kilkaset-kilka tysięcy serwerów na całym świecie i wynagradzanie tych co je utrzymują tak jak teraz wynagradza się górników. Czyli byłby mining i serwering ;) Z czasem będzie coraz mniej klientów tradycyjnych ze względu na rozmiar bloków więc taki system by się przydał.

Multibit jest ok, ale on korzysta chyba z 1 serwera ??? To by nie było za bardzo bezpieczne.

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

Re: Zróbmy własnego coina (?)

Postautor: pm7 » sobota, 23 marca 2013, 13:33

Jeśli dobrze pamiętam, zakłada się, że minerzy muszą sprawdzać transakcje przed dodaniem ich do bloku, a nie da się tego zrobić nie posiadając całej historii.
Opłaty za trzymanie i udostępnianie innym wszystkich bloków mogłyby być trudne do implementacji i nie są szczególnie użyteczne, jeżeli wszyscy minerzy/kopalnie będą musieli i tak je trzymać.

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » sobota, 23 marca 2013, 15:40

Ja też mogę trzymać do końca świata całą historię prawie nic mnie to nie kosztuje a nie jestem minerem. Dla minerów to żaden problem trzymać historię nawet niech ma 100GB a za parę lat kilka TB przecież na tym się zarabia. Miner musi mieć całą historię aby prawidłowo tworzyć nowe bloki natomiast zwykły klient wysyłający i odbierający kasę nie musi i tak jeżeli stwierdzi, że ktoś próbuje wydać te same coiny to może sobie w nosie pogrzebać bo żeby odrzucić taką transakcję to trzeba znaleźć blok.
Więc według mnie nie ma najmniejszego problemu, żeby zwykły peer ściągał jakąś tylko małą część ostatnich bloków z centralnego serwera a nawet od oszusta :) Co to za różnica? Ważne są tylko kopalnie.

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: Rales » sobota, 23 marca 2013, 18:49

Skąd w bitcoinach wzięło się średnio 10 minut na blok? Litecoin ma 2.5 minuty. Od czego zależy ta wartość?
Co by było gdyby była zerowa - pierwszy kto napotka blok, ma prawo go zrobić?
Może powinna być znacząco większa od czasu propagacji informacji w całym bloku bitcoin?

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

Re: Zróbmy własnego coina (?)

Postautor: pm7 » sobota, 23 marca 2013, 18:56

Nie można zrobić zerowego czasu (ani mniejszego niż kilka sekund). Przyrost danych byłby nie do wytrzymania przez żadne serwery.
10 minut na blok uznano za czas optymalny.
Litecoin kosztem innych rzeczy zmniejszył do 2.5 minuty co wciąż jest w miarę rozsądnym czasem.
Mniejsze oznaczają problemy:
Więcej miejsca na dysku i transferu zajmą dane pomocnicze bloków, niż transakcje.
Więcej bloków orphan (a więc szansa na double-spend, jeżeli ktoś tylko na jedno potwierdzenie czeka).
Więcej energii marnują minerzy (kopią stary blok, dopóki nie dojdzie do nich informacja o nowym).
O czymś zapomniałem?

Początkujący
Posty: 38
Rejestracja: 21 marca 2013
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: Rales » sobota, 23 marca 2013, 19:01

A jak to działa? Mamy np. 7 GB bloków na dysku, ale nie są a pamięci, czy teraz jak przyjdzie transakcja, to mamy odczytywać z dysku całość w celu zobaczenia czy jest poprawna?

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

Re: Zróbmy własnego coina (?)

Postautor: pm7 » sobota, 23 marca 2013, 19:07

Na szczęście chyba nie całość.
Bloki są w jakiś sposób indeksowane przez bazę danych Bitcoina.
Ale tak, musimy posiadać wszystko, bo nie wiemy która część będzie potrzebna.

Dyskutant
Awatar użytkownika
Posty: 295
Rejestracja: 14 lipca 2012
Reputacja: 17
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Zróbmy własnego coina (?)

Postautor: gkucmierz » sobota, 23 marca 2013, 19:41

Rales pisze:A jak to działa? Mamy np. 7 GB bloków na dysku, ale nie są a pamięci, czy teraz jak przyjdzie transakcja, to mamy odczytywać z dysku całość w celu zobaczenia czy jest poprawna?
Tylko ostatni blok. Na wikipedii jest to bardzo dobrze wytłumaczone.
1grzes2zcfyRHcmXDLwnXiEuYBH7eqNVh
BTC Average | Web Tools | Crypto Links

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

Re: Zróbmy własnego coina (?)

Postautor: Przemo » sobota, 23 marca 2013, 21:09

pm7 pisze:O czymś zapomniałem?
Tak, o najważniejszym, mniejszy czas na blok to mniej mocy obliczeniowej do potwierdzenia transakcji i mniejsze bezpieczeństwo. Chyba, że się czeka proporcjonalnie wieksza ilość bloków na potwierdzenie, ale wtedy wychodzi czas oczekiwania taki sam. Pisałem to już wżyej.

Wróć do „Pozostałe”

Kto jest online

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