區塊鏈技術學習之-簡單加密貨幣-高飛幣
來源:互聯網
上載者:User
本文講解比特幣出現之前的一種非常簡單的加密貨幣,高飛幣。旨在由淺入深逐漸理解比特幣的運作機制。
高飛幣的規則 高飛幣(GoofyCoin),創作者是高飛。是目前知道的最簡單的加密貨幣。 只有兩種規則: (1)高飛可以隨時建立新幣,並且新建立的幣都屬於他; (2)擁有此幣的人可以將其轉給其他人。
執行個體:高飛幣的建立和支付 下面通過一個實際的例子,來看高飛幣的運轉流程。
首先高飛建立一個新幣,產生一個之前從未產生的唯一的貨幣編號,組成一個字串:“CreateCoin [uniqueCoinID]”,然後使用 密鑰計算這個字串的數位簽章。這樣,這個字串以及高飛的簽名,即構成了一個幣。任何人都可以驗證該簽名包含了高飛的有效簽名,因此該幣是有效幣。
如果高飛想將剛建立的幣轉給Alice,需要建立一個聲明:“將此幣支付給Alice”,在這個聲明中此幣是該幣的雜湊指標。身份指的是公開金鑰,該聲明中的Alice指的是Alice的公開金鑰。然後高飛簽署代表該聲明的字串。一旦高飛簽署了該聲明,Alice則擁有了該幣。她可以向任何人證明擁有該幣,因為她可以展示有高飛有效簽名的有資料結構。此外,它也指向曾經為高飛擁有的一個有效幣。
一旦Alice擁有了該幣,可以將該幣花掉,比如支付給Bob,流程如高飛支付給Alice類似。
完整示意圖:
總結下高飛幣的規則如下: (1)高飛可以通過簽署聲明表示他使用唯一的貨幣編號來建立一個新幣。 (2)幣的所有人可以通過簽署聲明將該幣轉給另一個人。 (3)任何人都可以驗證一個幣的有效性,通過雜湊指標追溯到它是由高飛建立的,並驗證過程中的所有簽名。
高飛幣的缺陷 高飛幣有個致命的安全隱患,即雙重支付問題。 如果Alice簽署聲明將一個幣轉給Bob,但是並沒有告訴其他人,她可以再簽署一個聲明將該幣轉給Jason。對於Jason來說,這筆交易也是一筆有效交易。Bob和Jason都可以證明自己是該幣的所有人。一個幣花了2次,這就是雙重支付問題。
雙重支付是加密貨幣需要解決的主要問題。
高飛幣的轉移機制和比特幣非常類似,但是沒有解決雙重支付問題,因此不適合用來做加密貨幣。
高飛幣的實現 github上面有高飛幣的C#實現,大家可以參考: https://github.com/vinils/GoofyCoin2015
末尾給大家推薦 給大家推薦個區塊鏈專欄,36節課,5大模組,上手寫出你的第一個區塊鏈項目,現在買還有福利。