iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 24
1
Blockchain

從0開始架構區塊鏈系列 第 24

Day24|現實中的區塊鏈(1):區塊鏈與代幣的發展

區塊鏈1.0、2.0、3.0

在提完前面對於區塊鏈架構、密碼學、挖礦、P2P網路的理論簡介之後,我們緊接著來介紹現實中的區塊鏈是如何運行的,其中又會以目前最主流的BitcoinEthereum兩種為主,順帶一提的是區塊鏈並非一成不變的技術,在近10年的發展過程中也逐漸因應需要而不斷擴充功能,因此在明天正式開始介紹Bitcoin與Ethereum前我們先來闡述區塊鏈的發展沿革。

區塊鏈1.0─Bitcoin

Bitcoin

圖片來源:Bitcoin.org

區塊鏈1.0是由中本聰所開啟的區塊鏈浪潮,正如我們在Day01|前言:區塊鏈的誕生所提到的一樣是以分散式帳本的技術為基礎完成去中心化,並且搭配密碼學的技術解決共識與信任的問題並且同時具有不可竄改的特性,有了這些區塊鏈上的才能夠取得人們的信任,並且取得作為交易媒介的資格。

因此區塊鏈1.0的概念相對單純,希望透過分散式帳本的技術與概念來打造一個不需仰賴政府跟金融機構的金流系統,在這個金流系統之上任何人都可以自由地創建帳戶與交易,無須受任何監管或限制,同時所有人也都必須服從區塊鏈上的規則無法任意增發貨幣。

如果要用一句話概括區塊鏈1.0的願景的話,便是Be your own bank.

區塊鏈2.0─Ethereum

Ethereum

圖片來源: Yahoo Finance

隨著區塊鏈的發展,區塊鏈能做到的事情也不再只有是單純的金流與記帳,其中在早期有個叫做Vitalik Buterin的年輕人,期初他只是個普通的Bitcoin愛好者,但他認為除了單純的金流外,區塊鏈的技術應該能夠做到更多樣化的事情,因此他在2013年發表了Ethereum的白皮書A Next-Generation Smart Contract and Decentralized Application Platform,主要認為可以透過區塊鏈技術打造一個平台讓大家可以在上面運行程式,讓區塊鏈除了儲存資料外也多了運算的功能。跟一般中心化的程式相比,在區塊鏈上可以確保程式的不可竄改,只要滿足在智能合約設定的條件就會自動觸發與執行事件,。

Smart Contract

圖片來源: Ethereum Dapp初心者之路(3): 簡介Ethereum(乙太坊)、Smart Contract(智能合約)

以下面這句話取自Ethereum白皮書的例子為例:

A can withdraw up to X currency units per day, B can withdraw up to Y per day, A and B together can withdraw anything, and A can shut off B's ability to withdraw.

誰可以提領多少、何時可以提領、誰有權限限制別人提領通通都可以透過簡單的邏輯判斷來達成,因此透過Ethereum的智能合約可以達到可靠的信任─你不信任發行者沒關係,但你可以信任程式碼吧?而程式碼是不可以被竄改的。

用一句話來描述Ethereum願景的話就是:Be the world's computer.

區塊鏈3.0─IOTA?

至於Ethereum之後的區塊鏈3.0目前定調為何其實還沒有完整的共識,目前最多人認為的3.0是把類似分散本技術應用到更多領域與場景,其中最有名的便是IOTA

IOTA

圖片來源: Forbes

IOTA期望落實在物聯網的場景之中,也就是平常我們所使用的家電、交通工具、機器都能夠連上網路並且彼此交換訊息,IOTA期望盡可能地壓低機器間交換資訊的門檻與花費,並且極小化安裝所需要的硬體資源,所以可以說IOTA便是為了物聯網專門被設計出來的。

一個常被舉的應用上的例子便是二手車的買賣,如果車子的狀況能夠透過物聯網與IOTA隨時被記錄的話,那麼保養的車廠或是有意願購買二手車的買家便會多一層保障。抑或是如果車子可以分享目前的位置與速度等資訊到交通調度中心,則交通調度中心便可以有效掌握目前的交通狀況,為了回饋回傳資料的車子,交通調度中心可以支付少許的IOTA作為報酬。

