天天看點

北大肖臻《區塊鍊技術與應用》04

11.比特币的一些問題

12.比特币的匿名性

13.比特币引發的思考

11.比特币的一些問題

1.轉賬時接收人不線上怎麼辦?

-知道他的位址就行,離線沒關系。

2.假設某個全節點收到了某個轉賬交易,接受者的收款位址是這個節點從來沒有聽說過的。

-是可能的。建立的時候不需要通知其他人,本地建立公私鑰對就行了。

3.賬戶私鑰丢失了怎麼辦

-沒有辦法,錢永遠取不出來了,加密貨币交易所,不受監管,未必安全。

e.g Mt Gox 交易所機構曾被盜了。破産了。

4.私鑰洩露怎麼辦

-盡快轉到安全賬戶上。

5.轉賬寫錯位址怎麼辦

-涼拌

6.會不會有的礦工偷答案,偷别人送出的nonce,怎麼判斷是哪個礦工最先找到的nonce?

-偷答案需要改目标位址,改位址coinbase tx就變了,導緻markle tree 的哈希改變。nonce和根哈希都在header裡。是以不可能偷答案。

7.怎麼知道交易費該給哪個礦工?

-事先不需要知道哪個礦工會得到這筆交易費。隻要total inputs>total outputs,差額就是交易費。

北大肖臻《區塊鍊技術與應用》04

12.比特币的匿名性

Bitcoin and anonymity,privacy

Pseudonymity假的匿名

可能破壞比特币匿名性

第一個方面,這個人可能生成很多個位址賬戶,但是這些位址賬戶很可能是關聯起來的。

第二個方面,這些位址和你社會中的真實身份産生關聯。eg資金的轉入轉出

中本聰沒有花比特币,到現在都不知道他是誰。匿名性很強。

Silk road 一個非法網站,eBay for illegal drugs,為了逃避法律,就是用的比特币。警察抓的時候搞了十幾萬個比特币。但是他不敢花。

經驗表明,比特币匿名性并不是很好。

Hide your identity from whom?

如何盡量提高匿名性?

應用層和網絡層。

網絡層IP位址。多路徑轉發的方法,Tor,解決網絡層匿名性。中間結點隻知道上一個是誰,不知道源頭是誰。

應用層,把各個不同人的币混在一起。Coin mixing,存在跑路風險。還有不斷提币存币。但是要保證交易所不洩露你的資訊。

零知識證明

零知識證明是指一方(證明者)向另一方(驗證者)證明一個陳述是正确的,而無需透露除該陳述是正确的外的任何資訊。

向你證明我知道私鑰但是我又不能把私鑰告訴你——簽名,你知道公鑰,你驗證一下。這個是不是零知識證明是有争議的,因為我透露了簽名。

零知識證明的數學基礎是同态隐藏

北大肖臻《區塊鍊技術與應用》04

使用者A自己生産序号。銀行記錄這個序号的币是否被花過,防範雙花攻擊。

銀行隻知道我給了你個币,但是是哪一個币我不知道,你再跟别人花的時候,别人無法驗證你這個币是從哪裡來的。盲簽的原理并不複雜,在不知道具體内容的情況下對它簽名。

北大肖臻《區塊鍊技術與應用》04

專門為了匿名性設計的貨币。

交易的時候,零币隻要證明你花的這個币是系統中合法的就行,不用知道具體來源是哪個币。

數學原理很複雜。到現在還不是很主流。

為了加密,付出了代價,性能有損失。對初始化要求高,初始時用的随機元要能銷毀掉,否則存在安全漏洞。需要極強匿名性的使用者不是很多。

這個币在和現實生活中互動的時候還是無法保證匿名性。

北大肖臻《區塊鍊技術與應用》04

13.比特币引發的思考

1.哈希指針

指針當中的位址隻在本地有意義。區塊鍊怎麼傳播的。

-實際上隻有哈希沒有指針。

北大肖臻《區塊鍊技術與應用》04

怎麼找到前一個區塊的内容?

全節點把這些區塊存在一個(key,value)資料庫中,key是區塊的哈希,value是區塊的内容,常用的資料庫levelDB。

2.區塊戀

把私鑰分開儲存。降低賬戶安全性。私鑰長度減小一半,破解難度降低很大很大。

不要截斷私鑰,用多重簽名。Multisig

3.分布式共識

理論上是不可能的。

為什麼比特币系統能夠繞過分布式共識中的那些不可能結論?

嚴格說,比特币沒有取得真正意義上的共識。比如分叉攻擊。

理論和實際有差距。

不要被學術界的思維限制了頭腦

4.比特币的稀缺性

早期都有冷啟動

看看貨币金融學

5.量子計算

不用擔心。

量子計算離使用還很遠。

量子計算首先沖突的是傳統金融業的沖擊。

将來會有量子加密算法。

量子計算機也很難完成公鑰的哈希值逆運算。

雜湊演算法真牛逼!

關于比特币的部分就刷完了,接下來先看一段時間論文,再繼續刷以太坊的。

密碼學越學越有意思,尤其是密碼學應用于加密貨币中,加密貨币又能生錢。太刺激了。一定要好好學。抓住這波制造财富的機會呀!!!

據說央行最近準備發加密貨币了,剛開始一定會有冷啟動期,希望可以挖一點。