全面理解區塊鏈1 位元幣

2021-09-28 18:04:17 字數 3089 閱讀 9709

▪ 區塊鏈1.0——數字貨幣

▪ 區塊鏈2.0——智慧型合約

▪ 區塊鏈3.0——分布式社會

想要了解區塊鏈先從位元幣開始說起。

位元幣(btc)於2023年被中本聰首次提出。位元幣是一種發行透明的、去中心化的、自動控制的數字貨幣。

發行透明:發行規則透明,不像某國家紙幣,印多少鈔票由國家的央行認為決定。位元幣的設計者為了避免位元幣發行數量過多,設計之初就確定了位元幣總量有限的規則:位元幣的總量為2100萬個,2023年位元幣誕生的時候,每筆賞金是50個位元幣。誕生10分鐘後,第一批50個位元幣生成了,而此時的貨幣總量就是50。隨後位元幣就以約每10分鐘50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個。

去中心化:位元幣網路中的計算機節點都是平等的,沒有中心控制節點。任何人或機構都可以自由參與

自動控制:新幣的發行、身份的驗證、交易的確認、賬本的記錄等流程都是由位元幣網路中的計算機節點(礦工,或稱miner)自動執行的,沒有任何人工參與,需要使用者參與的只有位元幣的買賣操作。

這裡的「挖礦」是指礦工通過專有的機器(也稱礦機)計算和挖掘出乙個很難得到的隨機數,誰先算出來就能得到相應的位元幣。剛開始礦工們都能輕鬆的挖到位元幣,隨著位元幣市值一路飆公升,大量淘金者湧入,同時新幣的數量在不斷減少。這時候人們基本得靠拼裝備了,裝備強,挖礦速度就快。後來很多礦工自發形成各種挖礦組織——礦池。

挖礦原理:挖礦就是各個礦機去計算和挖掘乙個很難得到的隨機數(nonce),實際上這是乙個純粹的拼蠻力、拼算力的競賽。挖礦演算法也成為工作量證明(proof of work, pow)演算法,即礦機不斷重複一些簡單的sha256雜湊運算,直到找到符合條件的目標雜湊值。誰先計算出這個nonce,誰就是贏家。

nonce:

位元幣每個block裡記錄了乙個nonce的字段,是4個位元組的證書,位元幣挖礦就是尋找這個nonce隨機數的過程,nonce是number once 的縮寫,在密碼學中是乙個只被使用了一次的隨機數值

挖礦以外的激勵制度:交易手續費,類似於銀行轉賬的手續費,通常位元幣交易轉賬是免費的,但有些情況下必須支付手續費才能完成轉賬。同時針對小額位元幣交易強制收費,防止黑客用大量的小額位元幣交易來衝擊成個p2p網路(交易越多,鏈越長),通常收取的費用很少,如0.0001位元幣。(一枚位元幣可以被分割到小數點後8位的程度,所以位元幣最小單位是0.00000001btc)

每個位元幣使用者都有乙個位元幣錢包(bitcoin wallet),由乙個接受位元幣轉賬的位址bitcoin address這裡沒有餘額!!!如果每個賬戶都有餘額,每筆交易都要涉及到餘額,那麼這個需要乙個高度可靠的關係型資料庫,嚴格遵循acid規範,這個資料庫會很大很大。因此傳統的、中心化的、基於關聯式資料庫的賬戶餘額的設計思路無法滿足位元幣的交易需求。

藉此機會複習一下acid規範(是真的邊學邊忘。。。)

於是中本聰獨創了以utxo為核心的交易系統。

utxo(unspent transaction output,未花費的交易輸出)位元幣的交易由交易輸入和交易輸出組成,每一筆交易都要花費(spend)一筆輸入,產生一筆輸出(output),而其所產生的輸出,就是「未花費過的交易輸出」(另一種說法 每筆交易都有若干筆資金**,即交易輸入或者轉賬人,也有若干筆資金去向,即交易輸出或收款人,這個交易輸出對於收款人來說就是未花費的交易輸出)

區塊鏈探索筆記:utxo

