BitcoinCore
| BitcoinCore | ||
|---|---|---|
|
| ||
|
| ||
| Obecná informace | ||
| typ programu | svobodný software | |
| vývojář |
| |
| První vydání | 2009 | |
| Licence | licence MIT | |
| Technické informace | ||
| Naplánováno v | ||
| Podporované platformy | ||
| Verze | ||
| Nejnovější stabilní verze | 23.025. dubna 2022 | |
| Odkazy | ||
Bitcoin Core (ve španělštině nucleo de Bitcoin ) je open source projekt , referenční implementace pro bitcoinové (BTC) uzly a peněženka schopná autonomně ověřovat platby v bitcoinech. Také známý jako satoshi klient , je přímým pokračováním původního bitcoinového klienta vydaného Satoshi Nakamotem (později přejmenovaného na „Bitcoin Core“). [ 1 ]
Byl to nejpoužívanější klient „plnými uzly“ v celé historii bitcoinové sítě. [ 2 ] Přijímá příspěvky od příležitostných přispěvatelů a je spravován týmem vývojářů zvaným "správci" s Wladimirem J. van der Laanem , který vede proces vydání. [ 3 ] Některé z jeho vývoje byly financovány iniciativou MIT Digital Currency Initiative . [ 4 ]
Projekt také spravuje související software, jako je krypto knihovna libsecp256k1 . [ 5 ]
Funkce
Bitcoin Core klient obsahuje motor pro ověřování transakcí a připojuje se k síti jako úplný uzel. Ve výchozím nastavení obsahuje bitcoinovou peněženku, která vám umožňuje přijímat a odesílat finanční prostředky a generovat QR kódy . [ 5 ]
Ukládá a ověřuje celý protokol transakcí blockchainu , více než 253 gigabajtů k lednu 2019, který si musíte stáhnout k synchronizaci, než budete moci komunikovat se sítí, i když k tomu nepotřebujete celý blockchain, protože je možné jej spustit v režimu prořezávání.
Obsahuje démona pro použití z příkazového řádku a vzdálená volání procedur s názvem bitcoind . Poskytuje také přístup k testnetu , globálnímu sandboxu, který napodobuje bitcoinový mainnet pomocí alternativního blockchainu využívajícího coiny zvané „bitcoin testnet“, které nemají žádnou tržní hodnotu. Prostřednictvím testovacího režimu zvaného Regtest nebo Regression Test Mode je program schopen vytvořit soukromý blockchain podle stejných pravidel jako bitcoinový testnet, čímž se vyhýbá interakci s partnery a náhodnými bloky. [ 6 ] Navíc obsahuje jednoduchý program, který uživatelům umožňuje odesílat RPC příkazy do bitcoindu s názvem bitcoin-cli .
Obsahuje některé pevně zakódované kontrolní body, které zabraňují útokům DDoS proti uzlům, zejména během fáze synchronizace [ 7 ] [ 8 ] a maximální limit velikosti bloku 1 MB, který v roce 2010 přidal Satoshi Nakamoto, který omezuje maximální kapacitu sítě na přibližně tři transakce za sekundu. [ 9 ] Získal vylepšení výkonu a také "de facto" zvýšení velikosti bloku způsobené implementací SegWit . Obsahoval výstražný systém zahrnutý Satoshi Nakamotem jako způsob, jak informovat uživatele o důležitých zprávách souvisejících s bitcoiny, ale tento byl oficiálně odstraněn v listopadu 2016. [ 10 ]
Obsahuje skriptovací jazyk inspirovaný Forth , který dokáže definovat transakce a specifikovat parametry. [ 11 ] ScriptPubKey se často používá k „uzamčení“ transakcí na základě sady budoucích podmínek. ScriptSig se používá ke znalosti těchto podmínek nebo k „odemknutí“ transakce. Operace s daty jsou prováděny různými OP_Codes (ve španělštině operačních kódů ). Používají se dva zásobníky , hlavní a alt . Opakování je zakázáno .
Bitcoin Core používá OpenTimestamps k časovému označení aktualizací Git ve zdrojovém kódu. [ 12 ]
Vývoj
Satoshi Nakamoto, původní tvůrce klienta, uvedl prostřednictvím e-mailu zaslaného na kryptografický mailing list , že nejprve začal psát kód, aby se přesvědčil, že to vyřeší problémy, které se objevily při vývoji jeho systému. Poté bych napsal bitcoinový whitepaper . [ 13 ] Přestože většina účastníků sítě používá Bitcoin Core, vliv jeho vývojářů je omezen dobrovolnou volbou lidí, kterou implementaci protokolu použít. [ 14 ] Od nástupu do úřadu 8. dubna 2014 je vedoucím vývojářem projektu Wladimir J. von der Laan , předchozím vedoucím vývojářem byl Gavin Andresen , ale současnou roli opustil a soustředil se na strategický rozvoj své technologie.
Kód byl původně uložen na Sourceforge , než byl zpřístupněn na GitHubu . [ 15 ] Protože neexistuje žádná formální struktura, vývoj bitcoinového jádra je založen na návrhech na vylepšení bitcoinů, také známých jako BIP, které fungují podobně jako žádost o komentáře . Seznamy adresátů se používají ke kontrole a diskuzi o počátečních vyjádřeních nápadů. [ 16 ] Když se kolem BIP objeví dostatečná podpora, je formalizována vytvořením dokumentu. Toto je standardní postup pro sdílení nápadů a získávání zpětné vazby od komunity ohledně zlepšování bitcoinů a byl zahájen Amir Taaki v roce 2011.
Historie verzí
Verze 0.1 byla vydána 9. ledna 2009 Satoshi Nakamotem s podporou pouze pro Windows . [ 17 ] Toto vydání bylo následováno několika verzemi zaměřenými na opravu některých menších chyb . 16. prosince 2009 byla vydána verze 0.2, která poprvé obsahovala verzi pro Linux a podporovala použití víceprocesorového dolování . Ve verzi 0.3.2 Nakamoto zahrnoval kontrolní body jako bezpečnostní opatření.
Po vydání verze 0.3.9 opustil projekt jeho tvůrce Satoshi Nakamoto a brzy poté se zcela přestal účastnit online fór. Od tohoto okamžiku se vývoje softwaru ujala velká skupina nezávislých vývojářů, kteří jsou označováni jako komunita, z nichž mnozí vnesli nápady, jak protokol vylepšit.
V letech 2011 až 2013 byly prostřednictvím portálu Bitcoin.org vydány nové verze softwaru. [ 18 ] Vývojáři se chtěli odlišit spíše jako tvůrci softwaru než jako zastánci bitcoinu, a tak se nyní zaměřují na portál bitcoincore.org pouze pro software.
Bitcoin-Qt verze 0.5.0 byla vydána 1. listopadu 2011. Představila frontend , který používal sadu nástrojů uživatelského rozhraní Qt. [ 19 ] Software dříve používal Berkeley DB pro správu databáze. Vývojáři přešli na LevelDB při vydání verze 0.8, aby zkrátili dobu synchronizace s blockchainem. [ 20 ] Aktualizace na tuto verzi měla za následek menší fork 11. března 2013, který byl krátce poté vyřešen. Seedování uzlů přes IRC bylo ukončeno ve verzi 0.8.2. S tímto spuštěním byly transakční poplatky, známé také jako přenosové náklady, sníženy z 50 000 satoshi na 10 000 satoshi. [ 21 ]
Od verze 0.9.0 byl software přejmenován na Bitcoin Core. Transakční náklady byly opět desetinásobně sníženy jako prostředek k podpoře mikrotransakcí. I když Bitcoin Core nepoužívá OpenSSL pro síťový provoz, software používal OpenSSL pro vzdálená volání procedur. Byla vydána verze 0.9.1, která odstraňuje zranitelnost sítě Heartbleed . [ 22 ]
Verze 0.10 byla vydána 16. února 2015. [ 23 ] Představila konsensuální knihovnu, která dala programátorům snadný přístup k pravidlům, kterými se řídí konsenzus v síti. Ve verzi 0.11.2 přidali vývojáři novou funkci, která umožnila učinit určité transakce neútratovými až do určitého času v budoucnu. [ 24 ] Bitcoin Core 0.12.1 byl vydán 15. dubna 2016 a umožnil více soft forků současně. [ 25 ] Na Bitcoin Core 0.13.0, který byl vydán 23. srpna 2016 a přinesl více než deset významných změn, pracovalo asi 100 přispěvatelů. [ 26 ]
V červenci 2016 byla aktivována CheckSequenceVerify prostřednictvím soft forku.
V říjnu 2016 Bitcoin Core 0.13.1 představil soft fork Segwit , který měl sloužit jako vylepšení škálování zaměřené na optimalizaci prostoru bloků v bitcoinu bez zvětšení velikosti bloku. [ 27 ] Tato funkce byla původně dokončena v dubnu a 35 vývojářů se zavázalo ji nasadit. [ 28 ] Tato verze představila SegWit s cílem snížit tlak na zvyšování transakčních poplatků a také zvýšit maximální kapacitu sítě pro zpracování transakcí. [ 29 ] Verze 0.13.1 prošla rozsáhlým hledáním a testováním, což vedlo k určitému zpoždění v datu vydání. Kromě toho použití SegWit zabraňuje zneužití různých forem útoků na poddajnost transakcí . [ 30 ] [ 31 ]
Verze 0.16.0, vydaná v únoru 2018, podporuje použití nativního formátu adresy pro SegWit, nazývaného také formát adresy bech32, který původně vyvinuli Peter Wuille a Greg Maxwell. [ 32 ]
V září 2018 vývojář Bitcoin Cash objevil zranitelnost CVE-2018-17144 v softwaru Bitcoin Core, která by mohla útočníkovi umožnit zneužít chybu ve zranitelných uzlech Bitcoin Core a překročit limit emise 21 milionů coinů. [ 33 ]
Viz také
- Dodatek: Návrhy na vylepšení bitcoinů (BIP)
Reference
- ^ „Vydána verze bitcoinového jádra 0.9.0“ . BitcoinCore . 19. března 2014 . Staženo 21. října 2018 .
- ↑ «Globální distribuce bitcoinových uzlů» . bitnodes.earn.com . Staženo 9. září 2018 .
- ↑ "0.13.0 Binary SafetyWarning" . BitcoinCore . Bitcoinový projekt. 17. srpna 2016 . Staženo 21. října 2018 .
- ^ „MIT oznamuje 900 000 USD Bitcoin Developer Fund“ . Inc. _ 29. března 2016 . Staženo 21. října 2018 .
- ↑ a b "O aplikaci" . BitcoinCore . Staženo 21. října 2018 .
- ^ „Příklady pro vývojáře bitcoinů“ . Bitcoin . Staženo 21. října 2018 .
- ^ "checkpoints.cpp" . Zdrojový kód úložiště . GitHub , Inc. Staženo 13. listopadu 2016 .
- ^ "bitcoin/chainparams.cpp" . GitHub . Staženo 21. října 2018 .
- ↑ Mike Orcutt (19. května 2015). „Bitcoin bez vůdce se snaží učinit své nejzásadnější rozhodnutí“ . Staženo 15. listopadu 2016 .
- ^ "Výstražný systém odchodu do důchodu" . Bitcoinový projekt. 1. listopadu 2016 . Staženo 16. listopadu 2016 .
- ↑ Antonopoulos, Andreas (29. května 2013). „Bitcoin je peněžní platforma s mnoha API“ . radar . O'Reilly . Staženo 19. listopadu 2016 .
- ↑ „Bitcoin Core devtools README – Vytváření a ověřování časových razítek sloučení“ . GitHub . Staženo 5. května 2018 .
- ^ „Re: Bitcoin P2P e-hotovostní papír“ . Cryptography Mailing List . Institut Satoshi Nakamoto. 9. října 2016 . Staženo 13. listopadu 2016 .
- ↑ Aaron van Wirdum (7. září 2016). „Primer on bitcoin Governance, aneb proč vývojáři nemají na starosti protokol“ . Společnost BTC Inc. Staženo 13. listopadu 2016 .
- ↑ Daniel Cawrey (29. prosince 2014). „Gregory Maxwell: Jak jsem se dostal od bitcoinového skeptika k hlavnímu vývojáři“ . Staženo 23. prosince 2016 .
- ↑ Bailey Reutzel (14. května 2016). „Bitcoinové jádro se snaží přepracovat, jak upgraduje svůj kód“ . Staženo 7. listopadu 2016 .
- ↑ „Historie kryptoměny, část I: Od počátků bitcoinu po krypto-boom“ . 11. dubna 2015 . Staženo 21. října 2018 .
- ↑ „O bitcoinu.org“ . Bitcoinový projekt . Staženo 14. listopadu 2016 .
- ^ „Vydána verze bitcoin-Qt 0.5.0“ . Bitcoinový projekt. 1. listopadu 2011 . Staženo 13. listopadu 2016 .
- ↑ Vitalik Buterin (13. března 2013). „Bitcoinová síť otřesená Blockchain Fork“ . Společnost BTC Inc. Staženo 7. listopadu 2016 .
- ↑ Danny Bradbury (28. února 2014). „Poplatky za bitcoinové transakce budou desetinásobně sníženy“ . Staženo 22. prosince 2016 .
- ^ Khaosan, Venzen (8. dubna 2014). "OpenSSL Heartbleed Security Bug "Massive " " . Staženo 21. října 2018 .
- ↑ Joon Ian Wong (17. února 2015). „Bitcoin Core 0.10 poskytuje vývojářům zjednodušený přístup k síťovému konsensu“ . Staženo 7. listopadu 2016 .
- ^ „Vydána verze bitcoinového jádra 0.11.2“ . Bitcoinový projekt. 13. listopadu 2015 . Staženo 14. listopadu 2016 .
- ↑ Kyle Torpey (15. dubna 2016). „Vydáno bitcoinové jádro 0.12.1, hlavní krok vpřed pro škálovatelnost“ . NASDAQ.com . Staženo 7. listopadu 2016 .
- ↑ Aaron van Wirdum (22. srpna 2016). "Co je nového v bitcoinovém jádru 0.13.0?" . Společnost BTC Inc. Staženo 7. listopadu 2016 .
- ↑ Joseph Young (18. října 2016). „Připraven, stabilní, rozvětvený: Bitcoinové jádro vydá SegWit v listopadu“ . Staženo 7. listopadu 2016 .
- ↑ Luke Parker (29. října 2016). „Vydáno řešení pro škálování bitcoinů, Segwit“ . Staženo 7. listopadu 2016 .
- ^ "BitcoinCore 0.13.1" . BitcoinCore . Staženo 25. října 2016 .
- ↑ Joseph Young (3. listopadu 2016). „Bitcoinové jádro je nejtalentovanější vývojářský tým, říká VC“ . Staženo 7. listopadu 2016 .
- ^ „Výhody odděleného svědka“ . BitcoinCore . 26. ledna 2016 . Staženo 20. října 2018 .
- ↑ Hertig, Alyssa (20. února 2018). „Nový bitcoinový kód konečně posílí plnou podporu SegWit“ . Staženo 21. října 2018 .
- ^ "CVE-2018-17144 Úplné zveřejnění " . Staženo 23. září 2018 .