




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
區(qū)塊鏈初探
-----區(qū)塊鏈概念區(qū)塊鏈的誕生標志著不需要交易雙方互信就可以安全交易的點對點價值交換體系的誕生。區(qū)塊鏈的概念:從比特幣系統(tǒng)的結構中抽象出來的,本質(zhì)上是一個分布式賬本。2008年10月31日,中本聰發(fā)表一篇題為《比特幣:一種點對點式的電子現(xiàn)金系統(tǒng)》的論文什么是區(qū)塊鏈區(qū)塊鏈是:電子、分布、復制、去中心化的分布式賬本區(qū)塊鏈的概念:
是從比特幣系統(tǒng)的結構中抽象出來的,本質(zhì)上是一個分布式賬本。分布式賬本=分布式+賬本傳統(tǒng)的記賬方式大多基于中心化結構,具有絕對地位的特權節(jié)點獨立記賬,其他節(jié)點服從于特權節(jié)點的權威從而達成集體共識,共同維護此中心化結構記賬系統(tǒng)的穩(wěn)定。中心化結構存在中心節(jié)點作惡、中心節(jié)點負載過高等問題,無法保證絕對信任可靠。去中心化結構也叫分布式結構,通過每一個節(jié)點都執(zhí)行記賬任務來保證只要大于51%的節(jié)點是誠實的,那么記賬結果一定是真實
可靠的共識機制同時分布式賬本在節(jié)點記賬權需要通過一定的規(guī)則進行分配,以保證系統(tǒng)不會出現(xiàn)惡性爭奪或不順從指揮等問題。這個規(guī)則稱為共識機制。例如比特幣中的共識機制為“工作量證明”(ProofofWork),通過與節(jié)點所擁有的算力成正比的概率輪流獲取記賬權,保障了比特幣系統(tǒng)的穩(wěn)定運行。采用分布式的缺點在于賬本信息的冗余程度較高,每一個節(jié)點都需要獨立維護一份賬本,存儲成本和計算成本都很高。區(qū)塊鏈的形成節(jié)點之間達成共識是通過P2P網(wǎng)絡實現(xiàn)通信的而不是通過傳統(tǒng)中心化的服務器統(tǒng)一進行信息交換。交換的信息包括剛剛產(chǎn)生的交易和已經(jīng)打包為區(qū)塊結構的交易。剛剛產(chǎn)生的交易通過“洪水算法”告知每一個節(jié)點,而最近取得記賬權的節(jié)點將其驗證過合法性交易列表打包為區(qū)塊結構,并告知其他節(jié)點。所有節(jié)點對于這個新區(qū)塊的合法性獨立進行檢查,如果符合要求,就將新區(qū)塊放到前面所有合法區(qū)塊的后面,通過鏈表式的結構連接起來,于是稱為區(qū)塊鏈。區(qū)塊鏈概述區(qū)塊鏈本質(zhì)上是一個去中心化的數(shù)據(jù)庫,是一串使用密碼學方法相關聯(lián)產(chǎn)生的數(shù)據(jù)塊,每一個數(shù)據(jù)塊中包含了一次比特幣網(wǎng)絡交易的信息,用于驗證其信息的有效性和生成下一個區(qū)塊。區(qū)塊鏈的定義技術角度
區(qū)塊鏈并不是一種單一的技術,而是多種技術整合的結果。這些技術以新的結構組合在一起,形成了一種新的數(shù)據(jù)記錄、存儲和表達的方式。區(qū)塊鏈是分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式,一種通過去中心化、去信任的方式集體維護一個可靠數(shù)據(jù)庫的技術方案。數(shù)據(jù)角度
區(qū)塊鏈是一種幾乎不可能被更改的分布式數(shù)據(jù)庫。這里的“分布式”不僅體現(xiàn)為數(shù)據(jù)的分布式存儲,也體現(xiàn)為數(shù)據(jù)的分布式記錄(即有系統(tǒng)參與者共同維護)總結總的來說,區(qū)塊鏈是一種全新的融合型技術存儲上基于塊鏈式數(shù)據(jù)結構,通信上基于點對點對等網(wǎng)絡,架構上基于去中心化的分布式系統(tǒng),交易上基于哈希算法與非對稱加密,維護上基于共識機制。作為一種多方共享的數(shù)據(jù)庫,融合了計算機科學、社會學、經(jīng)濟學、管理學等學科,實現(xiàn)了多個主體之間的分布式協(xié)作,構建了信任基礎。感謝觀看!區(qū)塊鏈的特性區(qū)塊鏈特性區(qū)塊鏈具有五大基本特性,分別是去中心化、不可篡改性、開放性、匿名性自治性。下面詳細闡述每個特性的含義。特征簡圖1.去中心化什么是去中心化?去中心化是指眾多節(jié)點均具有平等的地位,沒有永久性的特權節(jié)點,只有臨時主導記賬的節(jié)點。無論是存儲還是計算任務,都由全部節(jié)點分別獨立承擔,以信息冗余、處理復雜度增加等代價換取了系統(tǒng)的可靠性和穩(wěn)定性。點對點的交易系統(tǒng)通過密碼學等數(shù)學算法建立信任關系,不需要第三方進行信任背書,從而徹底改造了傳統(tǒng)的中心化信任機制去中心化去中心化是區(qū)塊鏈最基本的特征,區(qū)塊鏈不再依賴于中心化機構,實現(xiàn)了數(shù)據(jù)的分布式記錄、存儲和更新。在生活中,比如淘寶購物,實際你的錢是由支付寶這樣的機構進行管理和儲存。轉賬、消費時在我們的賬戶余額上做減法,收款時做加法。你的個人信息也都在支付寶的數(shù)據(jù)中,這些都是中心化的,都是圍繞這第三方這個中心。2.不可篡改性信息一經(jīng)打包為區(qū)塊并加入?yún)^(qū)塊鏈的最長合法鏈,那么此信息就永久地被記錄在區(qū)塊鏈上。從概率學角度分析,幾乎沒有可能篡改或者刪除上鏈信息,除非惡意節(jié)點超過51%并集體作惡篡改數(shù)據(jù)庫。通過區(qū)塊鏈的巧妙設計,結合哈希函數(shù)、非對稱加密等技術,衍生出應用潛力廣泛的不可篡改特性,成了構建信任的重要基礎。邏輯結構:不可篡改由此可見,區(qū)塊鏈上的信息是不可篡改的。隨便改動一個區(qū)塊中的信息,就會使其與后一個區(qū)塊中的哈希值產(chǎn)生矛盾。只有逐個修改之后每個區(qū)塊中的信息才能掩護最初這個信息篡改動作,這樣一來原區(qū)塊鏈的信息就會被徹底改變,相當于產(chǎn)生了一條新鏈。3.開發(fā)性區(qū)塊鏈系統(tǒng)是相對開放的。對于公有鏈,所有人都可以申請成為本區(qū)塊鏈的一個節(jié)點。而對于聯(lián)盟鏈和私有鏈,盡管需要經(jīng)過一定的身份審核,但是一經(jīng)成為正式節(jié)點,所有的權利和義務均與其他節(jié)點平等,共同分享數(shù)據(jù)和接口。所有數(shù)據(jù)公開透明,查詢內(nèi)容真實可靠,應用開發(fā)規(guī)范清晰。區(qū)塊鏈的開放性是怎樣的?
所謂開放性,就是所有人都可以自由加入?yún)^(qū)塊鏈,并得到所有信息,整個系統(tǒng)高度透明,只有各方的私有信息是加密的。拿比特幣網(wǎng)絡來說,比特幣網(wǎng)絡在系統(tǒng)層面上信息完全公開,各個成員可以借助各種字符實現(xiàn)信息公開的同時保證信息的安全。這就決定了區(qū)塊鏈系統(tǒng)是開放的,除了交易各方的私有信息被加密外,區(qū)塊鏈的數(shù)據(jù)對所有人公開,任何人都可以通過公開的接口查詢區(qū)塊鏈數(shù)據(jù)和開發(fā)相關應用,讓整個系統(tǒng)信息高度透明。4.匿名性盡管區(qū)塊鏈的所有數(shù)據(jù)是公開透明的,但是用戶的隱私依然能夠得到保護。區(qū)塊鏈借鑒非對稱加密中公私鑰對的設計,將私鑰作為用戶的核心隱私,對外接收、發(fā)送轉賬只需暴露公鑰,從而讓交易對手方無從獲取其真實身份。另外,公私鑰對可以無限次重復生成,一個用戶可以擁有多個賬戶,這也為用戶真實身份和交易信息的保護提供了保障5.自治性去中心化的結構導致區(qū)塊鏈中節(jié)點的獨立性很高,但是獨立性不代表充分自由,不遵守區(qū)塊鏈協(xié)議和規(guī)范的節(jié)點往往會受到懲罰。區(qū)塊鏈通過全體節(jié)點協(xié)商一致的規(guī)則維護了區(qū)塊鏈的安全性和穩(wěn)定性,通過區(qū)塊鏈社區(qū)的自行治理,不斷完善規(guī)則幫助區(qū)塊鏈達成既定目標匿名區(qū)塊鏈自治匿名性:區(qū)塊鏈采用的既定好的憲法,所有節(jié)點按照規(guī)則進行結算和清算等動作,無需信任可以進行安全的交易,雙方進行轉賬的是地址之間的轉賬,雙方不需要公開自己的身份信息,這體現(xiàn)了交易的匿名性和自治性能感謝觀看區(qū)塊鏈的來源區(qū)塊鏈在5000年前就已經(jīng)存在了?在遙遠的舊石器時代,貨幣一開始是實物貨幣:貝殼、金銀等,因為他們具有稀缺性;用于充當一般等價物。人們的記賬方式也較為簡單,普遍是依靠死記硬背和心算。隨著部落人數(shù)和生產(chǎn)力的增長,開始出現(xiàn)生產(chǎn)剩余,人們就發(fā)明了用不同的符號來刻畫記錄和把場景畫下來這兩種方法記賬。此后,結繩記事、書契等文字記錄法,都是賬本最初的形態(tài)。后來,我們開始用紙幣進行支付,比如100面額的人民幣制作成本可能只有幾毛錢,卻能夠換取價值100元的物品。這是因為有國家的信用背書,讓人民相信這本來一文不值的紙幣能夠換100元的商品。隨著互聯(lián)網(wǎng)的發(fā)展,我們從紙幣過渡到記賬貨幣。比如發(fā)工資只是在銀行卡賬戶上做數(shù)字的加法、買衣服只是做減法,整個過程中都是銀行在記賬,且只有銀行有記賬權。但是這種記賬方法仍然存在著信息不對稱和信用問題。在2008年全球經(jīng)濟危機中,美國政府因為有記賬權所以可以無限增發(fā)貨幣,將金融風險轉嫁至其他國家。美聯(lián)儲可以為所欲為通過無限量印鈔來救市也預示著在市場經(jīng)濟條件下法幣信用的不確定性。大眾認知下--區(qū)塊鏈的來源
區(qū)塊鏈起源于比特幣,2008年11月1日,一位自稱中本聰(SatoshiNakamoto)的人發(fā)表了《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》一文,闡述了基于P2P網(wǎng)絡技術、加密技術、時間戳技術、區(qū)塊鏈技術等的電子現(xiàn)金系統(tǒng)的構架理念,這標志著比特幣的誕生。
兩個月后理論步入實踐,2009年1月3日第一個序號為0的創(chuàng)世區(qū)塊誕生。幾天后2009年1月9日出現(xiàn)序號為1的區(qū)塊,并與序號為0的創(chuàng)世區(qū)塊相連接形成了鏈,標志著區(qū)塊鏈的誕生。
近年來,世界對比特幣的態(tài)度起起落落,但作為比特幣底層技術之一的區(qū)塊鏈技術日益受到重視。在比特幣形成過程中,區(qū)塊是一個一個的存儲單元,記錄了一定時間內(nèi)各個區(qū)塊節(jié)點全部的交流信息。
各個區(qū)塊之間通過隨機散列(也稱哈希算法)實現(xiàn)鏈接,后一個區(qū)塊包含前一個區(qū)塊的哈希值,隨著信息交流的擴大個區(qū)塊與一個區(qū)塊相繼接續(xù),形成的結果就叫區(qū)塊鏈。客觀角度--區(qū)塊鏈的起源
在比特市之前區(qū)塊鏈技術就是存在的,只是還沒有被大眾廣泛認知而己。如果深挖區(qū)塊鏈的起源離不開互聯(lián)網(wǎng),離不開計算機??梢哉f,區(qū)塊鏈發(fā)展來源于它所產(chǎn)生的土壤互聯(lián)網(wǎng)技術的發(fā)展和云計算、大數(shù)據(jù)的興起。區(qū)塊鏈就是計算機里面其中一項技術而已。08年的區(qū)塊鏈是什么樣的?區(qū)塊(block)鏈(chain)首次出現(xiàn)是在2008年的比特幣白皮書“比特幣:一種點對點的電子現(xiàn)金系統(tǒng)(BitcoinAPeer-to-PeerElectronicCashSystem)”中。比特幣的創(chuàng)造者中本聰(SatoshiNakamoto)在本文中描述了比特幣的概念及其工作機制。然而,中本聰在這篇文章中,并未直接使用區(qū)塊鏈(blockchain)這個術語。取而代之的是,“區(qū)塊”和“鏈”被分別用來解釋許多概念。中本聰將這項技術描述為,每個區(qū)塊都包含關于事務的數(shù)據(jù),所有區(qū)塊都連接在一個鏈中。多年后,區(qū)塊鏈成了這項技術的術語,但如上所述,中本聰從未這樣稱呼它。區(qū)塊鏈由多種技術結合而來,區(qū)塊鏈的整體技術發(fā)展需要依靠多種核心技術的整體突破,這些技術主要包括分布式存儲、P2P技術、非對稱加密算法、共識機制等。區(qū)塊鏈的三大重要時刻雖然中本聰是最早提出使用區(qū)塊鏈記錄比特幣交易的人,但從技術上講,這并不是區(qū)塊鏈概念的開始。為此,我們必須追溯到1991年,在斯圖爾特?哈伯(StuartHaber)和斯科特?斯托內(nèi)塔(W.ScottStornetta)撰寫的題為“如何在數(shù)字文檔上加蓋時間戳(HowtoTime-StampaDigitalDocument)”的一文中,第一次提出關于數(shù)據(jù)區(qū)塊的加密保護鏈產(chǎn)品。此文中,斯圖爾特?哈伯和斯科特?斯托內(nèi)塔提出了加蓋時間戳的數(shù)字文檔的概念,以確保交易在某個時間“簽署”。次年,哈伯和斯托內(nèi)塔在每個“塊”中應用了默克爾樹(MerkleTree)也稱為哈希樹(HashTree)來存儲交易數(shù)據(jù)。區(qū)塊鏈的三大重要時刻后來,在1996年,劍橋大學的另一位密碼學家羅斯?安德森(RossAnderson)在論文中描述了一個無法刪除和篡改任何對系統(tǒng)所做的更新的分布式存儲系統(tǒng)。在當時,這被認為是一篇關于開發(fā)更安全的點對點系統(tǒng)的革命性論文。2000年,斯特凡?康斯特(StefanKonst)發(fā)表了加密保護鏈的統(tǒng)一理論,該理論針對文件簽名的匿名性和安全性提出了一整套實施方案。區(qū)塊鏈的三大重要時刻區(qū)塊鏈技術的一個重大突破發(fā)生在2002年,當時密碼學家大衛(wèi)?馬齊爾(DavidMazières)和丹尼斯?莎莎(DennisShasha)提出了一個分散信任的網(wǎng)絡文件系統(tǒng)。這是區(qū)塊鏈技術的原型,因為這個文件系統(tǒng)的作者之間相互信任,而不是信任系統(tǒng)本身。他們使用SHA256加密或類似的哈希函數(shù)進行數(shù)字簽名,提交并將其附加到默克爾樹中的其他鏈中。區(qū)塊鏈的三大重要時刻這些技術最終實現(xiàn)了信息的不可篡改性和在保密的前提下被更多人認證的區(qū)塊鏈技術體系,并且開始在應用領域創(chuàng)造奇跡。其更為重要的應用價值是,可以實現(xiàn)原本互不信任的各方借此迅速建立相互信任的合作。區(qū)塊鏈的特征區(qū)塊鏈的特征:1、去中心化。區(qū)塊鏈技術不依賴額外的第三方管理機構或硬件設施,沒有中心管制,除了自成一體的區(qū)塊鏈本身,通過分布式核算和存儲,各個節(jié)點實現(xiàn)了信息自我驗證、傳遞和管理。去中心化是區(qū)塊鏈最突出最本質(zhì)的特征。2、開放性。區(qū)塊鏈技術基礎是開源的,除了交易各方的私有信息被加密外,區(qū)塊鏈的數(shù)據(jù)對所有人開放,任何人都可以通過公開的接口查詢區(qū)塊鏈數(shù)據(jù)和開發(fā)相關應用,因此整個系統(tǒng)信息高度透明。3、獨立性。基于協(xié)商一致的規(guī)范和協(xié)議(類似比特幣采用的哈希算法等各種數(shù)學算法),整個區(qū)塊鏈系統(tǒng)不依賴其他第三方,所有節(jié)點能夠在系統(tǒng)內(nèi)自動安全地驗證、交換數(shù)據(jù),不需要任何人為的干預。4、安全性。只要不能掌控全部數(shù)據(jù)節(jié)點的51%,就無法肆意操控修改網(wǎng)絡數(shù)據(jù),這使區(qū)塊鏈本身變得相對安全,避免了主觀人為的數(shù)據(jù)變更。5、匿名性。除非有法律規(guī)范要求,單從技術上來講,各區(qū)塊節(jié)點的身份信息不需要公開或驗證,信息傳遞可以匿名進行。故事分享--區(qū)塊鏈共識區(qū)塊鏈技術起源于2008年中本聰《比特幣:一種點對點電子現(xiàn)金系統(tǒng)》,區(qū)塊鏈誕生自中本聰?shù)谋忍貛?。拜占庭將軍問題,該問題場景如下:拜占庭將軍問題是什么?拜占庭帝國派10支軍隊進攻一敵人,這個敵人可抵御5支軍隊同時襲擊,這十支軍隊不能集合單點突破,須分開同時進攻。問題是多個將軍互相并不信任(存在叛徒)時,這種狀態(tài)下要保證進攻一致,需要某種分布式協(xié)議來進行遠程協(xié)調(diào)。如果每個將軍向其他九個將軍派出一名信使,總計90次傳輸,每個將軍會收到9條信息,可能每一封都附著不同的進攻時間。此外,部分叛徒會故意答應超過一個的攻擊時間,所以他們將重新廣播超過一條的信息鏈。這個系統(tǒng)變成不可靠信息和攻擊時間矛盾的混合體。解決思路:讓將軍們在接收到上一位將軍的信息之后,加上自己的簽名再轉給其他將軍,這樣信息模塊就形成了區(qū)塊鏈。大多數(shù)人都知道區(qū)塊鏈和比特幣關系密切,甚至有一些人會把區(qū)塊鏈等同于比特幣技術。事實上,區(qū)塊鏈技術僅僅是比特幣的底層技術,是比特幣運行很久之后,才把它從比特幣中抽象地提煉出來。從某種角度看,也可以把比特幣認為是區(qū)塊鏈最早的應用。感謝觀看區(qū)塊鏈發(fā)展里程碑區(qū)塊鏈歷史回顧1.史前紀事1976年,BaileyW.Diffie、MartinE.Hellman兩位密碼學的大師發(fā)表了論文《密碼學的新方向》,論文覆蓋了未來幾十年密碼學所有的新的進展領域,包括非對稱加密、橢圓曲線算法、哈希等一些手段,奠定了迄今為止整個密碼學的發(fā)展方向,也對區(qū)塊鏈的技術和比特幣的誕生起到?jīng)Q定性作用。同年,發(fā)生了另外一件看似完全不相關的事情——哈耶克出版了他人生中最后一本經(jīng)濟學方面的專著:《貨幣的非國家化》。對比特幣有一定了解的人都知道,貨幣的非國家所提出的非主權貨幣、競爭發(fā)行貨幣等理念,或者說是去中心化貨幣的精神指南。因此,把1976年當做區(qū)塊鏈史前時代的元年也不為錯,正式開啟了整個密碼學,包括密碼學貨幣的時代。1982年,Lamport提出拜占廷將軍問題,標志著分布式計算的可靠性理論和實踐進入到了實質(zhì)性階段。同年,大衛(wèi)·喬姆提出了密碼學支付系統(tǒng)ECash,可以看出,隨著密碼學的進展,眼光敏銳的人已經(jīng)開始嘗試將其運用到貨幣、支付相關的領域了,應該說ECash是密碼學貨幣最早的先驅(qū)之一。。拜占廷將軍問題1997年,HashCash方法,也就是第一代POW(ProofofWork)算法出現(xiàn)當時發(fā)明出來主要用于做反垃圾郵件。在隨后發(fā)表的各種論文中,具體的算法設計和實現(xiàn),已經(jīng)完全覆蓋了后來比特幣所使用的POW機制。HashCash到了1998年,密碼學貨幣的完整思想終于破繭而出戴偉(WeiDai)、尼克·薩博同時提出密碼學貨幣的概念。其中戴偉的B-Money被稱為比特幣的精神先驅(qū),而尼克·薩博的Bitgold提綱和中本聰?shù)谋忍貛耪撐睦锪谐龅奶匦苑浅=咏?,以至于有人曾?jīng)懷疑薩博就是中本聰。有趣的是,這距離后來比特幣的誕生又是整整10年時間。密碼學貨幣區(qū)塊鏈的加密算法1、在二十一世紀到來之際,區(qū)塊鏈相關的領域又有了幾次重大進展:首先是點對點分布式網(wǎng)絡,1999到2001的三年時間內(nèi),Napster、EDonkey2000和BitTorrent分別先后出現(xiàn),奠定了P2P網(wǎng)絡計算的基礎。2、2001年另一件重要的事情,就是NSA發(fā)布了SHA-2系列算法,其中就包括目前應用最廣的SHA-256算法,這也是比特幣最終采用的哈希算法。應該說說到了2001年,比特幣或者區(qū)塊鏈技術誕生的所有的技術基礎在理論上、實踐都被解決了,比特幣呼之欲出。比特幣的誕生中本聰在2008年11月的時候發(fā)表了著名的論文《比特幣:點對點的電子現(xiàn)金系統(tǒng)》,2009年1月緊接著用他第一版的軟件挖掘出了創(chuàng)始區(qū)塊,包含著這句:“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks.”,像魔咒一樣開啟了比特幣的時代。對于比特幣的發(fā)展過程,有幾個公認重要的時間節(jié)點區(qū)塊鏈1.0:從比特幣看區(qū)塊鏈區(qū)塊鏈1.0是以比特幣為代表的虛擬貨幣的時代,代表了虛擬貨幣的應用,包括其支付、流通等虛擬貨幣的職能,主要具備的是去中心化的數(shù)字貨幣交易支付功能,目標是實現(xiàn)貨幣的去中心化與支付手段。比特幣就是區(qū)塊鏈1.0最典型的代表,區(qū)塊鏈的發(fā)展得到了歐美等國家市場的接受,同時也催生了大量的貨幣交易平臺,實現(xiàn)了貨幣的部分職能,能夠?qū)崿F(xiàn)貨品交易。比特幣勾勒了一個宏大的藍圖,未來的貨幣不再依賴于各國央行的發(fā)布,而是進行全球化的貨幣統(tǒng)一。區(qū)塊鏈1.0只滿足虛擬貨幣的需要,雖然區(qū)塊鏈1.0的藍圖很龐大,但是無法普及到其他的行業(yè)中。區(qū)塊鏈1.0時代也是虛擬貨幣的時代,涌現(xiàn)出了大量的山寨幣等。區(qū)塊鏈2.0:以太坊與通證從區(qū)塊鏈2.0是指智能合約,智能合約與貨幣相結合,對金融領域提供了更加廣泛的應用場景。一個智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。區(qū)塊鏈相對于金融場景有強大的天生優(yōu)勢。簡單來說,如果銀行進行跨國的轉賬,可能需要打通各種環(huán)境、貨幣兌換、轉賬操作、跨行問題等等。而區(qū)塊鏈實現(xiàn)的點對點的操作,避免了第三方的介入,直接實現(xiàn)點對點的轉賬.提高了工作效率。區(qū)塊鏈2.0:智能合約一個智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。區(qū)塊鏈2.0的代表是以太坊。以太坊是一個平臺,它提供了各種模塊讓用戶用以搭建應用平臺之上的應用,其實也就是合約,這是以太坊技術的核心。以太坊提供了一個強大的合約編程環(huán)境,通過合約的開發(fā),以太坊實現(xiàn)了各種商業(yè)與非商業(yè)環(huán)境下的復雜邏輯。以太坊的核心與比特幣系統(tǒng)本身是沒有本質(zhì)的區(qū)別的。而以太坊的本質(zhì)是智能合約的全面實現(xiàn),支持了合約編成,讓區(qū)塊鏈技術不僅僅是發(fā)幣,而提供了更多的商業(yè)、非商業(yè)的應用場景。區(qū)塊鏈3.0:去中心化應用區(qū)塊鏈3.0是指區(qū)塊鏈在金融行業(yè)之外的各行業(yè)的應用場景,能夠滿足更加復雜的商業(yè)邏輯。區(qū)塊鏈3.0被稱為互聯(lián)網(wǎng)技術之后的新一代技術創(chuàng)新,足以推動更大的產(chǎn)業(yè)改革。區(qū)塊鏈3.0涉及生活的方方面面,所以區(qū)塊鏈3.0將更加的具有實用性,賦能各行業(yè),不再依賴于第三方或某機構獲取信任與建立信用,能夠通過實現(xiàn)信任的方式提高整體系統(tǒng)的工作效率。換言之,區(qū)塊鏈1.0是區(qū)塊鏈技術的萌芽,區(qū)塊鏈2.0是區(qū)塊鏈在金融、智能合約方向的技術落地,而區(qū)塊鏈3.0是為了解決各行各業(yè)的互信問題與數(shù)據(jù)傳遞安全性的技術落地與實現(xiàn)。區(qū)塊鏈的航海時代通過單純的時間軸已經(jīng)不足以描述這個嶄新時代的概貌,因此可以將區(qū)塊鏈的分析分為四個維度:技術、行業(yè)、政府、社會。區(qū)塊鏈內(nèi)涵及運行原理區(qū)塊鏈的背景公認的最早關于區(qū)塊鏈的描述性文獻是中本聰所撰寫的文章《Bitcoin:APeer-toPeerElectronicCachSystem》但該文獻重點在于討論比特幣系統(tǒng),實際上并沒有明確提出區(qū)塊鏈的定義和概念,在其中指出,區(qū)塊鏈是用于記錄比特幣交易賬目歷史的數(shù)據(jù)結構。另外,Wikipedia上給出的定義中,將區(qū)塊鏈類比為一種分布式數(shù)據(jù)庫技術,通過維護數(shù)據(jù)塊的鏈式結構,可以維持持續(xù)增長的、不可篡改的數(shù)據(jù)記錄。區(qū)塊鏈技術最早的應用出現(xiàn)在比特幣項目中。作為比特幣背后的分布式記賬平臺,在無集中式管理的情況下,比特幣網(wǎng)絡穩(wěn)定運行了八年時間,支持了海量的交易記錄,并且從未出現(xiàn)嚴重的漏洞,這些都與巧妙的區(qū)塊鏈結構分不開的。區(qū)塊鏈技術自身仍然在飛速發(fā)展中,目前相關規(guī)范和標準還在進一步成熟中。區(qū)塊鏈的三大基礎概念區(qū)塊鏈的基本原理理解起來并不復雜。首先,區(qū)塊鏈包括三個基本概念:(1)交易(transaction):一次對賬本的操作,導致賬本狀態(tài)的一次改變,如添加一條轉賬記錄;(2)區(qū)塊(block):記錄一段時間內(nèi)發(fā)生的所有交易和狀態(tài)結果,是對當前賬本狀態(tài)的一次共識;(3)鏈(chain):由區(qū)塊按照發(fā)生順序串聯(lián)而成,是整個賬本狀態(tài)變化的日志記錄。如果把區(qū)塊鏈作為一個狀態(tài)機,則每次交易就是試圖改變一次狀態(tài),而每次共識生成的區(qū)塊,就是參與者對于區(qū)塊中交易導致狀態(tài)改變的結果進行確認。在實現(xiàn)上,首先假設存在一個分布式的數(shù)據(jù)記錄賬本,這個賬本只允許添加、不允許刪除。賬本底層的基本結構是一個線性的鏈表,這也是其名字“區(qū)塊鏈”的來源。鏈表由一個個“區(qū)塊”串聯(lián)組成,如圖2-1所示,后繼區(qū)塊記錄前導區(qū)塊的哈希值(prehash)。新的數(shù)據(jù)要加入,必須放到一個新的區(qū)塊中。而這個塊(以及塊里的交易)是否合法,可以通過計算哈希值的方式快速檢驗出來。任意維護節(jié)點都可以提議一個新的合法區(qū)塊,然而必須經(jīng)過一定的共識機制來對最終選擇的區(qū)塊達成一致。區(qū)塊鏈運行原理區(qū)塊鏈經(jīng)典案例-比特幣運行原理首先,比特幣客戶端發(fā)起一項交易,廣播到比特幣網(wǎng)絡中并等待確認。網(wǎng)絡中的節(jié)點會將一些收到的等待確認的交易記錄打包在一起(此外還要包括前一個區(qū)塊頭部的哈希值等信息),組成一個候選區(qū)塊。然后,試圖找到一個nonce串(隨機串)放到區(qū)塊里,使得候選區(qū)塊的哈希結果滿足一定條件(比如小于某個值)。這個nonce串的查找需要一定的時間去進行計算嘗試。一旦節(jié)點算出來滿足條件的nonce串,這個區(qū)塊在格式上就被認為是“合法”了,就可以嘗試在網(wǎng)絡中將它廣播出去。其他節(jié)點收到候選區(qū)塊,進行驗證,發(fā)現(xiàn)確實符合約定條件了,就承認這個區(qū)塊是一個合法的新區(qū)塊,并添加到自己維護的區(qū)塊鏈上。當大部分節(jié)點都將區(qū)塊添加到自己維護的區(qū)塊鏈結構上時,該區(qū)塊被網(wǎng)絡接受,區(qū)塊中所包括的交易也就得到確認。當然,在實現(xiàn)上還會有很多額外的細節(jié)。這里面比較關鍵的步驟有兩個:一個是完成對一批交易的共識(創(chuàng)建區(qū)塊結構);一個是新的區(qū)塊添加到區(qū)塊鏈結構上,被大家認可,確保未來無法被篡改。區(qū)塊鏈經(jīng)典案例-比特幣運行原理比特幣的這種基于算力尋找nonce串的共識機制稱為工作量證明(ProofofWork,PoW)。目前,要讓哈希結果滿足一定條件,并無已知的快速啟發(fā)式算法,只能進行嘗試性的暴力計算。嘗試的次數(shù)越多(工作量越大),算出來的概率越大。通過調(diào)節(jié)對哈希結果的限制,比特幣網(wǎng)絡控制平均約10分鐘產(chǎn)生一個合法區(qū)塊。算出區(qū)塊的節(jié)點將得到區(qū)塊中所有交易的管理費和協(xié)議固定發(fā)放的獎勵費(目前是12.5比特幣,每四年減半),這個計算新區(qū)塊的過程俗稱為挖礦。讀者可能會關心,比特幣網(wǎng)絡是任何人都可以加入的,如果網(wǎng)絡中存在惡意節(jié)點單,能否進行惡意操作來對區(qū)塊鏈中的記錄進行篡改,從而破壞整個比特幣網(wǎng)絡系統(tǒng)。比如最簡單的,故意不承認收到的別人產(chǎn)生的合法候選區(qū)塊,或者干脆拒絕來自其他節(jié)點的交易等。實際上,比特幣網(wǎng)絡中存在大量(據(jù)估計數(shù)千個)的維護節(jié)點,而且大部分節(jié)點都是正常工作的,默認都只承認所看到的最長的鏈結構。只要網(wǎng)絡中不存在超過一半的節(jié)點提前勾結一起采取惡意行動,則最長的鏈將很大概率上成為最終合法的鏈。而且隨著時間增加,這個概率會越來越大。例如,經(jīng)過6個區(qū)塊生成后,即便有一半的節(jié)點聯(lián)合起來想顛覆被確認的結果,其概率也僅為(1/2)6≈1.6%,即低于1/60的可能性。當然,如果整個網(wǎng)絡中大多數(shù)的節(jié)點都聯(lián)合起來作惡,可以導致整個系統(tǒng)無法正常工作。要做到這一點,往往意味著付出很大的代價,跟通過作惡得到的收益相比,得不償失。區(qū)塊鏈運行原理如果把區(qū)塊鏈作為一個狀態(tài)機,則每次交易就是試圖改變一次狀態(tài),而每次共識生成的區(qū)塊,就是參與者對于區(qū)塊中交易導致狀態(tài)改變的結果進行確認。在實現(xiàn)上,首先假設存在一個分布式的數(shù)據(jù)記錄賬本,這個賬本只允許添加、不允許刪除。賬本底層的基本結構是一個線性的鏈表,這也是其名字“區(qū)塊鏈”的來源。感謝觀看!區(qū)塊鏈的演化和分類區(qū)塊鏈演化區(qū)塊鏈技術自比特幣網(wǎng)絡設計中被大家發(fā)掘關注,從最初服務數(shù)字貨幣系統(tǒng),到今天在分布式賬本場景下發(fā)揮著越來越大的技術潛力。比特幣區(qū)塊鏈已經(jīng)支持了簡單的腳本計算,但僅限于數(shù)字貨幣相關的處理。除了支持數(shù)字貨幣外,還可以將區(qū)塊鏈上執(zhí)行的處理過程進一步泛化,即提供智能合約(smartcontract)。智能合約可以提供除了貨幣交易功能外更靈活的合約功能,執(zhí)行更為復雜的操作。這樣,擴展之后的區(qū)塊鏈已經(jīng)超越了單純數(shù)據(jù)記錄的功能,實際上帶有一點“智能計算”的意味;更進一步,還可以為區(qū)塊鏈加入權限管理和高級編程語言支持等,實現(xiàn)更強大的、支持更多商用場景的分布式賬本。從計算特點上,可以看到現(xiàn)有區(qū)塊鏈技術的三種典型演化場景,如表2-1所示。場景功能智能合約一致性權限類型性能編程語言代表公信的數(shù)字貨幣記賬功能不帶有或較弱PoW無公有鏈較低簡單腳本比特幣網(wǎng)絡公信的交易處理智能合約圖靈完備PoW、PoS無公有鏈受限特定語言以太坊網(wǎng)絡帶權限的分布式賬本處理商業(yè)處理多種語言,圖靈完備包括CFT、BFT在內(nèi)的多種機制,可插拔支持聯(lián)盟鏈可擴展高級編程語言超級賬本
區(qū)塊鏈技術的本質(zhì)目的是解決效率和信任問題,由于不同場景下的應用對象不同,因而開放程度、應用范圍也存在差異,根據(jù)開放程度的不同,一般按照準入機制可將區(qū)塊鏈分為公有鏈(Publicblockchain)、聯(lián)盟鏈(ConsortiumBlockchain)、私有鏈(Privateblockchain)。表2-1區(qū)塊鏈技術的三種典型演化場景公有鏈指全世界任何人都可以隨時進入到系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認交易、競爭記賬的區(qū)塊鏈。公有鏈通常被認為是“完全去中心化”的,因為沒有任何個人或者機構可以控制或篡改其中數(shù)據(jù)的讀寫。典型代表:BTC、ETH、EOS公有鏈簡介公有鏈對外公開,用戶不用注冊便能參與,能自由訪問區(qū)塊鏈上的所有信息。公有鏈是真正意義上的完全去中心化的區(qū)塊鏈,通過密碼學保證信息不被篡改,通過經(jīng)濟學上的激勵,在匿名的P2P網(wǎng)絡中形成共識,從而形成去中心化的區(qū)塊鏈。公有區(qū)塊鏈是最早出現(xiàn)的區(qū)塊鏈,也是應用最廣泛的區(qū)塊鏈,絕大部分虛擬數(shù)字貨幣均基于公有區(qū)塊鏈,世界上有且僅有一條該幣種對應的區(qū)塊鏈。作為中心化或者準中心化信任的替代物,公有鏈的安全由共識機制來維護——共識機制可以采取PoW或PoS等方式,將經(jīng)濟獎勵和加密算法驗證結合了起來,并遵循著一般原則:每個人從中可獲得的經(jīng)濟獎勵與對共識過程做出的貢獻成正比。這些區(qū)塊鏈通常被認為是完全去中心化的。公有鏈通常也稱為非許可鏈(Permissionlessblockchain)如比特幣和以太坊等都是公有鏈。公有鏈一般適合于虛擬貨幣、面向大宗的電子商務、互聯(lián)網(wǎng)金融等B2C、C2C或C2B等應用場景。公有鏈特性在公有鏈中,程序開發(fā)者無權干涉用戶,所以區(qū)塊鏈可以保護使用他們開發(fā)的程序的用戶。從傳統(tǒng)的經(jīng)濟學角度來看,的確難以理解為何程序開發(fā)者會愿意放棄自己的權限。然而,隨著互聯(lián)網(wǎng)崛起,協(xié)作共享的經(jīng)濟模式為此提供了兩個理由:首先,如果你明確地選擇做一些很難或者不可能的事情,其他人會更容易信任你并與你產(chǎn)生互動,因為他們相信那些事情不大可能發(fā)生在自己身上。其次,如果你是受他人或其他外界因素的強迫,無法去做自己想做的事,你大可說句“即使我想,但我也沒有權力去做”的話語作為談判籌碼,這樣可以勸阻對方不要強迫你去做不情愿的事。程序開發(fā)者們所面臨的主要壓力或者風險主要是來自政府,所以說“審查阻力”便是公有鏈最大的優(yōu)勢。公有鏈具有如下幾個特點:(1)所有交易數(shù)據(jù)公開、透明:雖然公有鏈上所有節(jié)點是匿名(更確切一點,“非實名”)加入網(wǎng)絡,但任何節(jié)點都可以查看其他節(jié)點的賬戶余額以及交易活動。(2)無法篡改:公有鏈是高度去中心化的分布式賬本,篡改交易數(shù)據(jù)幾乎不可能實現(xiàn),除非篡改者控制了全網(wǎng)51%的算力,以及超過5億RMB的運作資金。(3)低吞吐量:高度去中心化和低吞吐量是公有鏈不得不面對的兩難境地,例如最成熟的公有鏈——比特幣塊鏈——每秒只能處理7筆交易信息(按照每筆交易大小為250字節(jié)),高峰期能處理的交易筆數(shù)就更低。(4)交易速度緩慢:低吞吐量的必然帶來緩慢的交易速度。比特幣網(wǎng)絡極度擁堵,有時一筆交易需要幾天才能處理完畢,還需要繳納幾百塊轉賬費。聯(lián)盟鏈僅限于聯(lián)盟成員參與,區(qū)塊鏈上的讀寫權限、參與記賬權限按聯(lián)盟規(guī)則來制定。典型代表:R3聯(lián)盟、Hyperledger、螞蟻區(qū)塊鏈聯(lián)盟鏈聯(lián)盟鏈是指其共識過程受到預選節(jié)點控制的區(qū)塊鏈,由某個群體內(nèi)部指定多個預選的節(jié)點為記賬人,每個塊的生成由所有的預選節(jié)點共同決定(預選節(jié)點參與共識過程),其他接入節(jié)點可以參與交易,但不過問記賬過程(本質(zhì)上還是托管記賬,只是變成分布式記賬,預選節(jié)點的多少,如何決定每個塊的記賬者成為該區(qū)塊鏈的主要風險點),其他任何人可以通過該區(qū)塊鏈開放的API進行限定查詢。這些區(qū)塊鏈可視為部分去中心化。比如R3就是一個典型的聯(lián)盟鏈系統(tǒng)。聯(lián)盟鏈僅限于聯(lián)盟成員參與,區(qū)塊鏈上的讀寫權限參與記賬權限按聯(lián)盟規(guī)則來制定。由40多家銀行參與的區(qū)塊鏈聯(lián)盟R3和Linux基金會支持的超級賬本項目都屬于聯(lián)盟鏈架構。聯(lián)盟鏈是一種需要注冊許可的區(qū)塊鏈,其共識過程由預先選好的節(jié)點控制。一般來說,它適合于機構間的交易、結算或清算等B2B場景。例如在銀行間進行支付、結算、清算的系統(tǒng)就可以采用聯(lián)盟鏈的形式將各家銀行的網(wǎng)關節(jié)點作為記賬節(jié)點,當網(wǎng)絡上有超過2/3的節(jié)點確認一個區(qū)塊,該區(qū)塊記錄的交易將得到全網(wǎng)確認。聯(lián)盟鏈可以根據(jù)應用場景來決定對公眾的開放程度。由于與共識的節(jié)點比較少,聯(lián)盟鏈一般不采用工作量證明的挖礦機制,而是多采用權益證明或PBFT等共識算法。聯(lián)盟鏈對交易的確認時間每秒交易數(shù)都與公有鏈有較大的區(qū)別,對安全和性能的要求也比公有鏈高。聯(lián)盟鏈簡介聯(lián)盟鏈網(wǎng)絡由成員機構共同維護,網(wǎng)絡接入一般通過成員機構的網(wǎng)關節(jié)點接入。聯(lián)盟鏈平臺應提供成員管理、認證、授權、監(jiān)控、審計等安全管理功能。如2015年成立的R3聯(lián)盟,旨在建立銀行同業(yè)的一個聯(lián)盟鏈,目前已經(jīng)吸引了40多個成員,包括世界著名的銀行(如摩根大通、高盛、瑞信、巴克萊、匯豐等),IT巨頭(如IBM、微軟)。聯(lián)盟鏈的特點是,其可以做到很好的節(jié)點間的連接,只需要極少的成本就能維持運行,提供迅速的交易處理和低廉的交易費用,有很好的擴展性(但是擴展性隨著節(jié)點增加又會下降),數(shù)據(jù)可以有一定的隱私。當然缺點也很明顯,聯(lián)盟鏈也意味著這個區(qū)塊鏈的應用范圍不會太廣,缺少比特幣的網(wǎng)絡傳播效應,而且聯(lián)盟鏈容易造成權力集中。由于節(jié)點少,并且需要預選節(jié)點進行記賬,不能完全解決信任問題,一旦運用不當則容易造成權力集中,甚至引發(fā)安全問題。聯(lián)盟鏈特性聯(lián)盟鏈具有如下幾個特點:(1)部分去中心化:與公有鏈不一樣,聯(lián)盟鏈在某種程度上只屬于聯(lián)盟內(nèi)部的成員所有,且很容易達成共識,因為畢竟聯(lián)盟鏈的節(jié)點數(shù)是非常有限的。(2)可控性較強:公有鏈是一旦區(qū)塊鏈形成,將不可篡改,這主要源于公有鏈的節(jié)點一般是海量的,比如比特幣節(jié)點太多,想要篡改區(qū)塊數(shù)據(jù),幾乎不可能,而聯(lián)盟鏈,只要所有機構中的大部分達成共識,即可將區(qū)塊數(shù)據(jù)進行更改。(3)數(shù)據(jù)不會默認公開:不同于公有鏈,聯(lián)盟鏈的數(shù)據(jù)只限于聯(lián)盟里的機構及其用戶才有權限進行訪問。(4)交易速度很快:跟私有鏈一樣,聯(lián)盟鏈本質(zhì)上還是私有鏈,因此由于其節(jié)點不多的原因,達成共識容易,交易速度自然也就快很多。私有鏈僅在私有組織使用,區(qū)塊鏈上的讀寫權限、參與記賬權限按私有組織規(guī)則來制定。典型代表:MultiChain、JPMCoin3.私有鏈私有鏈,是指其寫入權限由某個組織和機構控制的區(qū)塊鏈。讀取權限或者對外開放,或者被進行了任意程度的限制。相關的應用可以包括數(shù)據(jù)庫管理、審計基至是一個公司,盡管在有些情況下希望它能有公共的可審計性,但在很多的情形下,公共的可讀性似乎并非是必需的。大多數(shù)人一開始很難理解私有鏈存在的必要性,認為其和中心化數(shù)據(jù)庫沒有太大的區(qū)別,甚至還不如中心化數(shù)據(jù)庫的效率高。事實上,中心化和去中心化永遠是相對的,私有鏈可以看作是一個小范圍系統(tǒng)內(nèi)部的公有鏈,如果從系統(tǒng)外部來觀察,可能覺得這個系統(tǒng)還是中心化的,但是以系統(tǒng)內(nèi)部每一個節(jié)點的眼光來看,其實當中每個節(jié)點的權利都是去中心化的。私有鏈和公有鏈另外一個巨大的區(qū)別就是,一般公有鏈肯定在內(nèi)部會有某種代幣,而私有鏈卻是可以選擇沒有代幣的設計方案。對于公有鏈而言,如果要讓每個節(jié)點參與競爭記賬,必定需要設計一種獎勵制度,鼓勵那些遵守規(guī)則參與記賬的節(jié)點,而這種獎勵往往就是依靠代幣系統(tǒng)來實現(xiàn)的。但是對于私有鏈而言,基本上都是屬于某個機構內(nèi)部的節(jié)點,對于這些節(jié)點而言,參與進行記賬本身可能就是該組織或者機構上級的要求,對于他們而言本身就是工作的一部分,因此并不是一定需要通過代幣獎勵機制來激勵每個節(jié)點進行記賬。所以,我們也可以發(fā)現(xiàn),代幣系統(tǒng)并不是每個區(qū)塊鏈必然需要的??紤]到處理速度及賬本訪問的私密性和安全性,私有鏈可能更適合商業(yè)應用,越來越多的企業(yè)在選擇區(qū)塊鏈方案時,也會更多地傾向于選擇私有鏈技術。私有鏈特性私有鏈具有如下幾個特點:(1)交易速度非常之快一個私有鏈的交易速度可以比任何其他的區(qū)塊鏈都快,甚至接近了并不是一個區(qū)塊鏈的常規(guī)數(shù)據(jù)庫的速度。這是因為就算少量的節(jié)點也都具有很高的信任度,并不需要每個節(jié)點來驗證一個交易。(2)給隱私更好的保障私有鏈使得在那個區(qū)塊鏈上的數(shù)據(jù)隱私政策像在另一個數(shù)據(jù)庫中似的完全一致,不用處理訪問權限和使用所有的老辦法,但至少說,這個數(shù)據(jù)不會公開地被擁有網(wǎng)絡連接的任何人獲得。(3)交易成本大幅降低甚至為零私有鏈上可以進行完全免費或者至少說是非常廉價的交易。如果一個實體機構控制和處理所有的交易,那么他們就不再需要為工作而收取費用。然而,即使交易的處理是由多個實體機構完成的,例如競爭性銀行,進一步舉例來說,因為同樣的原因,它們可以如此之快的處理交易,所以費用仍然是非常小的;這并不需要節(jié)點之間的完全協(xié)議,所以很少的節(jié)點需要為任何一個交易而工作。(4)有助于保護其基本的產(chǎn)品不被破壞正是這一點使得銀行等金融機構能在目前的環(huán)境中欣然接受私有鏈,銀行和政府在看管他們的產(chǎn)品上擁有既得利益,用于跨國貿(mào)易的國家法定貨幣仍然是有價值的。感謝觀看!區(qū)塊鏈通用技術框架區(qū)塊鏈架構模型區(qū)塊鏈采用六層架構,從下到上分別是數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、智能合約層、應用層
區(qū)塊鏈架構模型一個標準的區(qū)塊鏈項目,應該至少包含數(shù)據(jù)層、網(wǎng)絡層、共識層這三層,應用層、合約層、激勵層可以不包含以一個交易的例子來說明這模型所起的作用,假如說,我們有三個角色,A有100btc,B有0btc,c是礦工,現(xiàn)在A給B轉10個btc,1、A->B轉賬10比特幣,數(shù)據(jù)層2、轉賬交易要確認,需要廣播出去,網(wǎng)絡層3、把交易打包到區(qū)塊形成新的區(qū)塊,并且加入到區(qū)塊鏈,共識層4、第三步的獎勵,激勵層5、錢包,應用層Merkle樹Merkle樹(默克爾樹、也稱哈希樹),由根節(jié)點、中間節(jié)點、葉節(jié)點組成。它的形狀是這樣的:數(shù)據(jù)層的特點不可篡改全備份完全平等(數(shù)據(jù)、權限、代碼)數(shù)據(jù)層是整個區(qū)塊鏈技術中最底層的數(shù)據(jù)結構,描述了區(qū)塊鏈從創(chuàng)世區(qū)塊起始的鏈式結構,它包含了區(qū)塊鏈的區(qū)塊數(shù)據(jù)、鏈式結構以及區(qū)塊上的隨機數(shù)、時間戳、公私鑰數(shù)據(jù)等信息。網(wǎng)絡層網(wǎng)絡層主要實現(xiàn)網(wǎng)絡節(jié)點的連接和通訊,又稱點對點技術,是沒有中心服務器、依靠用戶群交換信息的互聯(lián)網(wǎng)體系。與有中心服務器的中央網(wǎng)系統(tǒng)不同,對等網(wǎng)絡的每個用戶端既是一個節(jié)點,也有服務器的功能,其具有去中心化與健壯性等特點。網(wǎng)絡層包括分布式組網(wǎng)機制、數(shù)據(jù)傳播機制和數(shù)據(jù)驗證機制等,網(wǎng)絡層主要通過P2P技術實現(xiàn),因此區(qū)塊鏈本質(zhì)上可以說是一個P2P網(wǎng)絡網(wǎng)絡層網(wǎng)絡層之P2P技術P2P組網(wǎng)技術早期應用在BT這類P2P下載軟件中,這就意味著區(qū)塊鏈具有自動組網(wǎng)功能,支持TCP,UDP等通信協(xié)議共識層共識層主要實現(xiàn)全網(wǎng)所有節(jié)點對交易和數(shù)據(jù)達成一致防范拜占庭攻擊、女巫攻擊、51%攻擊等共識攻擊,其算法稱為共識機制,因為其應用場景不同,區(qū)塊鏈2.0出現(xiàn)了多種富有特色的共識機制。共識層封裝了網(wǎng)絡節(jié)點的各類共識機制算法,共識機制算法是區(qū)塊鏈的核心技術,因為這決定了區(qū)塊的產(chǎn)生,而記賬決定方式將會影響整個系統(tǒng)的安全性和可靠性。共識層共識機制有各自的優(yōu)缺點,適應不同的場景,進行對比,如下圖:激勵層激勵層主要實現(xiàn)區(qū)塊鏈貨幣的發(fā)行和分配機制,比如以太坊,定位以太幣為平臺運行的燃料,可以通過挖礦獲得,每挖到一個區(qū)塊固定獎勵5個以太幣,同時運行智能合約和發(fā)送交易都需要向礦工支付一定的以太幣。它是大家常說的挖礦機制,用來設計一定的經(jīng)濟激勵模型,鼓勵節(jié)點來參與區(qū)塊鏈的安全驗證工作,包括發(fā)行機制,分配機制的設計等。這個層級的改進貌似與區(qū)塊鏈可擴展并無直接聯(lián)系。智能合約層智能合約賦予賬本可編程的特性,區(qū)塊鏈2.0通過虛擬機的方式運行代碼實現(xiàn)智能合約的功能,比如以太坊的以太坊虛擬機(EVM)。同時,這一層通過在智能合約上添加能夠與用戶交互的前臺界面,形成去中心化的應用(DAPP)。智能合約簡介智能合約又稱智能合同,是由時間驅(qū)動的、具有狀態(tài)的、獲得多方承認的、運行在區(qū)塊鏈之上的、且能夠根據(jù)預設條件自動處理資產(chǎn)的程序,智能合約最大的優(yōu)勢是利用程序算法代替人仲裁和執(zhí)行合同。本質(zhì)上講,智能合約也是一段程序,但是與傳統(tǒng)的IT系統(tǒng)不同,智能合約繼承了區(qū)塊鏈的三個特性:數(shù)據(jù)透明、不可篡改,永久運行。應用層該層封裝了區(qū)塊鏈的各種應用和場景,比如3種可編程應用類型,即可編程貨幣、可編程金融及可編程社會。例如,之前制作以太網(wǎng)的以太貓已部署在應用層。目前應用程序場景的程序和接口都是由應用層提供,并且安裝在應用層的各種應用程序是直接與用戶進行交互的,用戶不用去探究區(qū)塊鏈那些底層的細節(jié)。目前,典型的區(qū)塊鏈應用包括數(shù)字貨幣應用,數(shù)據(jù)存儲應用以及能源應用等。感謝觀看!區(qū)塊鏈核心技術區(qū)塊鏈的核心技術1.密碼學2.P2P網(wǎng)絡3.共識機制4.智能合約密碼學區(qū)塊鏈的基礎在于密碼學技術。這里,我們并沒有將密碼學及其相關實現(xiàn)技術作為單獨的某一層。因為密碼學技術可以說是所有區(qū)塊鏈運行的理論基礎,并且自底向上貫穿了區(qū)塊鏈的整個技術棧。從底層數(shù)據(jù)的加密、賬戶的公私鑰配對計算、簽名、網(wǎng)絡鏈接使用的各類證書、應用層面的同態(tài)加密及多方計算等等均離不開密碼學的研發(fā)應用,是整個加密世界的基礎。密碼學-非對稱加密(1)非對稱加密加密是為了實現(xiàn)對秘密的保護。所謂秘密就是機密的信息,不能讓其他人所知曉。非對稱加密是密碼學中最常用的一類加密算法。會涉及兩個密鑰,一個可以公開傳遞,被稱為公鑰;另一個必須由用戶自己嚴格保管,被稱為私鑰。如果用其中一個密鑰進行加密后,只能用唯一對應的另一個密鑰才能解密出明文,所以這種加密技術被稱為“非對稱”加密。非對稱加密的用途很廣,是簽名、證書等加密技術的基礎之一。區(qū)塊鏈中最常見的用途是用公鑰生成賬戶地址(因為賬戶地址需要公開傳遞);私鑰由用戶自行保管,作為使用賬戶的唯一憑證。密碼學-哈希函數(shù)(2)哈希函數(shù)嚴格來說,哈希(Hash)函數(shù),或稱為散列函數(shù),是一種信息摘要方法,通過一定的計算,可以將任意長度的數(shù)據(jù)信息映射為一個特定長度的字符串。哈希函數(shù)可用公式表示如下:其中,m是消息。它在計算機上的形式可以是一串文字、一個文本文件、一個圖片、一段語音、一個視頻等等。不過消息量越大,所需要的計算量越大;h是哈希值。一般是一個固定長度的字符串;Hash是哈希函數(shù)。這個函數(shù)計算的過程一般會很快,但由于這個過程會伴隨著信息的丟失,因此這個映射過程是單向的。另外,因為是摘要信息,所以一般都會要求兩個不同數(shù)據(jù)的哈希函數(shù)映射結果也不同。由此可看到,哈希函數(shù)具有壓縮性、單向性、抗碰撞、隨機性等特點。哈希函數(shù)在日常使用計算機的過程中是很常見、用途也比較多,用戶最常見的是用來生成數(shù)據(jù)的一個唯一特征“指紋”信息。很多時候,我們在一些站點下載軟件時就會看到這類信息。因為網(wǎng)絡下載的過程中,由于網(wǎng)絡傳輸不穩(wěn)定可能會導致程序文件不完整;或者因為黑客攻擊等行為導致用戶手中的程序遭到了惡意篡改。因此,一些網(wǎng)站會主動提供軟件程序文件的哈希值;用戶下載后也可計算出自己計算機上的文件,與網(wǎng)站公示的信息進行比較,以此來判斷本地的程序文件是否正確、完整。但由于這些過程中信息都是公開的,所以在用于驗證時哈希函數(shù)并不算是一種加密算法。密碼學-哈希函數(shù)在區(qū)塊鏈中,哈希函數(shù)的應用會更多。例如,在比特幣中,從公鑰生成賬戶地址的過程中就不止一次地用到了SHA256.RIPEMD等哈希函數(shù)。簽名時一般也不會直接對原消息進行簽名而是對哈希后的消息進行簽名。這些都是利用哈希函數(shù)的壓縮性來控制數(shù)據(jù)量大小。PoW系統(tǒng)中,工作量證明所稱的“工作”也是SHA256哈希值的計算。后續(xù)的其他PoW系統(tǒng)采用了更多、更新的哈希方案。具體哈希算法見本書共識一章。這些都是利用了哈希函數(shù)的單向性和隨機性。比特幣組織區(qū)塊所用的Merkle樹也是采用的也是逐層依次計算各個區(qū)塊的哈希值的方式進行,具體見本書賬本一章。這樣的方式使得要篡改某一區(qū)塊的內(nèi)容變得十分困難。哈希函數(shù)的抗碰撞特性,使得篡改后的哈希值幾乎不可能與原哈希值一致。從這個角度來說,可認為區(qū)塊鏈的不可篡改特性是由哈希函數(shù)帶來的。密碼學-數(shù)字簽名(3)數(shù)字簽名其中,m是消息。和哈希函數(shù)類似,可以是各種形式;sk是用戶的私鑰;pk是用戶的公鑰;s是數(shù)字簽名,是一個固定長度的字符串;Sign是簽名的函數(shù);Verify是驗證簽名的函數(shù)。只有當pk和sk是一對公私鑰的時候,才會驗證通過。因此,通過非對稱加密的特性可以知道,攻擊者幾乎不可能通過一個假的私鑰來偽造出一個能驗證通過的簽名。由此可看到,簽名函數(shù)具有不可偽造、不可抵賴的特性。在區(qū)塊鏈中,簽名算法主要也是從這兩個方面來進行身份驗證。利用簽名函數(shù)不可偽造的特點,攻擊者幾乎不可能冒充簽名者、偽造出一個交易信息,偽裝成他人來盜用數(shù)字資產(chǎn)。而不可偽造的另一面就是不可抵賴。由于其他人均無法偽造簽名,也就說明了交易的發(fā)起方只可能是擁有該私鑰的用戶,該用戶也就無法對交易的存在以及交易的內(nèi)容(數(shù)量、收款方等)進行抵賴。因此,簽名函數(shù)實現(xiàn)了用戶對其鏈上資產(chǎn)的絕對控制權。P2P網(wǎng)絡P2P網(wǎng)絡的含義是“點對點網(wǎng)絡”。網(wǎng)絡鏈接功能是賬本得以“分布式”的鏈接基礎,實現(xiàn)一個對等、點對點的P2P網(wǎng)絡結構。這也是分布式賬本與傳統(tǒng)中心化系統(tǒng)核心區(qū)別之一。由于沒有特殊的中心節(jié)點,區(qū)塊鏈可以不依賴于某些中心化節(jié)點即可運行,以技術的分布實現(xiàn)業(yè)務上的分布。和傳統(tǒng)的BitTorrent類似,很多技術可以用于實現(xiàn)一個P2P的網(wǎng)絡,包括Gossip、Kademlia、NAT等。目前一些用于組建網(wǎng)絡和穿透內(nèi)網(wǎng)的開發(fā)工具,例如libp2p等也被越來越多的用于區(qū)塊鏈平臺。共識算法作為區(qū)塊鏈的核心,理解區(qū)塊鏈的共識機制至關重要。共識機制是區(qū)塊鏈節(jié)點就區(qū)塊鏈信息達成全網(wǎng)一致的共識的機制,可以保證最新的區(qū)塊被準確添加至區(qū)塊鏈、節(jié)點儲存的區(qū)塊鏈信息一致不可叉甚至可以抵御惡意攻擊??梢岳斫獬梢惶状蠹乙黄鹱袷氐挠螒蛞?guī)則,在這套規(guī)則中,所有人一起參與這個游戲,維護整個網(wǎng)絡的安全,并且獲得回報。主流的共識機制有很多,包括工作量證明(PoW),權益證明(PoS),混合證明(PoS+PoW)等等。而我們熟悉的以太坊(ETH)主網(wǎng)的共識機制為早期PoW,后期PoS。比特幣區(qū)塊鏈采用去中心化記賬方法,所有節(jié)點都有記賬權利,但最后寫人新區(qū)塊需要得到全網(wǎng)所有節(jié)點驗證有效,而且所有節(jié)點最后保存的賬本是一樣的。要實現(xiàn)去中心化記賬一致性和正確性關鍵是共識算法。共識算法理解為確保記賬一致性的機制。比特幣采用的共識算法是基于工作量證明的PoW算法。近些年陸續(xù)出現(xiàn)一些新的數(shù)字貨幣基于新共識算法,包括權益證明PoS,授權股權證明DPoS,混合共識(Casper/PoW+PoS、BFT+PoW等)、其他分布式共識算法(PBFT、Raft)。智能合約智能合約是指一種計算機協(xié)議,這類協(xié)議一旦制定和部署就能實現(xiàn)自我執(zhí)行(self-executing)和自我驗證(self-verifying),而且不再需要人為的干預。從技術角度來說,智能合約可以被看作一種計算機程序,這種程序可以自主地執(zhí)行全部或部分和合約相關的操作,并產(chǎn)生相應的可以被驗證的證據(jù),來說明執(zhí)行合約操作的有效性。智能合約具有以下優(yōu)點:(1)高效的實時更新:任何時候都可以響應用戶請求,大大提升交易效率。(2)準確執(zhí)行:條款和執(zhí)行過程提前制定好,執(zhí)行結果可控且保證準確性。(3)較低人為干預風險:智能合約一旦部署,合約內(nèi)容無法修改,合約生效后無法更改。(4)去中心化權威:智能合約監(jiān)督和仲裁由計算機而不是中心化權威完成,區(qū)塊鏈網(wǎng)絡不存在絕對權威,而是全體用戶集體監(jiān)督和仲裁。(5)較低的運行成本:智能合約沒有人力干預,降低合約履行仲裁和執(zhí)行需要的人力成本。智能合約區(qū)塊鏈2.0階段的一個重要標志是智能合約概念的實現(xiàn),可以在區(qū)塊鏈的分布式賬本基礎上,實現(xiàn)去中心的多方參與、規(guī)則透明不可篡改、符合條件即可執(zhí)行的“合約”。在區(qū)塊鏈早期,以比特幣為代表的區(qū)塊鏈網(wǎng)絡,更多是以簡單腳本的方式實現(xiàn)了一些基本的可編程屬性。不過由于腳本自身設計原因,一般可實現(xiàn)的功能有限。而當前的可編程實現(xiàn),通常會以某種虛擬機的方式來實現(xiàn),例如EVM等。進而可形成相對獨立的合約層。對于運行環(huán)境更可控的許可鏈(聯(lián)盟鏈、私有鏈等),也會采用容器方式實現(xiàn)應用邏輯。容器是近年來興起的、不同于虛擬機的一種新型虛擬化技術。相比于指令有限的EVM等虛擬機方式,容器可調(diào)用的資源更多感謝觀看!區(qū)塊鏈典型應用區(qū)塊鏈的典型應用區(qū)塊鏈是新一代信息技術的重要組成部分,是分布式網(wǎng)絡、加密技術、智能合約等多種技術集成的新型數(shù)據(jù)庫軟件。近年來,區(qū)塊鏈技術和產(chǎn)業(yè)在全球范圍內(nèi)快速發(fā)展,應用已延伸到數(shù)字金融、物聯(lián)網(wǎng)、智能制造、供應鏈管理、數(shù)字資產(chǎn)交易等多個領域,展現(xiàn)出廣闊的應用前景。加密數(shù)字貨幣的代表——比特幣比特幣(Bitcoin,BTC)是區(qū)塊鏈技術的第1個典型應用,由中本聰提出并實現(xiàn)。比特幣網(wǎng)絡中的加密數(shù)字貨幣是比特幣,在比特幣網(wǎng)絡進行挖礦可以獲取比特幣這種加密數(shù)字貨幣。這種加密數(shù)字貨幣可以通過比特幣網(wǎng)絡或其他交易網(wǎng)站進行交易,可以用來購買電子商品或與其他的加密數(shù)字貨幣兌換,也可以將比特幣捐贈給其他人。官方網(wǎng)站https://www.B/比特幣簡介與大多數(shù)貨幣不同,比特幣不依靠特定貨幣機構發(fā)行,它依據(jù)特定算法,通過大量的計算產(chǎn)生,比特幣經(jīng)濟使用整個P2P網(wǎng)絡中眾多節(jié)點構成的分布式數(shù)據(jù)庫來確認并記錄所有的交易行為,并使用密碼學的設計來確保貨幣流通各個環(huán)節(jié)安全性。P2P的去中心化特性與算法本身可以確保無法通過大量制造比特幣來人為操控幣值?;诿艽a學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣其總數(shù)量有限,該貨幣系統(tǒng)曾在4年內(nèi)只有不超過1050萬個,之后的總數(shù)量將被永久限制在2100萬個。智能合約鼻祖——以太坊
以太坊(Ethereum)是一個開源的、有智能合約功能的區(qū)塊鏈公共平臺。它是程序員維塔利克·布特林受比特幣啟發(fā)后提出并組織開發(fā)的一個開發(fā)平臺,用于開發(fā)各種基于智能合約的去中心化應用(DApp)。以太坊的目的是要將區(qū)塊鏈技術應用于加密數(shù)字貨幣以外的領域,比如社交、眾籌、游戲等,如圖2-5所示。隨著以太坊的不斷發(fā)展,已經(jīng)出現(xiàn)了各種各樣的去中心化應用,如電子貓、RPG游戲、微博客、身份管理、眾籌等。以太坊官網(wǎng)https://www.E/以太坊簡介以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區(qū)塊鏈平臺,通過其專用加密貨幣以太幣提供去中心化的以太虛擬機(EthereumVirtualMachine)來處理點對點合約。迪士尼區(qū)塊鏈平臺——龍鏈龍鏈(Dragonchain),是迪士尼(Disney)進行“孵化”的一個區(qū)塊鏈項目,它是首個比較著名的娛樂行業(yè)的區(qū)塊鏈項目。在龍鏈的白皮書中指出,它的目的是打造一站式的區(qū)塊鏈商業(yè)服務平臺。它有3個重要組成部分:開源平臺、孵化器和產(chǎn)品及服務市場.龍鏈的官網(wǎng)地址為:https://D/龍鏈簡介與加密貨幣比特幣和以太坊背后的技術一樣,Dragonchain是一種數(shù)字分類賬,它使用復雜的算法以不易修改的方式記錄交易。每個區(qū)塊鏈都包含發(fā)生在其上的所有事情的完整歷史記錄,這使得在金融交易中發(fā)生欺詐更加困難。然而,與公共比特幣和以太坊協(xié)議不同,Dragonchain是一種混合型,這意味著一些信息是私人的,有些是公開的。Linux基金會的開源賬本——Hyperledger區(qū)塊鏈是新一代信息技術的重要組成部分,是分布式網(wǎng)絡、加密技術、智能合約等多種技術集成的新型數(shù)據(jù)庫軟件。近年來,區(qū)塊鏈技術和產(chǎn)業(yè)在全球范圍內(nèi)快速發(fā)展,應用已延伸到數(shù)字金融、物聯(lián)網(wǎng)、智能制造、供應鏈管理、數(shù)字資產(chǎn)交易等多個領域,展現(xiàn)出廣闊的應用前景。官網(wǎng)地址是https://www.H/區(qū)塊鏈操作系統(tǒng)——EOSEOS(EnterpriseOperationSystem)是為商用分布式應用設計的一款區(qū)塊鏈操作系統(tǒng),是創(chuàng)始人BM主導開發(fā)的一套新的區(qū)塊鏈架構,旨在實現(xiàn)分布式的性能擴展,被稱為“區(qū)塊鏈3.0”,其官網(wǎng)首頁如圖2-12所示。EOS的設計目標包括四點:零手續(xù)費;支持上億級別海量用戶;超過百萬TPS(Transactionpersecond)的性能;橫向和縱向的擴展能力。EOS官網(wǎng)https://eos.io/EOS簡介盡管EOS為了更高的性能犧牲了部分去中心化特點,但是EOS構建了一個開發(fā)者友好的區(qū)塊鏈底層平臺,利用EOS代幣通脹機制使得用戶免費使用網(wǎng)絡資源,同時兼具可擴展性和安全性。EOS共識機制基于BFT-DPOS,設立了21個超級節(jié)點進行記賬,同時設立100個備選節(jié)點對21個超級節(jié)點進行監(jiān)督,同時為用戶提供去中心化的智能合約服務。另外,EOS采用了類似電子郵件模式的系統(tǒng)架構和跨鏈消息傳遞機制,不同于傳統(tǒng)的點對點通信網(wǎng)絡。EOS提供賬戶、身份驗證、數(shù)據(jù)庫、異步通信以及在數(shù)以百計的CPU或集群上的程序調(diào)度。該技術的最終形式是一個區(qū)塊鏈體系架構,該架構每秒可以支持數(shù)百萬個交易,而普通用戶無須支付任何使用費用。感謝觀看!
賬本技術發(fā)展賬本的演變歷史階段一:簡單賬本最早的賬本是“庫辛(Kushim)泥板”,于1929年發(fā)掘于幼發(fā)拉底河下游右岸的伊拉克境內(nèi)。據(jù)鑒定,庫辛泥板屬于公元前3500~前3000年的烏魯克城(Uruk,美索不達米亞西南部蘇美爾人的古城),其上的文字記錄內(nèi)容為“37個月收到了29086單位的大麥,并由庫辛簽核”階段二:復式賬本復式記賬法最早的文字記載出現(xiàn)于1494年意大利著名數(shù)學家盧卡·帕切奧利(LucaPacioli)的著作中,演化到現(xiàn)在包括增減記賬法、收付記賬法、借貸記賬法三種。目前最常用的是借貸記賬法,它基于會記恒等式(資產(chǎn)=負債+權益),確保每筆交易都按照該恒等式進行記錄。復式記賬法原理并不復雜。由于交易的本質(zhì)是某種價值從來源方轉移到了目標方,因此可將每筆交易分別在借方(目標方)和貸方(來源方)科目進行記錄,且借貸雙方的總額應該時刻保持相等。使用復式記賬法,庫辛如果再收到大麥入庫,會分別在“庫存大麥科目”和“應收大麥科目”上都進行記錄,并且兩個科目的數(shù)額是一致的。如果要做審核,可以分別對不同科目進行統(tǒng)計,最終所有科目的結果應該保持一致。階段三:數(shù)字化賬本如果要評價20世紀最偉大的十大發(fā)明,數(shù)字計算機的出現(xiàn)一定會入圍。它在物理世界之外開創(chuàng)了全新的賽博空間,為社會的方方面面都帶來了巨大變化。早期的計算機,很重要的一個用途便是進行賬目相關的統(tǒng)計處理。1951年,全世界第一臺商用計算機UNIVAC,即為美國人口普查局所使用。使用計算機,不但可以提高大規(guī)模記賬的效率,而且可以避免人工書寫的錯誤。為了更好的管理統(tǒng)計數(shù)據(jù),人們發(fā)明了專門的數(shù)據(jù)庫技術。從最早的網(wǎng)狀數(shù)據(jù)庫(NetworkDatabases)和層次數(shù)據(jù)庫(HierarchicalDatabases),到開創(chuàng)意義的關系型數(shù)據(jù)庫(RelationalDatabase),再到互聯(lián)網(wǎng)出現(xiàn)后大量新需求催生的大數(shù)據(jù)、NoSQL等技術,根源上其實都與記賬息息相關。階段四:分布式賬本直到2009年1月,基于區(qū)塊鏈結構的比特幣網(wǎng)絡悄然問世,此后數(shù)年里,在分布式的場景下穩(wěn)定支持了大量的轉賬業(yè)務。這讓人們開始認識到,區(qū)塊鏈這一極為簡潔的數(shù)據(jù)結構,居然恰好解決了分布式記賬的基本需求。目前,基于區(qū)塊鏈結構的分布式賬本解決方案,也往往被簡稱為區(qū)塊鏈技術。從2014年開始,金融、科技領域的專家們越來越關注區(qū)塊鏈相關的技術,嘗試研發(fā)基于分布式賬本技術的解決方案。2015年底,三十家金融、科技領域的巨頭企業(yè)們(包括IBM、Accenture、Intel、J.P.Morgan、DTCC、SWIFT、Cisco等)聯(lián)合成立了超級賬本(Hyperledger)項目,由Linux基金會進行管理,遵循Apachev2許可,致力于打造一個開源、滿足企業(yè)級應用的分布式賬本科技生態(tài)。目前圍繞企業(yè)分布式賬本的核心訴求,已經(jīng)發(fā)展到9大頂級項目,超過200名來自全球的企業(yè)會員,并支撐了眾多的探索和落地案例。賬本科技的未來1.可以無限增加的巨型賬本——每個區(qū)塊可以視作這個賬本的一頁,每增加一個區(qū)塊,賬本就多了一頁,這一頁中可能會包含一條或多條記錄信息;2.加密且有順序的賬本——賬目信息會被打包成一個區(qū)塊并加密,同時蓋上時間戳,一個個區(qū)塊按時間戳順序鏈接形成一個總賬本;3.去中心化的賬本——由網(wǎng)內(nèi)用戶共同維護的,它是去中心化的。比特幣區(qū)塊鏈UTXO每筆交易都有若干交易輸入,也就是資金來源,也都有若干筆交易輸出,也就是資金去向。一般來說,每一筆交易都要花費(spend)一筆輸入,產(chǎn)生一筆輸出,而其所產(chǎn)生的輸出,就是“未花費過的交易輸出”,也就是UTXO。賬戶模式比特幣用的基于交易的賬本:這種模式下無法顯示的得知某用戶下有多少錢,需要根據(jù)UTXO推算,這種模式的好處就是隱私保護要稍微好一點,壞處就是在使用上與日常使用不太一樣:需要給出幣的來源。以太坊中使用的是基于賬戶的賬本:這樣做有一個好處對于doublespendingattack有天然的防御作用;但是缺點中就包含了replayattack:解決辦法就是在nonce中加一個計數(shù)器,表示該賬戶交易一共進行了幾次,轉賬的時候,交易的次數(shù)要成為交易的一部分,一起包含進去,然后整個內(nèi)容要加上A的簽名,這就是一個完整的交易。感謝觀看!區(qū)塊結構目錄區(qū)塊結構區(qū)塊頭區(qū)塊標識符:區(qū)塊頭哈希值和區(qū)塊高度區(qū)塊體區(qū)塊結構有什么特點什么是區(qū)塊結構
區(qū)塊是區(qū)塊鏈的核心主體,一個區(qū)塊主要由兩部分組成:區(qū)塊頭和由交易列表構成的區(qū)塊主體,其中區(qū)塊頭記錄當前區(qū)塊的元數(shù)據(jù),而區(qū)塊體則存儲封裝到該區(qū)塊的實際交易數(shù)據(jù)。區(qū)塊頭區(qū)塊頭(80字節(jié))
區(qū)塊版本號(ver,4字節(jié))區(qū)塊版本號父區(qū)塊頭哈希值(pre_block,32字節(jié))前一個區(qū)塊頭的哈希值Merkle根哈希(mrkl_root,32字節(jié))交易列表生成的默克爾樹根哈希時間戳(time,4字節(jié))該區(qū)塊產(chǎn)生的近似時間,精確到秒的UNIX時間戳難度目標(bits,4字節(jié))難度目標,挖礦難度值Nonce(4字節(jié))挖礦過程中使用的隨機值區(qū)塊標識符:區(qū)塊頭哈希值和區(qū)塊高度區(qū)塊主標識符是它的加密哈希值,一個通過SHA256算法對區(qū)塊頭進行二次哈希計算而得到的數(shù)字指紋。產(chǎn)生的32字節(jié)哈希值被稱為區(qū)塊哈希值,但是更準確的名稱是:區(qū)塊頭哈希值,因為只有區(qū)塊頭被用于計算區(qū)塊標識符:區(qū)塊頭哈希值和區(qū)塊高度和區(qū)塊哈希值不同的是,區(qū)塊高度并不是唯一的標識符。雖然一個單一的區(qū)塊總是會有一個明確的、固定的區(qū)塊高度,但反過來卻并不成立,一個區(qū)塊高度并不總是識別一個單一的區(qū)塊。兩個或兩個以上的區(qū)塊可能有相同的區(qū)塊高度,在區(qū)塊鏈里爭奪同一位置。區(qū)塊體區(qū)塊體存儲著這個區(qū)塊的詳細數(shù)據(jù)(Data),這個數(shù)據(jù)包含若干行記錄,可以是交易信息,也可以是其他某種信息。區(qū)塊與Hash是一一對應的,Hash可以當做是區(qū)塊的唯一標識。區(qū)塊結構有什么特點每一個區(qū)塊上記錄的交易是上一個區(qū)塊形成之后、該區(qū)塊被創(chuàng)建前發(fā)生的所有價值交換活動,這個特點保證了數(shù)據(jù)庫的完整性。在絕大多數(shù)情況下,一旦新區(qū)塊完成后被加入到區(qū)塊鏈的最后,則此區(qū)塊的數(shù)據(jù)記錄就再也不能改變或刪除,這個特點保證了數(shù)據(jù)庫的嚴謹性,即無法被篡改。感謝觀看創(chuàng)世區(qū)塊目錄什么是創(chuàng)世區(qū)塊比特幣區(qū)塊鏈的創(chuàng)世區(qū)塊信息創(chuàng)世區(qū)塊誕生的小趣事創(chuàng)世區(qū)塊的意義什么是創(chuàng)世區(qū)塊區(qū)塊鏈里的第一個區(qū)塊由中本聰創(chuàng)建于2009年,被稱為創(chuàng)世區(qū)塊。它是區(qū)塊鏈里面所有區(qū)塊的共同祖先,這意味著你從任一區(qū)塊,循鏈向后回溯,最終都將到達創(chuàng)世區(qū)塊。比特幣區(qū)塊鏈的創(chuàng)世區(qū)塊信息創(chuàng)世區(qū)塊誕生的小趣事中本聰挖出的比特幣創(chuàng)世區(qū)塊還包含這樣一句話“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks.”這句話是泰晤士報當天的頭版文章標題,引用這句話,既是對該區(qū)塊產(chǎn)生時間的說明,也可視為半開玩笑地提醒人們一個獨立的貨幣制度的重要性,同時告訴人們隨著比特幣的發(fā)展,一場前所未有的世界性貨幣革命將要發(fā)生。創(chuàng)世區(qū)塊的意義創(chuàng)世區(qū)塊創(chuàng)立標志著比特幣區(qū)塊鏈的誕生——并且由于比特幣SV(BSV)是唯一一個仍然保持比特幣原始協(xié)議的區(qū)塊鏈,因此這是BSV單獨慶祝的“生日”。比特幣創(chuàng)世區(qū)塊也稱為BLOCK#0,它的“開采“方式與后來的比特幣區(qū)塊有所不同。標志著一次全新的生產(chǎn)力和生產(chǎn)關系層面的變革的開始,創(chuàng)世區(qū)塊的誕生也標志著一種全新的加密貨幣的誕生,為后續(xù)區(qū)塊鏈技術的發(fā)展和比特幣的發(fā)展奠定了基礎。感謝觀看Merkle樹目錄Merkle樹HashHash列表Merkle根哈希01什么是Merkle樹Merkle樹Merkletree(默克爾樹),是一種哈希二叉樹,在計算機科學中,二叉樹是每個節(jié)點最多有兩個子樹的樹結構,每個節(jié)點代表一條結構化數(shù)據(jù)。在比特幣網(wǎng)絡中,Merkle樹被用來歸納一個區(qū)塊中的所有交易,同時生成整個交易集合的根哈希,且提供了一種校驗區(qū)塊是否存在某交易的高效途徑。過程展示整個過程如圖所示02HashHash要實現(xiàn)完整性校驗,最簡單的方法就是對要校驗的整個的數(shù)據(jù)文件做個哈希運算,把得到的哈希值公布在網(wǎng)上,這樣我們把數(shù)據(jù)下載到手之后,再次運算一下哈希值,如果運算結果相等,就表示我們下載過程中文件沒有任何的損壞。Hash這種簡單的采用哈希的方式做數(shù)據(jù)運算,比較適合數(shù)據(jù)本身不做分割,同時是放在一臺服務器上的情況。03Hash列表Hash列表在去中心化網(wǎng)絡,或者叫點對點網(wǎng)絡上,數(shù)據(jù)往往都是拆分成很多小碎片去下載的,而且其中很多機器可以認為是不穩(wěn)定或者是不可信的,這時需要有更加巧妙的做法。最簡單的方式就是用HashList,也就是哈希列表。實際中,點對點網(wǎng)絡在傳輸數(shù)據(jù)的時候,其實都是把比較大的一個文件,切成小的數(shù)據(jù)塊。怎么保證它們本身都是正確的呢?答案是我們需要一個根哈希,根就是樹根的根。把每個小塊的哈希值拼到一起,然后對整個這個長長的字符串再做一次哈希運算,最終的結果就是哈希列表的根哈希。04Merkle根哈希Merkle根哈希Merkle根哈希是區(qū)塊主體的核心濃縮,它是該區(qū)塊中所有交易構成的哈希二叉樹的根哈希值,Merkle樹是自底向上構建的數(shù)據(jù)結構,所以可由最根部搜尋到任何一個在該樹中的數(shù)據(jù)。標題文本預設此部分內(nèi)容作為文字排版占位顯示
(建議使用主題字體)比特幣完整區(qū)塊結構感謝觀看區(qū)塊數(shù)據(jù)存儲目錄賬本存儲BerkeleyDBLevelDBCouchDB賬本存儲什么是賬本?賬本是指包括區(qū)塊鏈的數(shù)據(jù)結構、所有的交易信息和當前狀態(tài)的數(shù)字記錄。分布式賬本是指一種在網(wǎng)絡成員之間共享、復制和同步的數(shù)據(jù)庫。賬本存儲的邏輯結構區(qū)塊鏈經(jīng)常被視為一個垂直的棧,第一個區(qū)塊作為棧底的首區(qū)塊,隨后每個區(qū)塊都被放置在之前的區(qū)塊之上。例子:鏈狀結構圖中3個區(qū)塊記錄了交易1到交易9的信息。邏輯結構:不可篡改由此可見,區(qū)塊鏈上的信息是不可篡改的。BerkeleyDBBerkeleyDB是一個開源的文件數(shù)據(jù)庫,介于關系數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間,使用方式與內(nèi)存數(shù)據(jù)庫類似。BerkeleyDB特點(1)開源的KV類型數(shù)據(jù)庫;(2)文件數(shù)據(jù)庫;(3)嵌入式數(shù)據(jù)庫,提供一系列API,調(diào)用簡單;(4)DB庫和應用程序在同一個地址空間,所以DB庫無網(wǎng)絡通信模塊;(5)不支持對SQL代碼解碼,可以直接訪問數(shù)據(jù);(6)提供多編程語言調(diào)用的各個版本。LevelDB比特幣核心客戶端使?Google的LevelDB數(shù)據(jù)庫存儲區(qū)塊鏈元數(shù)據(jù)。LevelDB(默認的KV數(shù)據(jù)庫):支持鍵的查詢、組合鍵的查詢、鍵范圍查詢。LevelDB的特點(1)鍵和值可以是任意的字節(jié)數(shù)組。(2)數(shù)據(jù)是按鍵排序后存儲的。(3)可以自定義排序方法。(4)基本的操作是基于鍵的:
Put(key,value);Get(key);Delete(key)。(5)支持批量修改的原子操作。(6)支持創(chuàng)建快照。(7)支持對數(shù)據(jù)前向和后向的迭代操作。(8)數(shù)據(jù)采用Snappy壓縮CouchDBCouchDB是一種文檔型數(shù)據(jù)庫,提供RESTful的API操作數(shù)據(jù)庫文檔。CouchDB支持原生的JSON和字節(jié)數(shù)組的操作,基于JSON的操作,可以支持復雜的查詢。
CouchDoc存儲在CouchDB中的數(shù)據(jù)CouchDoc包含JSONValue和附件兩個部分:
CouchDoc其中JSONValue:也和存儲的類型有關系,它最終會轉換成一個JSON的結點??偨Y而區(qū)塊鏈的數(shù)據(jù)存儲,主要討論的是兩方面:1.區(qū)塊鏈中的鏈中鏈式結構的特點。2.是區(qū)塊鏈的邏輯與數(shù)據(jù)庫之間的關系,是映射到數(shù)據(jù)庫,存儲介質(zhì)的物理結構。感謝觀看密碼學概念目錄密碼學簡介密碼學的基本目標密碼體制的分類密碼學簡介密碼學是一門古老而年輕的科學,在當今的信息時代,大量敏感信息如法庭記錄、私人文檔、軟件源代碼、銀行交易、保險單據(jù)等常常通過公共通信設施或計算機網(wǎng)絡來進行交換。密碼學簡介密碼學(cryptology)作為數(shù)學的一個分支,是密碼編碼學和密碼分析學的統(tǒng)稱。使消息保密的技術和科學叫做密碼編碼學(cryptography)破譯密文的科學和技術就是密碼分析學(cryptanalysis)。密碼學的基本目標信源A通過公開的信道向信宿B傳遞信息。這中間存在一個敵手,可以從公開信道發(fā)起攻擊。它有兩種攻擊方式:1.被動攻擊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國微型鉚釘數(shù)據(jù)監(jiān)測研究報告
- 商法二第六章合同法答案
- 2025至2030年中國建設項目管理軟件數(shù)據(jù)監(jiān)測研究報告
- 2025年度金融衍生品期權交易監(jiān)督合同
- 二零二五年度培訓機構教師培訓資料保密合同
- 第二章第三節(jié)河流第一課時教學設計2023-2024學年人教版地理八年級上冊
- 二零二五年度廣告宣傳資源共享及費用分攤協(xié)議
- 2025年度酒吧特色飲品店房屋租賃與品牌合作合同
- 2025年湖南鐵道職業(yè)技術學院單招職業(yè)適應性測試題庫帶答案
- 農(nóng)村土地租賃與鄉(xiāng)村旅游融合發(fā)展合同
- 橋梁施工常見問題及預防控制要點(PPT,46)
- 中俄文一般貿(mào)易合同范本
- 知情同意書核查要點課件
- 廣東省深圳市2021-2022學年高二下學期期末考試 語文 Word版含解析
- 專項施工方案專家論證意見回復表
- 印象主義、后印象主義課件
- 第三章-農(nóng)村公共管理組織課件
- 《醫(yī)古文》教學全套課件580頁
- 水電廠計算機監(jiān)控系統(tǒng)改造技術要求
- 勝利油田壓驅(qū)技術工藝研究進展及下步工作方向
- 依戀理論之母嬰依戀
評論
0/150
提交評論