Skip to content

Instantly share code, notes, and snippets.

@iiic
Created April 26, 2021 13:59
Show Gist options
  • Save iiic/405c943e287edadb5bd43f936ad525dc to your computer and use it in GitHub Desktop.
Save iiic/405c943e287edadb5bd43f936ad525dc to your computer and use it in GitHub Desktop.
scénář pro video
O Bitcoinu, zrovna teď když se během týdne propadl o 15% ? (// údaj od 18.4 do 25.4, ale možná se to ještě chvíli udrží)
##########################################################
(// použité zkratky: BTC pro Bitcoin, HEX pro šestnáctkovou soustavu)
* Varování: tento text může vzbudit touhu vlastnit BTC. *
No přesněji, propadl se kurz BTC ku kurzu Dolaru a ANO, právě teď je ta nejlepší doba si o BTC něco zjistit.
Zájem o BTC podle množství vyhledávání na Google přesně kopíruje jeho kurz ( https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F05p0rrx,%2Fm%2F061s4 ).
Lidi to dělají špatně, nakupují při maximálním růstu ne při pádu, jako je teď. Děláte to špatně!
No a tím bychom ukončili rady k obchodování a teď už jen k tomu zajímavějšímu principům fungování BTC.
Různých kryptoměn je spousta některé se v něčem liší, některé se významně lidí
a naopak některé jsou přesně to samé co BTC, jen přišli později, "hej kupte si nás…".
Pro jednoduchost se ale zaměřme jen na krále kryptoměn BTC, krále podle tržní kapitalizace ( https://coinmarketcap.com/ ).
A tohle je jedna z věcí, které se dají říct z jistotou, víme přesně kolik je BTC a jaký je kurz jednotky BTC.
Popis fungování BTC se také můžete dočíst na stovkách dalších míst, ale jako fanoušci Vědátora, to jistě budete chtít slyšet od Vědátora.
Objevil se v roce 2009 kdy někdo anonymní, respektive vystupující pod pseudonymem Satoshi Nakamoto zveřejnil "whitepaper",
což je textový dokument slovně popisující fungování nové plně decentralizované elektronické měny.
A samozřejmě aby to nebylo jen ve smyslu "Mám úžasný nápad teď kdo mi ho realizuje?" hned představil i proof-of-concept funkční aplikaci.
A byl to úspěch, několik programátorů, geeků, hackerů, nerdů a podobných tvorů (samozřejmě bez urážky,
dneska to mohou být dolaroví multimilionáři, ty urážet nechcete) se toho chytlo, začali to používat, i pomáhat s tvorbou přívětivějších
klientských aplikací, takzvaných peněženek, a těžařských aplikací pomocí kterých dokazovali prací svou účast v BTC síti.
Překvapivě nejde o nic až tak složitého, zvláště když víme že BTC je jen chytře složen z mnoha v té době již známých algoritmů a technologií.
Také se tehdá ozvali lidé s tím že by to dokázali taky. Na to se dá říct asi jen že spousta lidí by dokázalo spoustu věcí,
jen škoda že to tedy nikdy nezkusili. A skutečně když bychom pátrali po původu jednotlivých dílčích technologií největší
novinkou v BTC je hashovací algoritmus sha256 z roku 2001, ale i před ním byly podobné které by šly použít naprosto stejně,
jen tedy bezpečnost by byla horší. Například MD4 z roku 1990. Velmi klíčovou roli hraj také asymetrická kryptografie,
Diffie–Hellmanova výměna klíčů
( https://cs.wikipedia.org/wiki/Diffieho%E2%80%93Hellmanova_v%C3%BDm%C4%9Bna_kl%C3%AD%C4%8D%C5%AF na IT vejšce se o ní zaručeně dozvíte, jinde… nevím).
Tak přímo k věci.
#################
Převody soustav
===============
Matematická operace převody mezi různými číselnými soustavami. Prosím neusněte ještě to bude zajímavé,
ale tohle je nutné vědět. V Digitální technice je jakákoliv informace uchovávána pomocí série jedniček a nul.
Tedy v binární soustavě, číslo v binární soustavě jde přepočítat na nám intuitivní číslo v desítkové soustavě, HEX,
36-kové a vůbec číselné soustavy o libovolném základu. Text, přesto že tedy vzniká jako text a ne se záměrem aby se stal číslem…
se dá převést na číslo, řekněme v desítkové soustavě. Obrázek? No jak je v počítači uložen obrázek? No jako série jedniček a nul…
tedy číslo. Veškerá digitální data se dají převést na číslo v soustavě o libovolném základu.
**Kde jste se s tím setkali?** No na základní škole se to učí v matematice (// co jsem googlil tak to patřilo do osnov, ty už jsou zrušené, ale tak snad se to stále učí)
Asymetrická kryptografie
========================
Pomocí asymetrické kryptografie zajistíte výměnu zprávy věřeným kanálem, tak aby ji ale nikdo nemohl přešít, všichni ji vidí,
ale zašifrovanou číst ji může pouze vlastník soukromého klíče, jehož veřejná část byla použita pro zašifrování zprávy.
Jeden účastník komunikace má tedy 2 klíče soukromý a veřejný, jak takové klíče v praxi vypadají? No delší číslo a kratší číslo.
S klíči se pak právě operuje většinou ve formě textu a tento text vznikl právě převodem soustavy původního binárního čísla.
Už podle názvu se dá odvodit že soukromý klíč člověk nesmí nikdy pustit "z ruky" a komukoliv ho ukázat,
protože není problém ho zkopírovat, není možné aby existoval pouze jeden, může jich být neomezeně a neomezeně lidí pak může
číst zašifrovanou zprávu, což v tomto kontextu znamená nakládat s BTC které připadají na adresu spravovatelnou privátním klíčem.
Troch kostrbaté, já vím ale pokud bych to měl napsat jako posloupnost, tak privátní klíč umožní zkonstruovat veřejný klíč,
kdokoliv kdo má veřejný klíč může vlastníkovi privátního klíče zaslat šifrovanou zprávu. Tu může vidět kdokoliv, ovšem její
šifrovanou formu, původní text může přečíst pouze vlastník privátního klíče.
I autor zašifrované zprávy pokud by zapomněl co napsal… zprávu taktéž nerozšifruje a nepřečte.
**Kde jste se s tím setkali?** V emailové komunikaci, většinou firemní jde o zvýšení bezpečnosti…
O celý proces podepisování i šifrování zprávy si s klidem poradí váš emailový klient, možná ani nevíte že to dělá.
Ale co si budeme povídat firmy šetří a to často právě na úkor bezpečnosti, takže je možné že jste se s tím nesetkali :(
Hashování
=========
Hash, používá se také český výraz "otisk" není typem šifrování, (důležité). Šifrovanou zprávu totiž můžete rozšifrovat,
hashovanou zprávu z jejího hashe už nesestavíte. Jde o destruktivní, ale deterministický proces! Existuje více druhů,
bavme se konkrétně o typu sha256 který je použit v BTC.
K čemu je to tedy dobré? Nejlépe asi představím na vlastnostech sha256. Ke NAPROSTO každému číslu existuje právě 1 hash (číslo)
o délce 256 bitů (tedy vždy stejná posloupnost 256 jedniček nebo nul). V HEX je to číslo 64 znacích,
což už je lépe lidsky uchopitelné. Důsledky zdůrazním, nemusí to být na první poslech zřejmé. Ať už má číslo 1 znak nebo
miliardu znaků v obou případech je výsledkem sha256 … no 256 bitů. 256 bitů to je ale omezený prostor?
Ano, z neomezeného množství čísel vznikne omezené množství čísel. Tedy z více různých základů může vzniknout 1 a ten samý hash.
Vlastně z neomezeného množství čísel vznikne ten 1 samý hash. Logicky tedy nemůžete z hash čísla (těch 256 bitů) získat původní
číslo, už z toho důvodu že původních čísel je neomezeně. I malá změna textu který hashuji způsobí úplně jiný výsledný hash.
Pro příklad, řekněme že mám stažené všechny texty celé wikipedie, ve všech jazycích, jde z nich udělat hash. Každé hashování
stejných vstupů vytvoří stejný výstupní hash.
A teď pro zajímavost změním 1 písmenko v nějakém textu. Původní Wiki a změněná Wiki se tedy lidí o 1 znak,
kdybych měl takovou změnu vyjádřit procentuálně bude to 0.000000000000000000000000000000000001%.
Jak se budou lišit hashe původní Wiki a změněné Wiki?
No totálně, budou ÚPLNĚ JINÉ a z principu fungování hash funkce v nich nemůže být žádná souvislost.
**Kde jste se s tím setkali?** Tady asi nikde, přesto že je digitální svět hashování plný. Například vaše heslo na Youtube,
na straně serveru Youtube musí být, jak jinak by jste se mohli přihlásit, ale přesto tam není, je tam uložený jen jeho otisk.
Když se přihlašujete vytvoří se hash toho co vyplníte do položky "heslo", porovná se s již uloženým hashem a pokud jsou stejné
bylo stejné i heslo a tedy přihlašování může pokračovat. Současně ale nikdo nemůže vzít databázi Youtube a říct jaká mají
uživatelé hesla. Hash, jednosměrná funkce, destruktivní a deterministická a tak…
Nabízí se otázka, když 2 různé hesla mají stejný hash mohu zadat při registraci jedno z nich a při přihlášení to druhé a přihlásí mě to?
ANO, skutečně přihlásí, porvávají se hashe hesel ne hesla samotná. Teď jen mít ty 2 texty jejichž výsledkem je stejný hash sha256,
je to těžké je najít?
Je to hodně těžké, těch 256 bitů, tedy 64 znaků v HEX je dost, pravděpodobnost že 2 čísla budou mít stejný hash je,
konkrétně 4.3 * 10^-60 . Nějaké přirovnání z reálného světa tu nebude ale místo toho třeba tohle:
Současný 1 jádrový procesor 4 GHz by kolizi hledal 9 milionů let. A jak se případně taková kolize hledá?
Těžko, protože není známa souvislost mezi vstupem a výstupem, nemůžete na to mít dost dobře žádný systém.
Můžete hashovat náhodná čísla, můžete jít od 0 do nekonečna a číslo zvyšovat… nic vám úspěch nezaručí a těch případných
9 milionů let nezkrátí.
Hezké pokusy s kolizemi hash funkcí si můžete vyzkoušet na některé ze starších, třeba md5() kde už se dá kolize najít rychle,
v řádu hodin. Pro zajímavost 2 obrázky mají stejný hash https://crypto.stackexchange.com/questions/1434/are-there-two-known-strings-which-have-the-same-md5-hash-value#answer-32492
Hashují se čísla… jak z obrázku udělat číslo? No viz. převody soustav.
P2P síťová komunikace
=====================
Jak spolu po internetu mohou komunikovat jednotlivé stroje bez nějakého centra, co by je propojilo? Není to snadné,
ale není to ani neřešitelné. Nejsložitější je první navázání kontaktu, počítač prostě náhodně "vytáčí" ostatní počítače
a ptá se jich "hej, nechceš obchodovat BTC?", a náhodně nalezené počítače většinou neodpovídají, případně odpoví "NE".
Až konečně jednou počítač narazí na jiný počítač který mu odpoví "ANO, BTC mám rád", a už je vyhráno.
Druhý počítač mu pošle svůj seznam počítačů které už v BTC síti jsou a komunikují spolu.
Nesnaží se navázat komunikaci každý-s-každým, protože to není potřeba, připojeno je spolu vždy jen malé množství počítačů,
každý má třeba 8 dalších spojů na které vidí. A požadavky v síti se pak předávají, když zrovna nekomunikuji já,
tak přenáším komunikaci ostatních a až to budu potřebovat já, ostatní stroje mě stejně tak propojí a přenesou ty informace
které chci sdělit. Seznam strojů se kterými jsem komunikoval, třeba i dávno, je uložený a držený na větším počtu než zmíněných
8 spojení. Právě proto že pokud jsem vypnutý, delší dobu a pak se chci zase připojit do sítě, prvně se zkusím zeptat těch
se kterými jsem již v minulosti komunikoval, třeba budou na příjmu.
**Kde jste se s tím setkali?** No na Torrentech, staré dobré thePirateBay, pirátství a P2P šlo vždy ruku v ruce :)
Gratuluji, teď už znáte všechno co potřebujete k sestrojení BTC!
================================================================
Tedy jestli se vám podařilo udržet pozornost přes ty technické části. Nebude to za domácí úkol, ale rovnou řekněme,
jak to udělal tajemný Satoshi, jeho řešení se jmenuje Blockchin.
Jak to všechno do sebe Satoschi slepil?
=======================================
1. Co kdyby hash nějakého textu byl privátním klíčem pro asymetrickou kryptografii? Šlo by to?
Ano, není problém, text se převede na číslo, z čísla se udělá hash, hash se komprimuje do čitelnější podoby a máme soukromý klíč
ze soukromého klíče se generuje veřejný klíč a z veřejného klíče je BTC adresa. Paráda.
Veřejný klíč sám o sobě není přímo BTC adresa, ale je mechanismus jak z něj tu adresu udělat.
Jde o převod do číselné soustavy o vyšším základu, tak aby byli použity všechny čísla, písmena abecedy a to malé i velké,
ale současně nesmí být 0 a O, které by se mohly plést musí začínat znakem 1 (nebo znakem 3, později znaky bc, …).
Prostě snaha zabránit náhodné chybě při přepisování adresy ručně, pokud uděláte drobnou chybu, adresa nebude platnou
a vaše BTC se nezašlou čistě náhodou jinam.
Stačí vám pak schopnost zapamatovat si libovolný text o libovolné délce a z něj máte přístup k všemu potřebnému a můžete nakládat s BTC.
Toliko k vytvoření adresy, je to proces čistě matematický, k tomuto nepotřebujete internet, nepotřebujete ničí svolení,
jen postupujete podle předem známého postupu založení adresy.
2. Pomocí asymetrické kryptografie nebudu posílat zprávy ale peníze.
Jasné.
3. Ovšem kde se ty peníze, vezmu? Někdo je bude rozdávat?
Ano, ale nebude to člověk, vláda ani firma, peníze rozdává matematika.
Systémem takovým aby náhodně přidělil peníze za jednotku času tomu kdo se stará o bezpečnost BTC.
Detaily zanedlouho.
4. Jak se budou peníze rozdávat, třeba emailem?
Ne ne, žádný email. Tím by vznikla závislost na technologii elektronické pošty. BTC má vlastní síť přes kterou peníze kolují.
A to síť decentralizovanou, bez nějakého serveru kde by se ukládaly přesuny.
P2P účastnící BTC spolu vzájemně komunikují a klasicky si mezi sebou přeposílají informace o převodech kdo, komu a za kolik.
Pak má vlastně každý "seznam" kde je je přiřazené určitě množství BTC k BTC adrese.
Nabízí se otázka to má seznam všech transakcí každý? Asi bych nechtěl aby každý v síti věděl kolik mám BTC.
Napřed ano, databázi všech přesunů BTC má každý jednotlivý účastník. Nově připojení ji dostanou od těch co už v síti jsou.
Ovšem ne, každý v síti BTC nebude vědět kolik já mám peněz, protože není spojitost mezi BTC adresou (veřejným klíčem)
a konkrétní fyzickou osobou. Jasně, můžete napsat tohle je moje adresa a pak to bude každý vědět, ale i z toho se dá dostat
přepošlete si své BTC z jedné adresy na druhou u které už nebude nikdo vědět komu patří.
5. Blockchin
Ono zmíněné rozdávání mincí BTC a "seznam" mincí na té které adrese se spojuje pod názvem Blockchin. Protože ten je složen z bloků
v každém bloku je pak určité množství transakcí (přesunů BTC z adresy na adresu) a na začátku každého bloku vzniknou mince.
Kdo dostane nově vzniklé mince? Ten kdo uzavřel blok, kdo rozhodne jaké transakce budou v bloku? Ten kdo uzavřel blok.
To uzavírání bloků je skutečně klíčová věc. Způsob jak získávat BTC a způsob jak rozhodnout jaké převody se zapíšou do bloku.
Nemůžu tím ty transakce vytvořit, protože nemám příslušné privátní klíče, ale mohu tam zařadit transakce ostatních.
Dělám práci za ně, ale vyplatí se to mě tím že dostanu nové BTC, a poplatky za transakci.
Poplatek za transakci je drobný úplatek tomu kro uzavře blok. Ten jak jsme si řekli si může vybrat transakce které tam dá,
velikost bloku je omezena, tak si vybere si ty které mu nabídnou nejvyšší poplatek, logicky.
Ty transakce s menším poplatkem čekají v řadě a dostanou se třeba do příštího bloku, nebo přespříštího,
prostě až bude konkurence výše transakčního poplatků menší.
Uzavírání bloků je tedy výhodné, jistě by to chtěl dělat každý, ovšem blok může existovat jen jednou za zhruba 10 minut
a v celé síti to uzavření může udělat jen 1 počítač.
6. Uzavírání bloků aneb těžba.
Pro uzavírání bloků se vžil pojem těžba BTC. Co je klíčové vědět, těžby se nemusíte účastnit.
Můžete jen přeposílat transakce a uzavírání bloků necháte na někom jiném,
on něj vám pak přijde informace o novém bloku a tu si uložíte do své lokální účetní knihy
prostě další blok se zápisy jaké nastaly transakce.
Tohle je rozdíl mezi "peněženkou" a "těžařem".
Proč bych neuzavíral, když jsou za to BTC zdarma? Protože tato operace je velmi náročná, a když počítač nepřetržitě provádí
náročné operace, tak… spotřebovává elektrickou energii. Náročnost je dokonce postavena tak
aby náročnost nebyla stejná, náročnost se mění podle výkonu počítačů právě tak aby se udržel plán 1 blok za 10 minut.
Pojďme se na to podívat konkrétně, zjistíte že to není tak složité
7. Obsah jednoho bloku v blockchinu
Každý blok obsahuje:
A) hash předchozího bloku,
B) metadata skládající se z aktuálního času a nějakých dalších drobností.
C) transakce které tam dá ten kdo uzavře blok a tomu je zašlou sítí jednotliví klienti (peněženky)
D) nonce, neboli náhodné číslo
A teď to hlavní. Všechny tyto informace přesně v tomto pořadí se hashují. Jak víme výsledkem hashe je číslo,
které ovšem není možné znát předem, vím ho teprve až udělám hash.
A teď přijde to klíčové… výsledné číslo musí být menší než limit a tím jsem uzavřel blok, dostanu BTC a jsem boháč.
Když je větší než limit, blok jsem neuzavřel. Asi už vám došlo že limit je nastaven proklatě nízko, aby bylo složité se do něj
s mím výsledným hashem vejít.
Co udělat když jsem přes limit?
No změním nonce (jak říkám je to náhodné číslo, může být jakékoliv) a hashuji znovu, a znovu a znovu… tohle je těžba.
Jak změním nonce? Jak se mi chce, můžu začít od 0 a zvyšovat až do nekonečna. Můžu tipovat náhodně, to už je na mě.
Neexistuje žádný "správný" systém typování nonce, je jen tipování.
Jaký je limit? Limit se jednou za čas mění, nastavuje se právě tak aby se našel blok zhruba jednou za 10 minut.
Najde se (vytěží se) nový blok rychleji? Číslo se sníží… těžba je pak složitější.
Najde se (vytěží se) nový blok pomaleji? Číslo se zvýší… těžba je pak jednodušší.
8. Jsem pod limitem, vytěžil jsem blok, měl bych být boháč co teď?
No těžař po uzavření bloku okamžitě dá vědět ostatním v síti (nejen těžařům, ale prostě všem) že našel blok.
Zašle v čitelné formě ty data co dal do bloku a nonce který našel,
ostatní si ověří jestli nekecá tím že jeho data a nonce zahashují a pokud je pod limitem, uznají že našel blok.
K tomuto je důležité vědět že mezi transakcemi je zapsaná i ta pro mě důležitá, tedy ta že moje adresa ke které mám já privátní klíč
dostane nově vzniklé BTC a poplatky za zařazení do bloku.
Tím je zajištěno že můj vytvořený blok s mými transakcemi někdo jiný nevydává za svůj úspěch, že on je ten kdo nalezl nonce.
Protože by nemohl změnit tyto adresy z mých na jeho… výsledek hashe už by neseděl, nebyl pod limitem.
Následně těžba postupuje do dalšího kola. Těžaři se přestanou snažit těžit tento blok a snaží se uzavřít ten co bude následovat.
Stejné hashování jen už jiná vstupní data, všechny 4 části bloku se oproti předchozímu bloku změnily.
Nonce není jeden, je to množina, co když různé počítače uzavřou blok v naprosto stejnou dobu, který se dostane do blockchinu?
Zapíšou se oba a nastala kolize, jenže kolize nemůže v blockchinu pokračovat dlouho, tak jak dále běží hashování rozbíhal by
se blockching na 2, což ovšem nechceme, použije se ta verze která je podpořena vyšším výkonem počítačů
(a jejich štěstím odhadu správného nonce). V průběhu času, jak se informace šíří sítí sčítají se i výkony
a ta verze podpořená vyššími výkony vyhraje. Druhá se prostě zahodí.
A to je takový stručný základ fungování BTC.
============================================
Nooo, je to chytře vymyšlené.
To je složité !!! Vy už jste někdy šifroval?, já ne a začínat s tím nebudu! (// "vy už jste někdy šifroval?" je mezi IT fakt známý meme odtud https://youtu.be/wnR8LNs1S_c?t=40 )
===========================================================================
Všechny tyhle operace dělá samozřejmě počítač, pro uživatele může být BTC zjednodušen podle zvoleného software peněženky až na tu
úroveň že má jen "konečný zůstatek mých BTC", "adresář příjemců" a tlačítko "poslat". Všechny ty věci jako poplatek za transakci,
zabezpečení, komunikaci transakce a prostě všechno už řídí software na pozadí.
Jak nemusíte rozumět mobilnímu telefonu aby jste ho mohli používat nemusíte pro používání rozumět ani BTC. Ale vy chcete, že ano :)
Stejně tak nemusíte rozumět dílčím součástem bitcoinu, jako je třeba sha256, ale pokud chcete postup na internetu skutečně naleznete.
Vaše porozumění může jít klidně až tak daleko že pro používání BTC nebudete potřebovat počítač
Skutečně, všechno to jsou matematické operace a pokud vám matematika šla máte papír tužku a hodiny můžete BTC těžit, posílat, přijímat
všechno bez počítače. Viz ukázka jednoho kola sha256 ve videu ( https://www.youtube.com/watch?v=y3dqhixzGVo ).
Samozřejmě neporazíte výkonné počítače které dnes valí rychlostí až 3 miliardy cyklů hash za sekundu,
a těch můžete míst samozřejmě více ( zdroj: https://www.antminerdistribution.com/antminer-e9/ )
s papírem a tužkou by člověku jeden cyklus hash zabral hodiny.
Jak se bude v budoucnu vyvíjet kurz BTC?
========================================
Stejně jako jiné věci v reálném světě se buď zlepší, nebo zůstane stejný, nebo se zhorší. To je možné říct s jistotou.
---- konec ----
WOW moment: (// ale je to dlouhý, tak už asi nic :( )
===========
Představme si hypotetickou zprávu "Jmenuji se XYZ, rodní číslo: XXX, email: XXX, telefon: XXX, a já jsem Satoshi Nakamoto"
z takové zprávy, jako z čehokoliv jiného, vznikne hashováním privátní klíč, z toho veřejný klíč.
Co kdyby to byl privátní klíč k adrese na které má Satoschi milion BTC ? Lepší důkaz toho kdo to je si nedovedu představit.
Tohle je jen hypotéza nevychází z ničeho jiného než z toho že je to možné. Ovšem ukazuje jak můžete uložit otisk libovolné
informace do blockchinu. Uvidí to všichni, budou to mít u sebe všichni, ale nikdy nebudou vědět co bylo vstupním zdrojem
pro váš otisk… dokud jim to nesdělíte. Čas je součástí každého bloku takže bude jasné kdy jste to věděli dříve než ostatní.
Co se nevešlo… pro lepší technickou přesnost:
=============================================
Online služby mají způsob jak zamezit autorizaci s jiným heslem zadaným při registraci i přihlášením.
I kdyby používali sha256 (používají lepší) na straně serveru se k uživatelem zadanému heslu přidá "salt",
neboli kus textu který uživatel nezná (nemůže znát, děje se to až na serveru) a pokud neznám salt,
nemohu vědět jaké heslo by mělo kolizi s jiným heslem, přidání saltu před hash-ováním změní výsledný hash.
Počítače už svými procesory ani grafickými kartami v současné době uzavírání bloků (těžbu) neprovádí, né že by to nešlo,
pokusit se o to můžete stále, pokusit se o to můžete klidně i na svém mobilním telefonu,
ale cena elektřiny kterou za takové pokusy zaplatíte přesáhne hodnotu takto získaných BTC mnoho set krát.
Výhodnějším způsobem získání BTC je dnes pořízení speciálního zařízení určeného právě a jen na těžbu (ASIC),
nebo nákupem BTC od těch co ty speciální zařízení vlastní a těžbu provádí.
Změna obtížnosti těžby se neprovádí po každém bloku, ale počká na určité (vždy stejné) množství bloků, spočítá se průměr
a až z toho se vyhodnotí jestli se bloky nacházely v průměru rychleji než 10 minut jeden nebo pomaleji.
A nastaví se nový limit, tedy změna obtížnosti těžby.
Co se nevešlo kvůli zjednodušení… ale dokážu na to odpovědět:
=============================================================
Jak je zajištěno aby každý vidět jaké mince se odkud kam přesouvají, ale mohl je přesun mohl iniciovat
jen vlastník privátního klíče k adrese na které BTC jsou.
Co se děje bezprostředně po tom co udělám novou transakci, když ještě není zařazená do bloku, kde tedy je?
Co se stane když nastavím příliš nízký transakční poplatek síti (nebo nastavím nulový, je to možné)
a transakce ne a ne se uskutečnit. Mohu to nějak stornovat a pokusit se znovu s vyšším poplatkem?
Jak zjistím jaký transakční poplatek nastavit aby platba prošla rychle? Jaký nastavit aby prošla pomalu?
Dá se platba v BTC udělat rychleji než 1 blok (jak víme tak je vždy 1 blok za 10 minut) ?
Kdo platí zmíněný transakční poplatek, odesílatel nebo příjemce? (je to odesílatel)
Když je kurz BTC vysoko, jsou vysoko i transakční poplatky? Dají se nějak snížit?
Jak zajistit aby 1 heslo (nebo chcete li vstupní fráze), mohlo sloužit pro přístup k téměř neomezenému počet BTC adres?
Může se úmyslně či nahodile vytvořit 2x stejný privátní klíč a tedy vybrat BTC by mohlo nezávisle na sobě více lidí ?
Double spend… neboli co když má přístup k privátnímu klíči více strojů a pošlou veškeré BTC z nějaké adresy,
ale pokaždé na jinou koncovou adresu. Kam tedy nakonec dorazí, jak se rozhodne?
Mohu s platbou poslat nějaký vzkaz příjemci?
Mohu platbu načasovat? Aby se odeslala až v přesný čas v budoucnu ?
BTC je za mega, dá se dělit a poslat třeba jen polovinu BTC? (jo)
Mohu poslat z jedné adresy mince na více adres? (jo)
Mohu poslat z více vlastních adres peníze na 1 adresu (jo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment