Že se dá vyhrát ledacos, o tom jsem se přesvědčil na nedávné konferenci OpenSource řešení v sítích v Karviné. Hlavní cenou tomboly byla rovná třetina bitcoinu. A při závěrečné losovačce padl los právě na mě. To mě donutilo aspoň na chvíli přestat tuhle alternativní měnu ignorovat.
[caption id=„attachment686“ align=„aligncenter“ width=„300“ caption=„Papírová peněženka na Bitcoiny“][/caption]
Protože jsem se o bitcoin nikdy nijak detailně nezajímal, začal jsem se shánět po nějakém bitcoin klientovi až teď. Předem jsem vyloučil originálního plnohodnotného klienta, nehodlám totiž na disku vést kompletní historii všech bitcoinových transakcí. Rovnou jsem vyloučil všechny klienty, kde privátní klíče drží třetí strana. Také ve mně nebudí důvěru webovské peněženky, kde sice práce s klíčem probíhá teoreticky bezpečně JavaScriptem uvnitř prohlížeče, není ale možné nijak auditovat, že JS kód který prohlížeč vykonává neobsahuje backdoory provozovatele webové služby.
Když jsem si takto pročistil seznam z oficiálních stránek, skončil jsem u klienta jménem Multibit. Ten je napsaný v Javě a funguje celkem dobře. Pokud tedy překousnete, že přestože jde o open source, návod na sestavení ze zdrojových kódů jsem na jeho webových stránkách hledal marně. Místo toho je vám vnucen binární jar instalátor, který prostřednictvím průvodce nainstaluje jiný jar do vašeho domácího adresáře.
Největší šok ale následoval, když jsem chtěl peníze z papírové peněženky převést do jiné peněženky (kdo ví, kolik lidí zná privátní klíč od peněženky, zvlášť, když jsem ho vystavil tady na blogu :) ). Chtěl jsem převést kompletní zůstatek, dostal jsem však jen chybovou zprávu, že v peněžence na takový převod není dostatek prostředků. Autor Multibitu totiž rozhodl, že odstraní možnost uživatele rozhodnout o výši transakčního poplatku a program sám ke každé transakci vloží transakční poplatek ve „spravedlivé výši“.
Je to zajímavý paradox. V běžné české nesvobodné měně má český smrtelník už několik let nabídku bankovních produktů, kde si může posílat peníze mezi účty bez poplatků, maximálně s nějakou FUP. Pak přejdete na svobodnou měnu a svobodný software vás nutí platit minimálně půl milibitcoinu za každou transakci. A komu se to nelíbí, ať si software forkne a upraví.
Vydal jsem se tedy hledat další lehké klienty. A zaujalo mě Electrum, napsané v Pythonu. Má server-klient architekturu, přičemž úplný paranoik si může pustit i vlastní server. Podle mého názoru ale ani v případě použití veřejně dostupných serverů není pro jejich operátory příliš snadné provádět jejich uživatelům něco hodně ošklivého.
Klient má také vestavěný zajímavý způsob generování peněženky. Podobně jako SuperGenPass, program namísto ukládání privátních klíčů k peněženkám pouze ukládá random seed, tedy jediné číslo, ze kterého při případném importu daný generátor vygeneruje stále stejnou sekvenci pseudonáhodných čísel, takže obnoví všechny peněženky (program jich používá asi osm) najednou. Aby bylo uložení seedu snadnější, jsou převedeny na dvanáct anglických slov, která je možno zapsat v libovolném pořadí.
Peněženkou je v bitcoinu myšlena kombinace privátního a veřejného klíče a bývá zvykem s nimi v zájmu lepší anonymity nešetřit. Nevýhodou ale je, že veřejné označení konta tvoří poměrně neosobní alfanumerický řetězec. Chcete-li takové označení konta veřejně šířit, podobně jako já ve sloupci vpravo, může se hodit do něj nějakým způsobem vložit označení příjemce. K tomu slouží program vanitygen. Pracuje tak, že náhodně generuje privátní a veřejné klíče tak dlouho, dokud veřejný klíč neodpovídá zadanému vzoru. Máte-li tedy ohromně výkonný počítač a zároveň ohromné štěstí, můžete pomocí tohoto programu získat privátní klíč k libovolné peněžence. Ve skutečnosti však budete rádi, podaří-li se vám přes noc najít peněženku, jejíž veřejný klíč začíná na pět daných písmen.
$ ./vanitygen 1ahoj Difficulty: 264104224 [1.52 Mkey/s][total 76950406][Prob 25.3%][50% in 1.2min] [1.52 Mkey/s][total 183316512][Prob 50.0%][75% in 2.0min] [1.52 Mkey/s][total 367237696][Prob 75.1%][80% in 38.1s] [1.52 Mkey/s][total 426706256][Prob 80.1%][90% in 2.0min] Pattern: 1ahoj Address: 1ahojDFTAohyjFYYGHYfG94PXXHZxUroG Privkey: 5KKWs5QWX5ZDSqx7vLgnaLvg5BZaPbtUXrtJ1NqYjmhwF3dCQNm
Program během zkoušení ukazuje průběh generování peněženek, včetně výpočtu pravděpodobnosti, že za dobu běhu programu došlo k nalezení peněženky podle zadaného vzoru. I když pravděpodobnost roste směrem ke 100 %, nejde o ukazatel průběhu. Máte-li štěstí, můžete žádanou peněženku najít při 2% pravděpodobnosti, při smůle naopak nemusíte peněženku najít ani při pravděpodobnosti 100 %.
Zbývá vyřešit, co s Bitcoiny dělat. V této oblasti přijímám tipy v komentářích níže. Zatím to vidím tak, že vzhledem k deflační tendenci bitcoinové měny se možná nejvíc vyplatí co nejdéle ji zadržovat :)
Vynuteny transakcny poplatok je dosledkom konania novacikov, ktori o poplatkoch nic nevedia, ale v (nie uplne korektnom) propagacnom platku sa docitali ze niesu potrebne. Potom sa chodili stazovat na fora, ze ich transakcia trvala hodiny, alebo ze neprebehla ani po niekolkych dnoch a nevedia ako ju stornovat.
Nieje to ich chyba, kedze bitcoin sa naozaj casto mylne propaguje ako bez poplatkov. V skutocnosti sa bez poplatku daju odoslat len transakcie s prioritou nad 57 600 000. Pocita sa takto: sum(input_value_in_base_units * input_age)/size_in_bytes . A aj v tom pripade moze trvat dlhsie kym sa najde miner co transakciu zahrnie do bloku.
Momentalne sa pracuje na automatickom pocitani vysky odporucaneho poplatku. Neviem ale ci sa zmeny dostanu do verzie 0.9
Kde ich minut? Najsirsi vyber je asi na bitmit.net. Ak chces elektroniku, tak bitcoinstore.com... je toho fakt vela. Odporucam pozriet zoznam predajcov na bitcoin.it wiki. V cechach sa daju minut v locusworkspace.cz, brmlab.cz, bedsbook.com
Ad vanitygen adresy - je to pekna geekovska featura, ale od pouzivani vanity adres lidi zrazuju, protoze:
a) adresy by se spravne nemely prepouzivat kvuli bezpecnosti a trasovatelnosti. Nebo chcete, aby vas soused vedel o kazde financni transakci, kterou jste kdy provedl?
b) adresa je velmi "lowlevel" konstrukt v bitcoinove siti a bezny smrtelnik by s jednotlivymi privatnimi klici imho nemel vubec manipulovat. Pak se stava, ze si clovek naimportuje klic s nejakym zustatkem, cast penez posle pryc a penezenku smaze (protoze prece ma privatni klic bezpecne ulozeny!) a pak se divi, kam mu vsechny penize zmizely (hint - change address).
Podle me je cesta, kterou se vydalo Electrum jednoznacne nejlepsi a v brzke dobe ho budou nasledovat ostatni klienti (Multibit HD, Armory, Bitcoin-qt). Uzivatel si vygeneruje master seed, ktery nasledne bezpecne ulozi (hint - shamir shared secret, rozdelit castecne klice mezi pribuzne) a ze ktereho mu klient sam generuje prakticky nekonecne mnozstvi klicu tak, ze se o jejich zalohovani a princip fungovani uzivatel vubec nemusi starat.
Taky si myslím. Já jsem tu svou výhru vystopoval, že jí (nejspíše Dalibor Hula) 21.10. dostal jako odměnu z nějakého těžebního poolu a skončil jsem až na peněžence s poměrně bohatou historií, která pravděpodobně slouží přímo nějakému poolu − objevují se tam transakce odnikud s hodnotou cca. 25 BTC, které jsou následně rozdělovány na mnoho malých částek.
[7] Jenze nejde rozpoznat, jestli mince zmenily majitele nebo doslo k preposlani na jinou adresu tehoz majitele. Takze az v budoucnosti z te dalsi adresy dojde k zaplaceni treba za escort (http://www.zdnet.com/the-worlds-first-bitcoin-escort-agency-7000021209/), nelze dokazat, ze to byl vas soused.
Zato pouzivanim jedne (vanity) adresy:
a) Kazdy vi o kazde prichozi transakci
b) Kazdy vidi kazdou odchozi transakci
Dovedu si predstavit, ze se na kazdy reload vygeneruje penezenka. Ale pokud mi kazdy prispevatel posle 0.1BT a ja budu platit za neco 1BT, tak stejne musim slit deset penezenek do jedne a pak provest platbu. Kdyz bude tyhle transakce nekdo sledovat, stejne casem prijde na to, ktere penezenky jsou moje.
>Existuje nějaké řešení, které by třeba pro každý reload webové stránky vygenerovalo novou peněženku ze společného seedu, tak aby každý přispěvatel přispíval do unikátní peněženky?
To by bylo z hlediska databázového imho zbytečné (proč ukládat tolik nevyužitých privátních klíčů).. Úplně stačí vygenerovat novou adresu po každé přijaté platbě.
Dovolím si trochu nesouhlasit se slushem ;).. Vanity adresy jsou naopak velmi vhodné pro komunitní projekty nebo sbírky z toho důvodu, že více přispěvatelů (a možnost si zobrazit historii) může motivovat další dárce ;)..
Jen doplním, že to řešení generování a přidělování adres lightweight pro webové servery (bez bitcoind) je k dispozici skrze API na https://bitcash/gw - modelový příklad zde: https://bitcash.cz/forum/showthread.php?s=&threadid=1115
Co o sobě napsat? Absolvent ČVUT FEL, linuxák, síťař. Mimo to se zajímám o elektrotechniku, elektroniku a speciálně elektrické pohony.
Přečteno 57 271×
Přečteno 15 946×
Přečteno 15 857×
Přečteno 15 156×
Přečteno 13 127×