初識區(qū)塊鏈


1.1.2 區(qū)塊鏈技術理念

區(qū)塊鏈的技術理念鉴未,其實就是大家共同來參與記賬业汰,通過一種規(guī)則(共識算法)不斷地選出賬務打包者猾封,其他節(jié)點接受驗證蔑鹦,并且每個用戶都有一對密鑰表示自己夺克,通過腳本系統(tǒng)的功能實現(xiàn)在公共網(wǎng)絡中定向發(fā)送有價值的數(shù)據(jù)。

區(qū)塊鏈使用公開密鑰算法來標識用戶身份嚎朽,公開密鑰算法擁有一對密鑰铺纽,是彼此配合使用的,可以相互用來加解密哟忍。其中一個叫私鑰狡门,另外一個叫公鑰陷寝,公鑰可以公開給別人,私鑰鑰自己保管好其馏。在區(qū)塊鏈系統(tǒng)中凤跑,公鑰就是用來用戶身份識別的,一般不會直接使用公鑰叛复,實際處理的時候都會進行轉(zhuǎn)換仔引,比如取得公鑰的最后20個字節(jié)或者經(jīng)過一系列更復雜的轉(zhuǎn)換,最后得到一個稱為“地址”的轉(zhuǎn)換結果褐奥,這個‘地址’就能代表一個用戶咖耘。

密鑰怎么配合工作呢:用公鑰加密的數(shù)據(jù)必須用對應的私鑰來解密,而用私鑰加密(通常稱為“簽名”)的數(shù)據(jù)必須用對應的公鑰來解密撬码。


1.1.3 一般工作流程

1.打包進區(qū)塊 2. 全網(wǎng)廣播 3. 檢查,驗證儿倒,確認 4. 寫入?yún)^(qū)塊

區(qū)塊鏈技術其實就是圍繞如何保持數(shù)據(jù)的一致,如何讓這個公共賬本的數(shù)據(jù)不被篡改來展開的呜笑。


1.2 區(qū)塊鏈技術棧

區(qū)塊鏈系統(tǒng)本質(zhì)行都是在這個經(jīng)典結構紙上直接實現(xiàn)或者擴展實現(xiàn)夫否。

1. 區(qū)塊鏈賬本

比特幣中區(qū)塊鏈數(shù)據(jù)的組成:

區(qū)塊數(shù)據(jù)分為區(qū)塊頭和區(qū)塊體,每個區(qū)塊頭中通過梅克爾根關聯(lián)了區(qū)塊中的眾多交易事務叫胁,而每個區(qū)塊之間通過區(qū)塊頭哈希值(區(qū)塊頭哈希值就是一個區(qū)塊的身份證號)串聯(lián)起來凰慈。

2.共識機制:如何讓每個節(jié)點通過一個規(guī)則將各自的數(shù)據(jù)保持一致是一個很核心的問題,這個問題的解決方案就是制定一套公式算法驼鹅。區(qū)塊鏈中共識算法一般有POW溉瓶,POS,DPOS谤民,PBFT等等。

3.密碼算法

區(qū)塊鏈之間的連接是靠一種叫做哈希值的數(shù)據(jù)來關聯(lián)的疾宏。什么叫哈希值张足?這是通過密碼算法中的哈希算法計算得出的。哈希算法可以通過對一段數(shù)據(jù)計算后得出一段摘要字符串坎藐,這種摘要字符串與原始數(shù)據(jù)是唯一對應的为牍。如果對原始數(shù)據(jù)進行修改,哪怕只是一點點修改岩馍,那么計算出來的哈希值都會發(fā)生完全的改變碉咆。區(qū)塊鏈賬本對每個區(qū)塊都會計算出一個哈希值,稱為區(qū)塊哈希蛀恩,通過區(qū)塊哈希來串聯(lián)區(qū)塊疫铜。

4.腳本系統(tǒng)

區(qū)塊鏈系統(tǒng)依靠腳本系統(tǒng)驅(qū)動著區(qū)塊鏈系統(tǒng)不斷進行著各種數(shù)據(jù)的收發(fā)。所謂腳本双谆,就是指一組程序規(guī)則壳咕。在區(qū)塊鏈系統(tǒng)中席揽,有些系統(tǒng)中的程序規(guī)則是固定的,比如比特幣系統(tǒng)中谓厘,只能進行比特幣的發(fā)送與接收幌羞,這個發(fā)送與接收的過程就是通過實現(xiàn)在比特幣中的一組腳本程序來完成的;而有些系統(tǒng)允許用戶自行編寫一組程序規(guī)則竟稳,編寫好后部署到區(qū)塊鏈賬本中属桦,這樣就可以擴展區(qū)塊鏈系統(tǒng)的功能,比如以太坊就是通過一套可以自定義功能的腳步系統(tǒng)他爸,進而實現(xiàn)了智能合約的功能聂宾。

