區塊鏈短鏈長鏈
㈠ 區塊鏈的"區塊"是何含義
「區塊鏈,就相當於這個賬本,區塊就相當於這個賬本的一頁,區塊中所承載的信息,就是這一頁上記載的交易內容。區塊鏈是一塊一塊的,每一塊寫滿了交易記錄,連在一起成了一條鏈就是區塊鏈。」
以比特幣為例,大約每十分鍾就行一次「算力競賽」來競爭這個記賬的權利。就好比說,你的算力牛逼,算得多,就像肌肉更結實,更會打,大家都服你,讓你來記這個帳,即向區塊鏈這個總賬本寫入一個區塊(注意不是區塊里的內容)的權利。不過需要說明的一點是,計算能力只能決定贏得競爭的概率。就好比說,一共有若干張彩票,算力多的可以買更多張提高中獎概率,然而買得多的人,也不一定最後就中獎了
區塊鏈即為一個個用這樣的計算力保障的數據塊鏈條。從第一塊開始,每一個區塊依照一定規則收集數據,然後將這些數據附上一個值,使得形成的數據塊經過類似的單向函數計算後的結果落到一定范圍內。通過估算全網的算力以及控制結果范圍的大小,來保障符合要求數據塊在足夠長的時間內才能被找到。這個計算結果會被下一個區塊包含,而這樣形成的鏈式數據結構則稱為區塊鏈。
每一個小賬本被稱為區塊,每一個不同的區塊鏈協議(產生不同的加密貨幣)都會規定每一個區塊的大小(最初比特幣為1M)賬本組成區塊,區塊構成鏈表,區塊的頭包含前一塊的哈希值,這就是區塊鏈。如此一來,任何人就不能隨意修改其中的內容,或者交換順序。如果你這么做,意味著你需要重新計算所有的特殊數字。
規定,允許世界上的每一個人建造區塊。每一個新建區塊的人(找到了這個特殊數字 - SHA256值有30個零)都能獲得獎勵,對於新建區塊的這部分人(礦工)來說:
1.沒有發送者信息,不需要簽名
2.每一個新區塊都會給整個幣種增加新的虛擬(加密)貨幣
3.新建區塊的過程又被稱為「挖礦」:需要大量工作量並且可以向整個經濟體注入新的貨幣
4.挖礦的工作是:接受交易信息,建造區塊,把區塊廣播出去,然後得到新的錢作為獎勵
對每個礦工來說,每個區塊就像一個小彩票,所有人都在拚命快速猜數字,直到有一個幸運兒找到了一個特殊數字,使得整個區塊的哈希值開頭有許多個零,就能得到獎勵。我記得有一個知乎答主給了一個形象的比喻,區塊鏈就像一個擁有貌美如花女兒(區塊)的國王,有很多的青年翹首以盼,而國王的方法是出了一道很難得題目讓所有的青年計算(學習改變人生),誰算的快(在計算哈希值過程也可能是運氣好)就能抱得美人歸
對於想用這個系統來收付款的用戶來說,他們不需要收聽所有的交易,而只要收聽礦工們廣播出來的區塊,然後更新到自己保存的區塊鏈中就可以了
「區塊」也可以想像為一個盒子,區塊里放著一些數字貨幣以及一張小紙條,小紙條上記錄了這十分鍾內產生的那唯一一筆交易信息, 比如說——「小A轉賬給了小B100元」;當然,這段信息肯定是被加密處理過的,為的就是保證只有小A和小B(通過他們手上的鑰匙)才有能力解讀裡面真正的內容。
這個神奇的區塊被創造出來之後,很快被埋在了地底下,至於埋在哪裡?沒有一個人不知道,需要所有計算機節點一起參與進來掘地三尺後才有可能找到(找到一個有效的工作量證明)。顯然,這是一件工作量巨大、成果隨機的事件。但是呢,對於計算機節點來說,一旦從地底下挖出這個區塊,他將獲得區塊內價值不菲的數字貨幣,以及「小A轉賬給了小B100元」過程中小A所支付的小費。同時,對於這個節點來說,也只有他才有權利真正記錄小紙條里的內容,這是一份榮耀,而其他節點相當於只能使用它的復製品,一個已經沒有數字貨幣加持的副本。當然這個神奇的區塊還有一些其他很特別的地方,
可以將計算機節點從地底下挖出區塊的過程叫做「挖礦」,剛才說了,這是一件工作量巨大、運氣成分較多、但收益豐厚的事兒。來自中國上海浦東新區張衡路上的一個節點突然跳出來很興奮的說:「 我挖到區塊了!裡面的小紙條都是有效的!獎勵歸我!」 。雖然此刻張衡路節點已經拿到了數字貨幣,但對於其他計算機節點來說,因為這裡面還涉及到其他一些利益瓜葛,他們不會選擇默認相信張衡路節點所說的話;基於陌生節點彼此不信任的原則,他們拿過張衡路節點所謂挖到的區塊(副本),開始校驗區塊內的小紙條信息是否真實有效等等。在區塊鏈世界裡,節點們正是通過校驗小紙條信息的准確性,或間接或直接判斷成功挖出區塊的節點是否撒謊。(如何定義小紙條信息真實有效,後面會講解,這里暫不做贅述)。在校驗過程中,各個節點們會直接通過下面兩個行為表達自己對張衡路節點的認同(准確無誤)和態度:停止已經進行了一半甚至80%的挖礦進程;將張衡路節點成功挖出的區塊(副本)追加到自己區塊鏈的末尾。你可以稍微有點困惑:停止可能已經執行了80%的挖礦行為,那之前80%的工作不是就白做了嘛?!然後,區塊鏈的末尾又是個什麼鬼東西?對於第一個困惑。我想說,你說的一點沒錯,但是沒辦法,現實就是這么殘酷,即便工作做了80%,那也得放棄,這80%的工作勞苦幾乎可以視為無用功,絕對的傷財勞眾。第二個困惑,區塊鏈和區塊鏈的末尾是什麼鬼?這里因為事先並沒有講清楚,但是你可以簡單想像一下:區塊是周期性不斷的產生和不斷的被挖出來,一個計算機節點可能事先已經執行了N次「從別人手上拿過區塊 -> 校驗小紙條有效性」的流程,肯定在自己的節點上早已經存放了N個區塊,這些區塊會按照時間順序整齊的一字排列成為一個鏈狀。沒錯,這個鏈條,就是你一直以來認為的那個區塊鏈。如果你還是不能夠理解,沒關系,文章後面還會有很多次機會深入研究。
進入到區塊內更微觀的世界裡一探究竟,看看小紙條到底是怎麼一回事,它的產生以及它終其一生的使命:發起交易的時候,發起人會收到一張小紙條,他需要將交易記錄比如說「盜盜轉賬給張三40元」寫在紙上。說來也神奇,當寫完的那一剎那,在小紙條的背面會自動將這段交易記錄格式化成至少包含了「輸入值」和「輸出值」這兩個重要欄位;「輸入值」用於記錄數字貨幣的有效來源,「輸出值」記錄著數字貨幣發往的對象。剛剛創建的小紙條立馬被標記成為「未確認」的小紙條。從地下成功挖出區塊並最終連接到區塊鏈里的小紙條一開始會被標記為「有效」。若這條有效的小紙條作為其他交易的輸入值被使用,那麼,這個有效的小紙條很快會被標記為「無效」。因為各種原因,區塊從鏈上斷開、丟棄,曾經這個區塊內被標記為「有效」的小紙條會被重新標記為「未確認」。區塊鏈裡面沒有賬戶余額的概念,你真正擁有的數字資產實際上是一段交易信息;通過簡單的加減法運算獲知你數字錢包里的余額。上面的1、2、3僅僅作為結論一開始強行灌輸給你的知識點,其中有幾個描述可能會有點繞,讓你覺得雲里霧里,只有了解整體區塊鏈你才能更全面認知其中奧妙。
區塊容量,比特幣從被創建時,或者說源代碼中規定了,區塊容量是1M。最初設計成1M的原因一方面,防止DOS攻擊。另一方面,當年中本聰在創建區塊鏈的時候的容量是32M,但是他通過一個說明為」Clear up「這樣毫不起眼的Commit把區塊容量改成了1M,為防止區塊鏈體積增長過快,為區塊容量這個問題添加了些神秘色彩。1M的容量意味著比特幣最大的處理交易數量在約2400(486882區塊1034.39的大小很接近了)。
區塊鏈說白了,就是一個分布式的記賬的一個小本本,用來記賬的一個工具,並且基於密碼學加密學的技術鋪墊,一旦數據交易記錄在區塊鏈這個本本上了,數據是不可篡改和抵賴的。互聯網是價值的傳遞,那區塊鏈呢就是信任的傳遞。在區塊鏈技術作為信用背書的前提下,區塊鏈中的各節點從各自單一的中心變為多方參與的統一多中心,不需要第三方機構的參與便可實現交易傳遞,效率提高。
㈡ 時邁科技的區塊鏈技術是什麼,如何理解
舉例來說,杭州時邁環境科技公司在區塊鏈產業化方面現在已經取得了很大進展。該公司的核心技術是擁有26項專利技術的炭化車,可以很好地解決目前由非洲豬瘟導致的病豬死豬無害化處理的難題,通過炭化車可移動的特點,可一站式從養殖戶這個源頭就杜絕公共食品安全問題。首先,這項成熟的技術已經取得了良好的實效,並且已經跟多個地方政府和有關部門簽訂了合作協議。其次,杭州時邁已經率先建立了數據中心,將公司所有的炭化車作業進行了通證化改造,每輛車的實際作業過程都實現了分布記錄、每一頭病死豬都拍照上鏈,生成對應哈希值,全程留痕、可追溯,利用了區塊鏈技術的優勢,保證全程無害化處理。
㈢ 以大小丑區塊鏈交易平台靠譜嗎
區塊鏈原本是一種基於互聯網的信息編碼、傳輸、加密、解密、驗證技術,但在我看來,現在已經上升到了一種「去中心化」的理念,本質上是一種理念上的革新。而比特幣就是這種理念的一個具體應用。打個比方來說,區塊鏈就相當於電子商務,你想想二十年前,有幾個人搞得懂什麼是電子商務,它本質上也是一種理念,只不過這種理念必須要藉助一定的技術手段來實現。而比特幣就相當於淘寶網,是電子商務的一個具體應用。
理解了去中心化,你就等於理解了區塊鏈,一個真正的區塊鏈項目就是通過合理的游戲規則設計輔以信息技術,來踐行去中心化理念的項目。比特幣系統就是去中心化理念和區塊鏈技術的一個優秀示範項目。不誇張地說,我覺得這是一場互聯網的理念革命,是人類的又一次平等化革命,上一次是打破了人與人之間在身份地位上的不平等,這一次是打破了游戲規則本身的不平等。正因為這樣,所以區塊鏈才能激發人們如此大的熱情,這是一個聽上去可以顛覆一切舊規則的新事物。
為什麼要叫「區塊鏈」?
因為中本聰把這個賬本設計成了由一個個「信息包」首尾相連而成的長鏈,每一個「信息包」被稱為一個「區塊」,這些區塊每一個都有唯一的編號(在比特幣系統中,編號被稱為高度(height)),這些編號就是自然數 1、2、3、4……一直往下排,不允許跳躍,也不允許中斷和重復。
下面講解區塊的具體規則:
第一個區塊當然是由區塊鏈的發明人「中本聰」親自創建的,那是北京時間 2009 年 1 月 4 日,在芬蘭赫爾辛基的一台小型伺服器上,第一個區塊誕生了,這也被稱作「創世區塊」。在這個區塊上,包含的主要信息是:
中間那段話是「中本聰」刻在第一個區塊上的紀念,從第 2 個區塊開始,以後每一個區塊都必須嚴格按照比特幣系統的規則來創建。區塊的規則是:
區塊規則
區塊鏈所有的奧妙就在尾巴上加的這個隨機數上,因為它實在太奧妙,讓我等凡夫俗子只能大呼過癮,所以後面我就把它稱為「奧數」,以方便講解。
因為二進制數,每一位只有兩種可能性,0 或者 1,所以,湊出一個奧數的可能性是 2 的 72 次方分之一,也就是 1 / 4722366482869645213696。這個數字已經大到看花眼了吧,它大約就是 4.7 萬億億分之一。換句話說呢,就是平均要進行 4.7 萬億億次 SHA 計算,才可能得到一個「奧數」,你可見每一個「奧數」的金貴。
可能成為新的奧數,完全沒有規律可循。
㈣ 區塊鏈有關區塊的問題求解
區塊鏈有關區塊的問題有很多。
㈤ 區塊鏈來了,會成為郵幣卡的詩和遠方嗎
技術1:區塊+鏈
關於如何建立一個嚴謹資料庫的問題,區塊鏈的辦法是:將資料庫的結構進行創新,把數據分成不同的區塊,每個區塊通過特定的信息鏈接到上一區塊的後面,前後順連來呈現一套完整的數據,這也是「區塊鏈」這三個字的來源。
區塊(block):在區塊鏈技術中,數據以電子記錄的形式被永久儲存下來,存放這些電子記錄的文件我們就稱之為「區塊(block)」。區塊是按時間順序一個一個先後生成的,每一個區塊記錄下它在被創建期間發生的所有價值交換活動,所有區塊匯總起來形成一個記錄合集。
區塊結構(BlockStructure):區塊中會記錄下區塊生成時間段內的交易數據,區塊主體實際上就是交易信息的合集。每一種區塊鏈的結構設計可能不完全相同,但大結構上分為塊頭(header)和塊身(body)兩部分。塊頭用於鏈接到前面的塊並且為區塊鏈資料庫提供完整性的保證,塊身則包含了經過驗證的、塊創建過程中發生的價值交換的所有記錄。
布比區塊鏈:利用密碼學可證明的演算法構建多中心網路信任,公開、透明、不可篡改、不可撤銷;多方參與信息透明共享,建立真品溯源的全程鏈式路徑,直達消費者;
區塊結構有兩個非常重要的特點:第一,每一個區塊上記錄的交易是上一個區塊形成之後、該區塊被創建前發生的所有價值交換活動,這個特點保證了資料庫的完整性。第二,在絕大多數情況下,一旦新區塊完成後被加入到區塊鏈的最後,則此區塊的數據記錄就再也不能改變或刪除。這個特點保證了資料庫的嚴謹性,即無法被篡改。
顧名思義,區塊鏈就是區塊以鏈的方式組合在一起,以這種方式形成的資料庫我們稱之為區塊鏈資料庫。區塊鏈是系統內所有節點共享的交易資料庫,這些節點基於價值交換協議參與到區塊鏈的網路中來。
區塊鏈是如何做到的呢?由於每一個區塊的塊頭都包含了前一個區塊的交易信息壓縮值,這就使得從創世塊(第一個區塊)到當前區塊連接在一起形成了一條長鏈。由於如果不知道前一區塊的「交易縮影」值,就沒有辦法生成當前區塊,因此每個區塊必定按時間順序跟隨在前一個區塊之後。這種所有區塊包含前一個區塊引用的結構讓現存的區塊集合形成了一條數據長鏈。
總結區塊鏈的基本結構:「人們把一段時間內生成的信息(包括數據或代碼)打包成一個區塊,蓋上時間 戳,與上一個區塊銜接在一起,每下一個區塊的頁首都包含了上一個區塊的索引數據,然後再在本頁中寫入新的信息,從而形成新的區塊,首尾相連,最終形成了區塊鏈。」這個結構的神奇之處:區塊(完整歷史)+ 鏈(完全驗證)= 時間戳
「區塊+鏈」的結構為我們提供了一個資料庫的完整歷史。從第一個區塊開始,到最新產生的區塊為止,區塊鏈上存儲了系統全部的歷史數據。
區塊鏈為我們提供了資料庫內每一筆數據的查找功能。區塊鏈上的每一條交易數據,都可以通過「區塊鏈」的結構追本溯源,一筆一筆進行驗證。
區塊+鏈=時間戳,這是區塊鏈資料庫的最大創新點。區塊鏈資料庫讓全網的記錄者在每一個區塊中都蓋上一個時間戳來記賬,表示這個信息是這個時間寫入的,形成了一個不可篡改、不可偽造的資料庫。我們認為,時間戳是區塊鏈中一項偉大的技術創新,它可以證明什麼呢?
技術2:分布式結構——開源的、去中心化的協議
我們有了區塊+鏈的數據之後,接下來就要考慮記錄和存儲的問題了。我們應該讓誰來參與數據的記錄,又應該把這些蓋了時間戳的數據存儲在哪裡呢?在現如今中心化的體系中,數據都是集中記錄並存儲於中央電腦上。但是區塊鏈結構設計精妙的地方就在這里,它並不贊同把數據記錄並存儲在中心化的一台或幾台電腦上,而是讓每一個參與數據交易的節點都記錄並存儲下所有的數據。
1.關於如何讓所有節點都能參與記錄的問題,區塊鏈的辦法是:構建一整套協議機制,讓全網每一個節點在參與記錄的同時也來驗證其他節點記錄結果的正確性。只有當全網大部分節點(或甚至所有節點)都同時認為這個記錄正確時,或者所有參與記錄的節點都比對結果一致通過後,記錄的真實性才能得到全網認可,記錄數據才允許被寫入區塊中。
2.關於如何存儲下「區塊鏈」這套嚴謹資料庫的問題,區塊鏈的辦法是:構建一個分布式結構的網路系統,讓資料庫中的所有數據都實時更新並存放於所有參與記錄的網路節點中。這樣即使部分節點損壞或被黑客攻擊,也不會影響整個資料庫的數據記錄與信息更新。
區塊鏈根據系統確定的開源的、去中心化的協議,構建了一個分布式的結構體系,讓價值交換的信息通過分布式傳播發送給全網,通過分布式記賬確定信息數據內容,蓋上時間戳後生成區塊數據,再通過分布式傳播發送給各個節點,實現分布式存儲。
分布式記賬——會計責任的分散化(Distributedaccountability)
從硬體的角度講,區塊鏈的背後是大量的信息記錄儲存器(如電腦等)組成的網路,這一網路如何記錄發生在網路中的所有價值交換活動呢?區塊鏈設計者沒有為專業的會計記錄者預留一個特定的位置,而是希望通過自願原則來建立一套人人都可以參與記錄信息的分布式記賬體系,從而將會計責任分散化,由整個網路的所有參與者來共同記錄。
區塊鏈中每一筆新交易的傳播都採用分布式的結構,根據P2P網路層協議,消息由單個節點被直接發送給全網其他所有的節點。
區塊鏈技術讓資料庫中的所有數據均存儲於系統所有的電腦節點中,並實時更新。完全去中心化的結構設置使數據能實時記錄,並在每一個參與數據存儲的網路節點中更新,這就極大的提高了資料庫的安全性。
通過分布式記賬、分布式傳播、分布式存儲這三大「分布」我們可以發現,沒有人、沒有組織、甚至沒有哪個國家能夠控制這個系統,系統內的數據存儲、交易驗證、信息傳輸過程全部都是去中心化的。在沒有中心的情況下,大規模的參與者達成共識,共同構建了區塊鏈資料庫。可以說,這是人類歷史上第一次構建了一個真正意義上的去中心化體系。甚至可以說,區塊鏈技術構建了一套永生不滅的系統——只要不是網路中的所有參與節點在同一時間集體崩潰,資料庫系統就可以一直運轉下去。
我們現在已經有了一套嚴謹的資料庫,也有了記錄並存儲這套資料庫的可用協議,那麼當我們將這套資料庫運用於實際社會時,我們要解決最核心的一個問題(問題三)是:如何使這個嚴謹且完整存儲下來的資料庫變得可信賴,使得我們可以在互聯網無實名背景下成功防止詐騙?
技術3:非對稱加密演算法
什麼是非對稱加密?簡單來說,它讓我們在「加密」和「解密」的過程中分別使用兩個密碼,兩個密碼具有非對稱的特點:(1)加密時的密碼(在區塊鏈中被稱為「公鑰」)是公開全網可見的,所有人都可以用自己的公鑰來加密一段信息(信息的真實性);(2)解密時的密碼(在區塊鏈中被稱為「私鑰」)是只有信息擁有者才知道的,被加密過的信息只有擁有相應私鑰的人才能夠解密(信息的安全性)。
簡單的總結:區塊鏈系統內,所有權驗證機制的基礎是非對稱加密演算法。常見的非對稱加密演算法包括RSA、Elgamal、D-H、ECC(橢圓曲線加密演算法)等。在非對稱加密演算法中,如果一個「密鑰對」中的兩個密鑰滿足以下兩個條件:1、對信息用其中一個密鑰加密後,只有用另一個密鑰才能解開;2、其中一個密鑰公開後,根據公開的密鑰別人也無法算出另一個,那麼我們就稱這個密鑰對為非對稱密鑰對,公開的密鑰稱為公鑰,不公開的密鑰稱為私鑰。在區塊鏈系統的交易中,非對稱密鑰的基本使用場景有兩種:1、公鑰對交易信息加密,私鑰對交易信息解密。私鑰持有人解密後,可以使用收到的價值。2、私鑰對信息簽名,公鑰驗證簽名。通過公鑰簽名驗證的信息確認為私鑰持有人發出。
我們可以看出,從信任的角度來看,區塊鏈實際上是數學方法解決信任問題的產物。過去,人們解決信任問題可能依靠熟人社會的「老鄉」,政黨社會的「同志」,傳統互聯網中的交易平台「支付寶」。而區塊鏈技術中,所有的規則事先都以演算法程序的形式表述出來,人們完全不需要知道交易的對手方是「君子」還是「小人」,更不需要求助中心化的第三方機構來進行交易背書,而只需要信任數學演算法就可以建立互信。區塊鏈技術的背後,實質上是演算法在為人們創造信用,達成共識背書。
技術4:腳本
腳本可以理解為一種可編程的智能合約。如果區塊鏈技術只是為了適應某種特定的交易,那腳本的嵌入就沒有必要了,系統可以直接定義完成價值交換活動需要滿足的條件。然而,在一個去中心化的環境下,所有的協議都需要提前取得共識,那腳本的引入就顯得不可或缺了。有了腳本之後,區塊鏈技術就會使系統有機會去處理一些無法預見到的交易模式,保證了這一技術在未來的應用中不會過時,增加了技術的實用性。
一個腳本本質上是眾多指令的列表,這些指令記錄在每一次的價值交換活動中,價值交換活動的接收者(價值的持有人)如何獲得這些價值,以及花費掉自己曾收到的留存價值需要滿足哪些附加條件。通常,發送價值到目標地址的腳本,要求價值的持有人提供以下兩個條件,才能使用自己之前收到的價值:一個公鑰,以及一個簽名(證明價值的持有者擁有與上述公鑰相對應的私鑰)。腳本的神奇之處在於,它具有可編程性:(1)它可以靈活改變花費掉留存價值的條件,例如腳本系統可能會同時要求兩個私鑰、或幾個私鑰、或無需任何私鑰等;(2)它可以靈活的在發送價值時附加一些價值再轉移的條件,例如腳本系統可以約定這一筆發送出去的價 值以後只能用於支付中信證券的手續費。