如果大家看了上面鏈結那篇文章的話,接下來他們分別給李四轉賬的圖應該是下面這樣(是我自己畫的,也可能不對~我不確定#3001(2)後面那兩項編號應該寫(1)(2)還是(3)(4),有問題可以隨時溝通)

我們可以將utxo理解為轉賬流水記錄+餘額的複式結構,每筆的utxo必然是下一筆交易的輸入項。以區塊鏈方式記錄的賬本資料有不可篡改的特點,這樣就可以很方便的追蹤每一筆資金的來龍去脈。

utxo還具有私隱性,因為乙個使用者可以擁有很多位元幣位址來充當「收款人位址」,因此很難追查乙個使用者究竟有多少位元幣。utxo中的收款位址其實是位元幣使用者的公鑰雜湊值,用對應的私鑰才能解鎖。只有擁有這個收款位址的使用者才能拿用自己的私鑰來解鎖對應位址的錢包,將這個位址中記錄的輸出交易轉移到另乙個使用者的收款位址(這個過程中涉及複雜的數字證書和加密問題)

以太坊(英文ethereum)是乙個開源的有智慧型合約功能的公共區塊鏈平台,通過其專用加密貨幣以太幣(ether,簡稱「eth」)提供去中心化的以太虛擬機器(ethereum virtual machine)來處理點對點合約。

智慧型合約:(smart contract )是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議。智慧型合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。

智慧型合約是一種特殊協議,旨在提供、驗證及執行合約。具體來說,智慧型合約是區塊鏈被稱之為「去中心化的」重要原因,它允許我們在不需要第三方的情況下,執行可追溯、不可逆轉和安全的交易。

智慧型合約包含了有關交易的所有資訊,只有在滿足要求後才會執行結果操作。智慧型合約和傳統紙質合約的區別在於智慧型合約是由計算機生成的。因此,**本身解釋了參與方的相關義務。

事實上,智慧型合約的參與方通常是網際網路上的陌生人,受制於有約束力的數位化協議。本質上,智慧型合約是乙個數字合約,除非滿足要求,否則不會產生結果。

以太坊的概念首次在2013至2023年間由程式設計師維塔利克·布特林(vitalik buterin)受位元幣啟發後提出,大意為「下一代加密貨幣與去中心化應用平台」,在2023年通過ico眾籌開始得以發展。截至2023年2月,以太幣是市值第二高的加密貨幣,僅次於位元幣。(放一張圖,僅個人感覺創始人有點帥……)

布特林首次在以太坊中提出智慧型合約的概念,進一步推動了位元幣2.0時代的發展,以太坊開啟了區塊鏈技術的新時代。區塊鏈2.0時代的典型代表是以太坊和區塊鏈3.0時代的典型代表是超級賬本專案(hyperledger),分別代表了區塊鏈的兩個重要的發展方向:面向公眾的公有鏈和面向企業的聯盟鏈

後面還出現了各種數字貨幣,瑞波幣、萊特幣等等。

位元幣 區塊鏈

區塊鏈 一種實時記錄全部交易的去中心化公開資料 庫,在區塊鏈上進行支付時全網計算機共同查詢區塊鏈資料,共同驗證這筆支付交易是否有效。確認支付後將寫入區塊鏈並產生一條不可篡改記錄。區塊 區塊大小是1m,包含父雜湊 merkle根 時間戳 難度目標 隨機數。程式上近似每10分鐘增加乙個block,blo...

區塊鏈開發 位元幣開發1

很久沒上這個部落格了。之前是將部落格寫在了個人部落格,然後最近那個伺服器給我用來做別的事情了。這兩年,區塊鏈的技術還是很火的。我就來做一些東西。後續會包括一些原理,開發,應用等方面。如果說,你是有開發經驗的,那麼可以直接看。否則,建議等我的原理系列出來再看。當然,如果你只是看個熱鬧,那也是可以的。一...

區塊鏈和位元幣

1.區塊鏈解決了啥問題 乙個東西有價值,一定是解決了乙個社會上的痛點。我們說人工智慧是未來的趨勢,因為它主要解決的是生產力的公升級問題,工業革命代替人的簡單體力勞動,人工智慧代替的是例如思考之類的複雜勞動。區塊鏈解決的是生產關係的問題,也就是信任的問題,想一下為什麼 需要有支付寶,因為如果沒拿到貨而...