精通比特幣spv
1. 有沒有幣圈大神在哪裡學習呢 怎麼區分哪些貨幣能做哪些不能做 什麼模式的好呢
怎麼答的都是外匯市場啊,人家明明說的是加密貨幣來著。幣圈的入門以理解數字貨幣的誕生為先,即先認識到數字貨幣的去中心化價值所在,才能對市面上的貨幣做個區分。首先是以技術和理念為先的主流幣種,比如比特幣、以太坊等,其次是從前者誕生出來的各種山寨幣。當然還有些藉助「共振」等新概念獲取關注的CX幣。17年的代幣發行騙局坑了多少人想必你也有所耳聞,所以看模式還得看獨創性和它所解決的問題。如果是程序員,學習的話可以參見《精通比特幣》這類書,如果不是,也可以讀讀入門讀物《區塊鏈十年》,然後加入各個社區社群,那裡一般都有很多資料供小白參考。其次就是交易。國內的話還是主推穩定幣交易和OTC。這方面有個交易所(幣易)正在做活動,可以實際操作體驗一下幣市的操作流程。
2. 《精通比特幣第2版(影印版)》pdf下載在線閱讀全文,求百度網盤雲資源
《精通比特幣 第2版(影印版)》(Andreas M. Antonopoulos)電子書網盤下載免費在線閱讀
鏈接:
書名:精通比特幣 第2版(影印版)
作者:Andreas M. Antonopoulos
豆瓣評分:8.7
出版社:南京東南大學出版社
出版年份:2018-7-1
頁數:369
內容簡介:
Join the technological revolution that's taking the world of finance by storm. Mastering Bitcoin is your guide through the seemingly complex world of bitcoin, providing the knowledge you need to participate in the internet of money. Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this revised and expanded second edition provides essential detail to get you started.
Bitcoin, the first successful decentralized digital currency, is still in its early stages and yet it's already spawned a multi-billion dollar global economy. This economy is open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides the knowledge. You simply supply the passion.
The second edition includes:
A broad introction to bitcoin--ideal for non-technical users, investors, and business executives
An explanation of the technical foundations of bitcoin and cryptographic currencies for developers, engineers, and software and systems architects
Details of the bitcoin decentralized network, peer-to-peer architecture, transaction lifecycle, and security principles
New developments such as Segregated Witness, Payment Channels, and Lightning Network
Improved explanations of keys, addresses and wallets
User stories, analogies, examples, and code snippets illustrating key technical concepts
作者簡介:
Andreas is a passionate technologist, who is well-versed in many technical subjects. He is a serial tech-entrepreneur, having launched businesses in London, New York, and California. He has earned degrees in Computer Science and Data Communications and Distributed Systems from UCL. With experience ranging from hardware and electronics to high level business and financial systems technology consulting and years as CTO/CIO/CSO in many companies — he combines authority and deep knowledge with an ability to make complex subjects easy to understand. More than 200 of his articles on security, cloud computing and data centers have been published in print and syndicated worldwide. His expertise includes Bitcoin, crypto-currencies, Information Security, Cryptography, Cloud Computing, Data Centers, Linux, Open Source and robotics software development. He also has been CISSP certified for 12 years.
As a bitcoin entrepreneur, Andreas has founded three bitcoin businesses and launched several community open-source projects. He often writes articles and blog posts on bitcoin, is a permanent host on Let』s Talk Bitcoin and prolific public speaker at technology events. Andreas serves on the advisory boards of several bitcoin startups.
3. 【區塊鏈】比特幣私鑰、公鑰、簽名
在 了解區塊鏈的基礎名詞概念 提到地址由字元和數字組成,但沒有說明怎樣產生的。銀行卡號由銀行核心系統生成,那比特幣地址是通過什麼生成的呢?看下圖:
對於剛接觸比特幣的小白來說,看到這張圖就蒙圈了,究竟什麼是私鑰、公鑰,為什麼生成個地址要這么麻煩嗎?
現在請大家記住這句話: 私鑰通過橢圓曲線相乘生成公鑰,使用公鑰不能導推出私鑰;公鑰通過哈希函數生成比特幣地址,地址也無法導推出公鑰 。
通過這么復雜演算法才算出地址,那私鑰和公鑰只是為了生成地址嗎?不是的,他們還有其他用途,我們先了解下私鑰和公鑰。
現在已經講解地址、挖礦、工作量證明、算力、區塊、區塊鏈等等的概念,不知大家還有印象嗎?如果忘記請溫習這些概念,因為後續很多地方都會用到這些概念。明天講解下區塊鏈有哪些特點。
參考書籍:《精通比特幣》
區塊鏈知識專題:
比特幣記賬方式(區塊鏈知識2)
了解塊鏈的基礎名詞概念(區塊鏈知識1)
4. 4. 比特幣的密鑰、地址和錢包 - 精通比特幣筆記
比特幣的所有權是通過密鑰、比特幣地址和數字簽名共同確定的。密鑰不存在於比特幣網路中,而是用戶自己保存,或者利用管理私鑰的軟體-錢包來生成及管理。
比特幣的交易必須有有效簽名才會被存儲在區塊中,因此擁有密鑰就擁有對應賬戶中的比特幣。密鑰都是成對出現的,由一個公鑰和一個私鑰組成。公鑰相當於銀行賬號,私鑰就相當於銀行卡密碼。通常情況下密鑰由錢包軟體管理,用戶不直接使用密鑰。
比特幣地址通常是由公鑰計算得來,也可以由比特幣腳本得來。
比特幣私鑰通常是數字,由比特幣系統隨機( 因為演算法的可靠性與隨機性正相關,所以隨機性必須是真隨機,不是偽隨機,因此比特幣系統可以作為隨機源來使用 )生成,然後將私鑰作為輸入,使用橢圓曲線演算法這個單向加密函數生成對應的公鑰,再將公鑰作為輸入,使用單向加密哈希函數生成地址。例如,通過公鑰K得到地址A的計算方式為:
其中SHA256和PIPEMD160被稱為雙哈希或者HASH160,Base58Check是帶有驗證功能的Base58編碼,驗證方式為先計算原始數據(編碼前)的驗證碼,再比較編碼後數據的驗證碼,相同則地址有效,否則無效。而在使用Base58Check編碼前,需要對數據做處理。
處理方式為: 版本前綴 + 雙哈希後的數據 + 校驗碼
其中版本前綴是自定義的,如比特幣私鑰的前綴是0x80,校驗碼是把版本前綴和雙哈希後的數據拼接起來,進行兩次SHA256計算,取前4位元組。得到處理的數據後,再進行Base58編碼,得到最終的結果。
下圖是Base58Check版本前綴和Base58編碼後的結果
密鑰可以採用不同的編碼格式,得到的編碼後結果雖然不同,但密鑰本身沒有任何變化,採用哪種編碼格式,就看情況而論了,最終目的都是方便人們准確無誤的使用和識別密鑰。
下圖是相同私鑰採用不同編碼方式的結果:
公鑰也有很多種格式,不過最重要的是公鑰被分為壓縮格式和非壓縮格式,帶04前綴的公鑰為非壓縮格式的公鑰,而03,02開頭的標識壓縮格式的公鑰。
前面說過,公鑰是橢圓曲線上的一個點,由一對坐標(x, y)表示,再加上前綴,公鑰可以表示為:前綴 x y。
比如一個公鑰的坐標為:
以非壓縮格式為例,公鑰為(略長):
壓縮格式的公鑰可以節省一定的存儲,對於每天成千上萬的比特幣交易記錄來說,這一點點的節省能起到很大效果。
因為橢圓曲線實際上是一個方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公鑰是橢圓曲線上的一個點,那麼公鑰即為方程的一個解,如果公鑰中只保留x,那麼可以通過解方程得到y,而壓縮公鑰格式有兩個前綴是因為對y2開方,會得到正負兩個解,在素數p階的有限域上使用二進制算術計算橢圓曲線的時候,y坐標或奇或偶,所以用02表示y為奇數,03表示y為偶數。
所以壓縮格式的公鑰可以表示為:前綴x
以上述公鑰的坐標為准,y為奇數為例,公鑰K為:
不知道大家發現沒有,這種壓縮方式存在一個問題,即一個私鑰可以得出兩個公鑰,壓縮和非壓縮公鑰,而這兩個公鑰都對應同一個私鑰,都合法,但生成的比特幣地址卻不相同,這就涉及到錢包軟體的實現方式,是使用壓縮公鑰還是非壓縮公鑰,或者二者皆用,這個問題後面來介紹。
比特幣錢包最主要的功能就是替用戶保管比特幣私鑰,比特幣錢包有很多種,比如非確定性(隨機)錢包,確定性(種子)錢包。所謂的非確定性是指錢包運行時會生成足夠的私鑰(比如100個私鑰),每個私鑰僅會使用一次,這樣私鑰管理就很麻煩。確定性錢包擁有一個公共種子,單向離散方程使用種子生成私鑰,種子足夠回收所有私鑰,所以在錢包創建時,簡單備份下,就可以在錢包之間轉移輸入。
這里要特別介紹下助記碼詞彙。助記碼詞彙是英文單詞序列,在BIP0039中提出。這些序列對應著錢包中的種子,種子可以生成隨機數,隨機數生成私鑰,私鑰生成公鑰,便有了你需要的一切。所以單詞的順序就是錢包的備份,通過助記碼詞彙能重建錢包,這比記下一串隨機數要強的多。
BIP0039定義助記碼和種子的創建過程如下:
另外一種重要的錢包叫做HD錢包。HD錢包提供了隨機(不確定性) 鑰匙有兩個主要的優勢。
第一,樹狀結構可以被用來表達額外的組織含義。比如當一個特定分支的子密鑰被用來接收交易收入並且有另一個分支的子密鑰用來負責支付花費。不同分支的密鑰都可以被用在企業環境中,這就可以支配不同的分支部門,子公司,具體功能以及會計類別。
第二,它可以允許讓使用者去建立一個公共密鑰的序列而不需要訪問相對應的私鑰。這可允許HD錢包在不安全的伺服器中使用或者在每筆交易中發行不同的公共鑰匙。公共鑰匙不需要被預先載入或者提前衍生,但是在伺服器中不具有可用來支付的私鑰。
BIP0038提出了一個通用標准,使用一個口令加密私鑰並使用Base58Check對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地保存在備份介質里,安全地在錢包間傳輸,保持密鑰在任何可能被暴露情況下的安全性。這個加密標准使用了AES,這個標准由NIST建立,並廣泛應用於商業和軍事應用的數據加密。
BIP0038加密方案是: 輸入一個比特幣私鑰,通常使用WIF編碼過,base58chek字元串的前綴「5」。此外BIP0038加密方案需要一個長密碼作為口令,通常由多個單詞或一段復雜的數字字母字元串組成。BIP0038加密方案的結果是一個由base58check編碼過的加密私鑰,前綴為6P。如果你看到一個6P開頭的的密鑰,這就意味著該密鑰是被加密過,並需個口令來轉換(解碼) 該密鑰回到可被用在任何錢包WIF格式的私鑰(前綴為5)。許多錢包APP現在能夠識別BIP0038加密過的私鑰,會要求用戶提供口令解碼並導入密鑰。
最通常使用BIP0038加密的密鑰用例是紙錢包一一張紙張上備份私鑰。只要用戶選擇了強口令,使用BIP0038加密的私鑰的紙錢包就無比的安全,這也是一種很棒的比特幣離線存儲方式(也被稱作「冷存儲」)。
P2SH函數最常見的實現時用於多重簽名地址腳本。顧名思義,底層腳本需要多個簽名來證明所有權,然後才能消費資金。這類似在銀行開設一個聯合賬戶。
你可以通過計算,生成特殊的比特幣地址,例如我需要一個Hello開頭的地址,你可以通過腳本來生成這樣一個地址。但是每增加一個字元,計算量會增加58倍,超過7個字元,需要專門的硬體或者礦機來生成,如果是8~10個字元,那麼計算量將無法想像。
5. 交易及記賬(上) | 小白學比特幣之二
在 精讀「Mastering Bitcoin」1 中, 提到比特幣不僅是一個 電子現金 (系統),也是一個公開的賬本,這賬本上記錄了每筆交易的信息。用比特幣交易,其實就跟我們用人民幣或者美元交易買賣東西一樣。作者給比特幣交易行為的定義是:
那麼,在比特幣系統里,是以什麼樣的形式將這些交易記錄下來的呢?
跟傳統記賬一樣,在比特幣系統中也對交易採用復式記賬的方法 (double-entry bookkeeping ledger),直白點翻譯就是雙入口記賬。復式記賬,簡單理解就是以下兩點 [1] :
每一筆交易都要至少在兩個賬戶上進行記錄 ,在會計記賬中有三個基本賬戶也就是資產賬戶、負債賬戶以及所有者權益賬戶,跟會計等式 資產(Assets) = 負債 (Liabiliteis) + 所有者權益 (Equity) 是一一對應的。那麼單獨每個賬戶又是以怎麼樣的方式呈現出來的呢?方法是每個賬戶都需要記錄這個賬戶的debits和credits(見上圖):
說完復式記賬,再回到《Mastering Bitcoin》(精通比特幣) ,在書中,作者給出的記賬例子如下面那張截圖;一筆交易中可以包含多個Input和output。這里的Input和output如何理解呢?
總結一下:
通過作者這句話, 可以看到比特幣系統其實執行的是價值交易。更進一步地,可以理解為價值的輸入和輸出。
上筆交易和下筆交易之間會形成一個「無形的鏈」:
作者用一張圖形象的說明了什麼是「交易鏈」。
對於同一個地址而言,上一筆交易中的output將會作為下一筆交易的輸入,這樣就形成了一個交易鏈。
在上面的交易截圖中,我們可以看到這幾筆交易里有 spent 、 unspent 和 change 。 change 為找零地址,為什麼會有找零地址呢?
比特幣系統中的找零概念和平時用現金交易的找零概念是一樣的,如果你要買一個1塊錢的包子,但是你身上只有一張20塊錢的紙幣,這個時候就需要包子鋪老闆找給你19元零錢。
在比特幣系統中,每一個input就相當於一定面值的紙幣。如果一筆交易中只包含一個Input,為20個BTC,當這個地址向其他地址支付1個BTC時候,就需要對方找還19個BTC。不同的是,比特幣不像紙幣那樣只有幾種面值固定的紙幣,比特幣系統可以隨時創建「新面值」。
出於保護隱私的考慮,找零地址沒必要跟原先的付款地址一樣,通常錢包會生成一個新的找零地址。
在真實應用中,並不會在找零地址旁邊標注 change 的字樣,如下圖顯示(截圖來自blockchain.info上的某筆交易),
比特幣系統可以隨時創建「新面值」來用於找零,而且這「零錢」可以用於下次交易。在每個輸出(output)記錄里,可消費的比特幣數量會被標記成 unspent ,這樣的輸出有一個專門的名字叫做 Unspent Transaction Outputs (UTXO)。可以把unspent的輸出理解為面值不同的、可用於下次消費的紙幣,就好像10元面值紙幣、100元面值紙幣那樣。
[1] Mastering Bitcoin 第二版 https://github.com/bitcoinbook/bitcoinbook
[2] http://learnmeabitcoin.com
6. 如何學習區塊鏈知識
當區塊鏈技術越來越普及的時候,很多人因為對它很陌生,就有了想學習的心理,但是又不知道從何學起。
就象你交完費,剛拜到一武功高強人的手下,
「師傅,我想成為武林高手,該從哪學起?」
你師傅把你往門外一推,「想學打狗棒去找洪七公,想學六脈神劍去找段王爺,想學黯然逍魂掌去找楊過,想學葵花寶典去找東方不敗,想學孤獨九劍去找風清揚........,好走,為師不送了」。
真正是師傅領進門,修行靠各人。
自此,師徒是路人。
如今的我,還默默的千年不語,萬年不叫的潛在這個星球里。
在學習區塊鏈的路上,一定要睜大眼睛,找一個穩妥的區塊鏈教學班。
然後可以進入區塊鏈內容平台,邊踐實邊學習,效果更好!
7. 《精通比特幣》攻讀首篇
幣乎真的是一個好的平台,在這個平台上面還有無限的想像力可以發揮,進入幣圈跌跌撞撞也有一年的時間了,關於區塊鏈的一些基礎概念也都懂一些,但是不深入,很久之前也有一個想法,想好好的讀一讀關於比特幣或者區塊鏈的書籍,特別想讀的是《精通比特幣》,因為這本書被無數大佬,大咖們推薦過,但是害怕這本書太過技術,就一直沒敢行動,這也是給自己找的一個借口吧。
有幸在幣乎看到宰飛同學發起了幣乎讀書營,感覺是一個好的機會,一是可以認識很多朋友,二是也可以逼自己一把,所以義不容辭的加入了。
在《精通比特幣第二版》序言中寫道:送你一把打開區塊鏈世界大門的鑰匙,我知道這是一本好書,要想真的在區塊鏈的世界裡暢游,這本書應該是最適合的了。
這本書一共有12章,可以說把比特幣的前生今世、里里外外都說的十分的透徹了,在開篇之前是術語解釋,個人覺得這是很難啃,而且很難消化的一部分,但是為了能更好的理解區塊鏈世界,我不得不慢慢的細嚼慢咽,因為這是基礎。
第一章介紹了什麼是比特幣,比特幣是構成數字貨幣生態系統基礎的概念和技術的集合。比特幣與傳統的貨幣不同,它完全是虛擬的,但它可以和傳統貨幣一樣解決多重支付的問題,傳統的紙幣的特點是一塊錢只能花在一個地方,不存在多重支付的問題,而比特幣應用加密技術完美的解決了這個問題。
比特幣有四個創新,分別是:1.去中心化的對等網路(比特幣協議);2.公共交易總帳(區塊鏈);3.獨立交易確認和貨幣發行的一套規則(共識規則)4.實現有效的區塊鏈全球去中心化共識的機制(工作量證明演算法)。
比特幣的這四種優勢是所有區塊鏈項目的底層技術,這四種技術優勢的組合,讓無數喜歡區塊鏈的人們做了無數思想實驗,卻不能窮盡。
這本書我還在攻讀中,未來我還會和大家分享更多的關於區塊鏈想法,因為區塊鏈讓我興奮,偉大的變革正在發生,而我不想錯過!!
8. 精通比特幣作者
安德烈亞斯,安東波羅斯(AndreasAntonopoulos)。《精通比特幣》一書的作者,著名比特幣教育家和支持者安德烈亞斯·安東波羅斯(AndreasAntonopoulos),比特幣界最著名和倍受尊敬的人物之一。身為一名迷人的公共演說家、教師和作家,他善於把復雜的問題變得簡單而易於理解。