最近學(xué)習(xí)了幾本區(qū)塊鏈的書,總結(jié)記錄一下自己的理解。
一啼止、基本概念
1赘方,區(qū)塊鏈:一種分布式的數(shù)據(jù)鏈表結(jié)構(gòu),包含區(qū)塊之間的邏輯運(yùn)算腳本(智能合約)。用于記錄節(jié)點(diǎn)之間的交易記錄,是一部巨大的N多節(jié)點(diǎn)共同維護(hù)的交易賬本,實(shí)現(xiàn)網(wǎng)絡(luò)上價(jià)值轉(zhuǎn)移钙皮,不可篡改和刪除,可以用來建立彼此之間的信任。
2短条,哈希加密函數(shù):可以將不等長(zhǎng)的輸入信息映射為等長(zhǎng)的字符串导匣,記住兩個(gè)公式:1),com:= commit( msg, nonce)茸时,將信息(msg)和一個(gè)臨時(shí)隨機(jī)數(shù)(nonce)作為輸入贡定,輸出固定長(zhǎng)度結(jié)果;2)可都,verify( com, msg, nonce)缓待,驗(yàn)證函數(shù)可將某個(gè)函數(shù)輸出(com)、臨時(shí)隨機(jī)數(shù)(nonce)及信息(msg)作為輸入渠牲,如果com== commit( msg, nonce)旋炒,則返回“真”(true);反之則返回“假”(false)签杈。
滿足兩個(gè)特性:1)瘫镇,隱秘性:已知com,沒有可行的方法逆向推導(dǎo)出msg答姥,實(shí)現(xiàn)安全加密功能铣除。2),約束性:沒有可行的辦法找到兩組( msg, nonce) 和( msg’, nonce’)鹦付,msg ≠ msg’通孽,而commit( msg, nonce)== commit( msg’, nonce’)。3)睁壁,我認(rèn)為還應(yīng)該有可重復(fù)性,就是同樣的輸入信息互捌,多次運(yùn)行commit潘明,得到的結(jié)果是唯一的。
3秕噪,數(shù)字簽名:也是兩個(gè)公式
1)钳降,(sk, pk) :=generateKeys( keysize) generateKeys 方法是把keysize 作為輸入,來產(chǎn)生一對(duì)公鑰和私鑰腌巾。私鑰sk 被安全保存遂填,并用來簽名一段消息;公鑰pk 是人人都可以找到的澈蝙,拿到它吓坚,就可以用來驗(yàn)證你的簽名。2)灯荧,sig:= sign( sk, message) 簽名過程是把一段消息和私鑰作為一個(gè)輸入礁击,對(duì)于消息輸出是簽名。3),isValid:= verify( pk, message, sig) 驗(yàn)證過程是通過把一段消息和簽名消息與公鑰作為輸入哆窿,如果返回的結(jié)果是真链烈,證明簽名屬實(shí);如果返回的結(jié)果為假挚躯,證明簽名消息為假强衡。
在這里特別說明的是,數(shù)字貨幣交易所錢包的存錢地址就是公鑰的哈希值码荔,但私鑰是不告訴你的漩勤,因?yàn)榻灰姿珯?quán)代理個(gè)人做交易。在交易所內(nèi)的各種貨幣交易其實(shí)只是在交易所內(nèi)做了記錄目胡,而真正的區(qū)塊鏈上根本沒有體現(xiàn)你的資產(chǎn)锯七,除非你提款到另一錢包,你的數(shù)字貨幣資產(chǎn)才真正落到區(qū)塊鏈上誉己。
每個(gè)交易所和銀行一樣眉尸,你賬面上的錢不提出來就是交易所一個(gè)數(shù)字而已,如果大家都提款那就可能出現(xiàn)擠兌造成銀行破產(chǎn)巨双,曾經(jīng)最大的門頭溝交易所就是這么完蛋的噪猾,造成數(shù)萬比特幣無處可尋。所以筑累,如果你想把資產(chǎn)落到實(shí)處袱蜡,那就定期提出到別的錢包實(shí)現(xiàn)真正交易,當(dāng)然要繳納很少的提款費(fèi)慢宗。
4坪蚁,區(qū)塊:包含區(qū)塊頭(包含指向前一節(jié)點(diǎn)指針)、交易記錄等數(shù)據(jù)镜沽,原始比特幣區(qū)塊大小是1MB敏晤,因交易量太大,比特幣交易確認(rèn)時(shí)間少則10分鐘多則幾十分鐘缅茉。
5嘴脾,交易:區(qū)塊鏈節(jié)點(diǎn)之間資產(chǎn)轉(zhuǎn)移的記錄,每一交易的輸入和輸出量是嚴(yán)格相等的蔬墩,否則就是無效交易译打。
6,節(jié)點(diǎn):區(qū)塊鏈的應(yīng)用端軟件是相互平等的運(yùn)算和處理節(jié)點(diǎn)拇颅,遵循相同的算法(共識(shí))奏司,共同計(jì)算、存儲(chǔ)和維護(hù)這一鏈條樟插。
7结澄,礦工:擁有計(jì)算資源以牟取挖礦獎(jiǎng)勵(lì)的人哥谷,挖礦設(shè)備從個(gè)人普通PC和專用顯卡,到FPGA 麻献,再到ASIC们妥,現(xiàn)在出現(xiàn)了利益互助、風(fēng)險(xiǎn)收益共擔(dān)的保險(xiǎn)組織“礦池”勉吻。其實(shí)普通人已經(jīng)根本沒法玩了监婶,違背了中本聰當(dāng)初的自由平等參與的初心
8,挖礦:以比特幣為例齿桃,挖礦節(jié)點(diǎn)要計(jì)算符合目標(biāo)要求的SHA256哈希值惑惶,誰先獲得誰就可以組裝交易記錄建立新區(qū)塊,如果獲得其它節(jié)點(diǎn)認(rèn)可短纵,就相當(dāng)于挖礦成功带污,獲得獎(jiǎng)勵(lì)(目前是25比特幣/區(qū)塊)。
9香到,分叉:由于種種原因要升級(jí)程序鱼冀,比如比特幣因?yàn)榻灰滋霈F(xiàn)多種升級(jí)優(yōu)化方案悠就,硬分叉不兼容舊版產(chǎn)生的新區(qū)塊千绪,軟分叉可以兼容新舊版區(qū)塊。由此會(huì)造成區(qū)塊鏈條的不同分支并行發(fā)展梗脾,哪個(gè)分支發(fā)展如何依賴跟從的人數(shù)多少荸型。
10,比特幣軟件:最初中本聰炸茧,后來交給幾個(gè)核心開發(fā)人員維護(hù)瑞妇。由于分叉,出現(xiàn)了多個(gè)升級(jí)軟件梭冠。
11辕狰,智能合約:這是以太幣的重要發(fā)明,可以在每個(gè)交易嵌入可編程的程序妈嘹,實(shí)現(xiàn)交易之間自動(dòng)遵從協(xié)議以實(shí)現(xiàn)不同應(yīng)用,比如網(wǎng)購(gòu)绍妨、博彩等润脸。
12,交易所:拿bitfinex為例他去,供大家在網(wǎng)上進(jìn)行數(shù)字貨幣交易和買賣毙驯,實(shí)現(xiàn)各種股票交易所的功能,比如融資灾测、借貸爆价、各種訂單(限價(jià)單、市價(jià)單、止損單铭段、限價(jià)止損單骤宣、移動(dòng)止損單等),還支持遠(yuǎn)程API自動(dòng)操作下單買賣序愚。
二憔披、疑問
1,如何避免同一資產(chǎn)使用兩次爸吮?
任一交易有效的前提是在區(qū)塊鏈上沒有重復(fù)記錄芬膝,如果同一資產(chǎn)交易兩次,不同節(jié)點(diǎn)都會(huì)收到這兩個(gè)交易形娇,但任一節(jié)點(diǎn)只會(huì)驗(yàn)證通過其中一個(gè)有效锰霜,最后進(jìn)入?yún)^(qū)塊時(shí)會(huì)被建立區(qū)塊的節(jié)點(diǎn)丟掉其中一個(gè)。
2桐早,如何避免區(qū)塊挖礦競(jìng)爭(zhēng)癣缅?
當(dāng)兩個(gè)節(jié)點(diǎn)在同一區(qū)塊后同時(shí)挖到新區(qū)塊并掛在該區(qū)塊后,其它節(jié)點(diǎn)首先選擇最長(zhǎng)的鏈條勘畔,長(zhǎng)度相同則會(huì)丟棄一個(gè)所灸。只有進(jìn)入大家都認(rèn)可的最長(zhǎng)區(qū)塊鏈時(shí),該區(qū)塊和挖到該區(qū)塊的節(jié)點(diǎn)才會(huì)被獎(jiǎng)勵(lì)炫七。
三爬立、區(qū)塊鏈技術(shù)應(yīng)用
利用區(qū)塊鏈技術(shù),陌生人之間不需擔(dān)心和投入信任成本万哪,不需依賴中介信用背書侠驯。這種無中心化、點(diǎn)對(duì)點(diǎn)的技術(shù)可以應(yīng)用各行各業(yè)中奕巍。
1吟策,數(shù)字貨幣:如比特幣,2011-2017漲幅2萬倍的止,可以實(shí)現(xiàn)匿名洗錢檩坚、投資、貨幣兌換诅福,上次爆發(fā)的計(jì)算機(jī)勒索病毒就要300美元的比特幣贖金匾委。
2,金融支付:不需要銀行等金融中介氓润,可以實(shí)現(xiàn)自由的點(diǎn)對(duì)點(diǎn)支付赂乐、匯款等操作。
3咖气,電力共享:某戶家庭光伏發(fā)電上傳電網(wǎng)挨措,另一戶可以通過區(qū)塊鏈購(gòu)買挖滤。
4,物聯(lián)網(wǎng):物聯(lián)網(wǎng)是最需要去中心化的交互技術(shù)浅役,區(qū)塊鏈和物聯(lián)網(wǎng)似乎有天然的共生關(guān)系斩松。比如可穿戴醫(yī)療設(shè)備,可以把收集的生理數(shù)據(jù)保存到區(qū)塊鏈上担租,數(shù)據(jù)安全和不可修改砸民,醫(yī)生可以通過授權(quán)訪問相關(guān)數(shù)據(jù)做出遠(yuǎn)程診斷和治療建議。
5奋救,醫(yī)療大數(shù)據(jù):
引用吳軍老師226封信:講到數(shù)據(jù)安全性和隱私岭参,今天大數(shù)據(jù)醫(yī)療之所以難以開展的一個(gè)重要原因,是大家對(duì)隱私問題的擔(dān)心尝艘。比如演侯,如果將我們的病例交給一個(gè)大數(shù)據(jù)公司,那么他們就看到了我們每個(gè)人的健康狀況背亥。簡(jiǎn)單地將我們的姓名和身份證號(hào)隱藏起來秒际,并不能解決問題,因?yàn)楦鶕?jù)大數(shù)據(jù)的多維度特點(diǎn)狡汉,很容易挖掘出這個(gè)人是誰娄徊。對(duì)于一個(gè)實(shí)體是否具有某個(gè)屬性,區(qū)塊鏈可以在不獲得數(shù)據(jù)的情況下盾戴,通過協(xié)議問一下這個(gè)實(shí)體寄锐,你是否具有這個(gè)屬性,或者某個(gè)具體的指標(biāo)數(shù)值是多少尖啡,這個(gè)實(shí)體可以給你一個(gè)回答橄仆,但是你無法知道是誰作出的回答。如果使用區(qū)塊鏈技術(shù)衅斩,大家可以將數(shù)據(jù)放在由區(qū)塊鏈構(gòu)成的超級(jí)計(jì)算機(jī)(其實(shí)是整個(gè)互聯(lián)網(wǎng))中盆顾,數(shù)據(jù)的擁有者真正實(shí)現(xiàn)對(duì)數(shù)據(jù)的所有,其它公司畏梆,無論大小您宪,都是按照協(xié)議使用數(shù)據(jù),這樣一來奠涌,不僅大家有安全感宪巨,而且能做到互聯(lián)網(wǎng)上的公平。
引用吳軍老師226封信:Tom Ding認(rèn)為铣猩,機(jī)器智能可以使得我們社會(huì)的生產(chǎn)力極大地提升揖铜,因此相當(dāng)于生產(chǎn)力茴丰,而區(qū)塊鏈則是在處理經(jīng)濟(jì)活動(dòng)中人和人的關(guān)系达皿,利益分配方式天吓,因此相當(dāng)于生產(chǎn)關(guān)系。生產(chǎn)關(guān)系中三個(gè)基本要素就是生產(chǎn)工具的所有權(quán)峦椰,生產(chǎn)和商業(yè)活動(dòng)中人和人的關(guān)系龄寞,以及分配制度。當(dāng)這三個(gè)都改變時(shí)汤功,生產(chǎn)關(guān)系就變了物邑,因此Tom Ding認(rèn)為,區(qū)塊鏈改變的是生產(chǎn)關(guān)系滔金。
人工智能色解、大數(shù)據(jù)和區(qū)塊鏈將是未來最重要的三大技術(shù),大數(shù)據(jù)是金礦餐茵,人工智能處理大數(shù)據(jù)獲取各種價(jià)值科阎,而區(qū)塊鏈可以實(shí)現(xiàn)安全可靠的價(jià)值轉(zhuǎn)移。但技術(shù)的應(yīng)用是逐漸演變的忿族,區(qū)塊鏈這種分布式去中心化的數(shù)據(jù)庫(kù)需要與現(xiàn)有的數(shù)據(jù)庫(kù)長(zhǎng)期融合應(yīng)用和取長(zhǎng)補(bǔ)短锣笨。