但區塊鏈上的每一筆交易或傳輸所耗費的成本非常高,能容納的交易次數也相當有限,而IOTA的應用場景是大量、微型化的機器,在不久的將來全世界聯網的機器數目就會超過100億(下圖),所以實際上IOTA並不採用區塊鏈架構,而是Tangle架構。

IOT

圖片來源: IoT Analytics

Tangle架構採用了之前提到的有向無環圖作為驗證,發起每一筆交易的同時也必須驗證前面兩筆資料的真偽,也因此每個機器除了發起交易外也必須擔當驗證交易的責任,在這種分工之下交易是不需要任何手續費的,同時只要採用IOTA的機器數目越多,單位時間內能容納的交易次數也越高。如果對Tangle架構有興趣的話這裡有更多參考資料

區塊鏈上代幣的實務發展

其中發展最快的與五花八門的便是代幣經濟的發展(原因無它就是有利可圖),其中根據代幣的來源與發展又可以分為:

Initial Coin Offering(ICO)

在2017年大流行的Initial Coin Offering(ICO)多半是透過Ethereum上智能合約功能來發行ERC20代幣,在ERC20的程式碼裏頭(下)發行總數、轉移、餘額等等的皆是被事前定義好,ERC20為代幣發行方提供了一個統一完整的介面,因此日後交易所也只需要支援相同的介面就可以讓所有ERC20的代幣上架流通。

要發行ICO不難,複製幾行程式碼便行,購買方式其實也可以透過智能合約來完成,也就是綁定與ETH的匯率,當有人匯入ETH後便給予相對應代幣作為兌換,發行與購買的方便也造成了2017的ICO狂潮,浮濫發行的結果就是ICO項目的陣亡率往往逼近98-99%。但其實這麼高的陣亡率並不全然是ICO的錯,畢竟新創公司的陣亡率高於90%也是很平常的事情。

除了陣亡率過高導致後續投資人的興趣大減外,各國政府後續也對這類形式的募資採取封禁的態度,也因此許多項目的ICO也在後來直接禁止如美國人民的投資。

順帶一提,我認為法規的限制在保護散戶方面是正面的,比方說在股票金融市場炒作或內線交易皆是違法的金融重罪,但是在ICO這裡卻是完全無法可管也無任何責任。

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

Initial Exchange Offering(IEO)

ICO的浮濫發行導致投資人的大量損失─因為並不是所有ICO最後都能夠上到交易所被交易,如果買到的代幣最後未能上交易所的話,代幣的投資人將面臨無處兌現的窘境,因此由交易所擔保並發行的代幣就稱為Initial Exchange Offering(IEO),這類代幣發行後會由交易所直接上架交易流通,為投資人免除了買到的代幣無處可交易的風險,有些交易所甚至會為募資的項目方鎖定資本,採取定期定額或是社群監管的方式逐步釋放資金給項目方。

Initial Fork Offering(IFO)

Initial Fork Offering(IFO)便是我們之前提到透過分岔產出的新幣種,這類幣種在技術上的難度較ERC20代幣高上許多,與ERC20不同的是IFO的產生也代表背後會產出一條全新的公鏈,該代幣也由公鏈所支持。

Security Token Offering(STO)

Security Token Offering(STO)是把現實中的資產或證券加以代幣化,持有STO的同時也代表具有現實世界中某部分的產權或股權,這類形式的STO其實跟股票相當類似,與股票相比受到的法規限制與監管較少,透過區塊鏈的流通性也較高,可以輕易地在世界各地被交易。

雖然STO的發行相較傳統股票發行方便許多,但這些傳統法規上其實很大一部分都是為了保護你我這些投資的散戶避免被不良分子作為惡性吸金的工具,STO在監管上力道上的相對彈性也表示投資的風險相較一般股票來的大,如果有興趣查閱金管會對於STO的規定的話可以參考這裡

到目前為止的文章都會放置在Github上。

Ref:


上一篇
Day23|P2P網路(4):升級之路上的岔路口-軟分岔與硬分岔
下一篇
Day25|現實中的區塊鏈(2):Bitcoin與Ethereum的交易架構
系列文
從0開始架構區塊鏈30

尚未有邦友留言

立即登入留言