5. 網(wǎng)絡路由

1.3.2 區(qū)塊鏈分類

1.根據(jù)網(wǎng)絡范圍:可以分為共有鏈、私有鏈讲逛、聯(lián)盟鏈亏吝。

2.根據(jù)部署環(huán)境:主鏈,測試鏈

3.根據(jù)對接類型:單鏈盏混、側鏈蔚鸥、互聯(lián)鏈

單鏈:能夠單獨運行的區(qū)塊鏈系統(tǒng)都可以成為“單鏈”

側鏈:側鏈屬于一種區(qū)塊鏈系統(tǒng)的跨鏈技術。區(qū)塊鏈系統(tǒng)與側鏈系統(tǒng)本身都是一個獨立的鏈系統(tǒng)许赃,兩者之間可以按照一定的協(xié)議進行數(shù)據(jù)互動止喷,通過這種方式,側鏈能起到一個對主鏈功能擴展的作用混聊,很多在主鏈中不方便實現(xiàn)的功能可以實現(xiàn)在側鏈中弹谁,而側鏈再通過與主鏈的數(shù)據(jù)交互增強自己的可靠性。

1.4.2 比特幣核心程序:中本聰客戶端

客戶端邏輯結構:

錢包:主要用于管理用戶的密鑰以及提供轉(zhuǎn)賬操作等功能句喜。

完整區(qū)塊鏈:中本聰客戶端保留了完整的區(qū)塊鏈賬本數(shù)據(jù)预愤,因此能夠獨立自主的校驗所有校驗,而不需借由任何外部的調(diào)用咳胃。當然植康,另外一些節(jié)點只保留了區(qū)塊鏈的一部分(比如區(qū)塊頭),可以通過一種名為“簡易支付驗證”(SPV-simply pay verify)的方式來完成支付驗證,這樣的節(jié)點被稱為“SPV節(jié)點”展懈。

網(wǎng)絡路由:比特幣網(wǎng)絡hi屬于P2P網(wǎng)絡架構销睁,P2P也就是對等的意思。在對等網(wǎng)絡中存崖,每個節(jié)點共同提供網(wǎng)絡服務冻记,不存在任何所謂的中心服務器,因此在對等網(wǎng)絡中網(wǎng)絡架構中是沒有層次的来惧,大家都是平等的冗栗,每個節(jié)點在對外提供服務的同時也在使用網(wǎng)絡中其他節(jié)點所提供的服務。

1.4.3比特幣的發(fā)行:挖礦

挖礦在比特幣系統(tǒng)中的用途:1 搶奪區(qū)塊打包權 2驗證交易實務 3獎勵發(fā)行新幣 4廣播新區(qū)塊

1.難度值:新難度值=當前難度值*(最近的2016個區(qū)塊的實際出塊時間/20 160分鐘)--大約2周調(diào)整一次難度值

2.挖礦計算:

計算公式:SHA256(SHA256(version+pre_hash+merkle_root+ntime+nbits+nonce))<TARGET

ntime:區(qū)塊時間戳?? nbits:當前難度? nonce:隨機數(shù)

挖礦就是重復計算區(qū)塊頭的哈希值,不斷修改該參數(shù)贞瞒,知道與難度目標值匹配的一個過程偶房。

3.區(qū)塊廣播

礦工挖出區(qū)塊后,就進行網(wǎng)絡廣播军浆,傳遞給相鄰節(jié)點棕洋,節(jié)點接收到新的區(qū)塊后會進行一系列的驗證,全部校驗通過就把新的區(qū)塊數(shù)據(jù)納入到自己的區(qū)塊鏈賬本中乒融。如果是挖礦節(jié)點收到信息掰盘,就會立即停止當前的挖礦計算,轉(zhuǎn)而進行下一區(qū)塊的競爭赞季。

4.挖礦方式:CPU/GPU/FPGA/ASIC

1.4.4比特幣錢包:核心錢包與輕錢包

錢包:是屬于比特幣系統(tǒng)中的一個前端工具愧捕,其最基本的功能就是用來管理用戶的比特幣地址、發(fā)起轉(zhuǎn)賬交易申钩、查看交易記錄等次绘。

公開密鑰算法屬于一種不對稱加密算法,擁有兩個密鑰:一個是私鑰撒遣,一個是公鑰邮偎。公鑰可以公開給別人看,私鑰必須要妥善保存义黎,使用私鑰加密(通常習慣上將私鑰加密稱為“私鑰簽名”)的數(shù)據(jù)可以用公鑰解密禾进,而使用公鑰加密的數(shù)據(jù)可以用私鑰解密,兩者是互相匹配的廉涕。目前使用比較廣泛的公開密鑰算法主要有RSA算法和橢圓曲線加密算法(ECC),比特幣使用的是橢圓曲線加密算法泻云。

比特幣地址的生成過程:

對于完整的交易驗證(需要在完整的賬本數(shù)據(jù)上校驗,比如是否包含足夠的余額狐蜕,是否雙花等)可以交給核心節(jié)點宠纯,這樣就可以將錢包功能部分剝離出來,由此產(chǎn)生了SPV錢包层释。即輕錢包征椒,SPV原理的錢包是使用了梅克爾樹來驗證支付是否j已經(jīng)發(fā)生,這也是為什么稱之為簡單支付驗證的原因湃累,支付驗證所做的事情很少,僅僅能看到當前的支付交易是否被發(fā)起而已碍讨,并不能保證這筆交易事務最終會進入到主鏈中治力,也就是說還需要等待核心節(jié)點進行全面的交易驗證并且礦工打包到區(qū)塊后進入主鏈。在這個過程中是有可能發(fā)生失敗的勃黍,所以SPV錢包雖然帶來了便捷性但也犧牲了安全性宵统。

1.4.5比特幣賬戶模型:UTXO(UnspentTransaction Output,未花費事務輸出)

1.比特幣的交易中不是通過賬戶的增減來實現(xiàn)的,而是一筆筆關聯(lián)的輸入/輸出交易事務。

2.每一筆的交易都要花費“輸入”马澈,然后產(chǎn)生“輸出”瓢省,這個產(chǎn)生的“輸出”就是所謂的“未花費的交易輸出”,也就是UTXO.

3.由于沒有賬戶的概念痊班,因此當“輸入”部分的金額大于所需的“輸出”時勤婚,必須給自己找零,這個找零也是作為交易的一部分包含在“輸出”中涤伐。

那么怎么證明哪一條UTXO是屬于誰呢馒胆?

在比特幣中,是使用輸入腳本和輸出腳本程序?qū)崿F(xiàn)的凝果,有時候也稱為“鎖定腳本”和“解鎖腳本”祝迂。簡單地說,就是通過“鎖定腳本”器净,利用私鑰簽名解鎖自己的某一條UTXO(也就是之前的“輸出”)型雳,然后使用對方的公鑰鎖定新的“輸出”,成功后山害,這筆新的“輸出”就成為了對方的UTXO纠俭。

1.5區(qū)塊鏈的技術意義

1.數(shù)據(jù)不可篡改性

2.分布式存儲

3.匿名性

4.價值傳遞

5.自動網(wǎng)絡共識

6.可編程合約

1.6知識點導圖

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市粗恢,隨后出現(xiàn)的幾起案子柑晒,更是在濱河造成了極大的恐慌,老刑警劉巖眷射,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匙赞,死亡現(xiàn)場離奇詭異,居然都是意外死亡妖碉,警方通過查閱死者的電腦和手機涌庭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欧宜,“玉大人坐榆,你說我怎么就攤上這事∪呷祝” “怎么了席镀?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長豪诲。 經(jīng)常有香客問我,道長屎篱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任交播,我火速辦了婚禮,結果婚禮上秦士,老公的妹妹穿的比我還像新娘。我一直安慰自己伍宦,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布次洼。 她就那樣靜靜地躺著,像睡著了一般卖毁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亥啦,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音翔脱,去河邊找鬼。 笑死届吁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的疚沐。 我是一名探鬼主播暂氯,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痴施,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辣吃?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤齿尽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡卡骂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了全跨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡浓若,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挪钓,到底是詐尸還是另有隱情,我是刑警寧澤碌上,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站馏予,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盔性。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一蛹尝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧暂筝,春花似錦、人聲如沸焕襟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至它褪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茫打,已是汗流浹背居触。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留轮洋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓祥楣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親汉柒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容