比特幣 vs 以太幣 分別

本文題目其實應該定為coin與token, 但小編難以想出正確的中文翻譯,故且分別以coin界大老與token界大老借代coin與token意思。

硬是要翻譯的話,其他網站一般稱coin為貨幣,token為代幣,或者中國內地稱之為通卡/通証。那貨幣與代幣到底有甚麼分別?

Coin 的定義 - 貨幣

coin的主要功能跟法定貨幣一樣,主要是用來購物,或者說換取貨物。Bitcoin, Litecoin, Monero就是coin, coin發行人最終目的必然是成為市場上最大的流通貨幣。

token 的定義 - 代幣

至於token,大家可以回想一下小時候到歡樂天地,或者冒險樂園玩擲彩虹:你要先用法定貨幣購買該店鋪的代幣,再用代幣玩擲彩虹或其他遊戲機。該代幣只在該發行店鋪裹有效,而且只能換取指定類型的遊戲服務,歡樂天地倒閉之後它的代幣即失去價值。

Coin 與 Token 的用途分別

簡單來說,coin適合一般用途,token只能用於換取指定服務。

拿以太幣做例,手持以太幣(ether),可以獲得的服務就是在以太坊(ethereum)上運行程序。以太坊的程序又可稱為智能合約(smart contract)或者去中心化應用程序(DApps, decentralized applications),你沒看錯,合約其實只是一個程式,是一個運行在ethereum virtual machine (EVM)上的程序(有機電背景的同學可以想象它跟java virtual machine沒分別)。以太坊跟比特幣一樣,背後由一條區塊鏈記載所有智能合約,所以智能合約跟比特幣交易一樣,一但發佈就不可能修改。每一次運行智能合約都要付出少量ether作為運行費用,又稱為gas。

cryptokitties是一個運行在以太坊上的程序,跟たまごっち(港釋:他媽歌池/台釋:電子雞)類似:這個程序每15分鐘會生成一隻crypto kitty, 然後買家經過拍賣獲得。每一隻crypto kitty都有由256bit組成的DNA決定他們的毛色,性別,種類等等,crypto kitty可以交配生成下一代(每一次生產都要支付gas)。如果有幸生成罕見品種,更可以拿到market place放售賺取Ether。

你可能會覺得cryptokitties這類應用有點無聊,小編再介紹另一類應用:Storj。大家對dropbox/Google drive這類雲端儲存系統不陌生吧?Storj就是一款運行用以太坊上的雲端儲存系統,你想得到服務,當然要付出代幣啦。Storj是一個智能合約,同是也是一個token的名稱。Storj合約第一件做的就是在以太坊上發行Storj token,你要先用bitcoin/ether購買Storj, 然後再用Storj支付運行智能合約的費用,才可以得到雲端儲存服務。你付出費用會由提供儲存服務(即Ethereum上的礦工)收取。

這裹帶出很重要的一點:很多代幣都沒有自己獨立的一條區塊鏈,例如Storj就是依付在以太坊區塊鏈上。最近經常聽到的ICO(initial coin offering,首次代幣發行)一般都是依付在以太坊/EOS區塊鏈上,例如likecoin。

(題外話:ICO翻譯成首次代幣發行其實有點問題,或者說ICO本來就不應該叫做ICO,ITO(Initial token offering)才對)

類似以太坊的平台還有很多,現時最大競爭對手就是EOS。

講深入一些,為甚麼比特幣做不了以太坊能做的事情呢?它們都是在區塊鏈上運行的啊?比特幣與以太坊分別在於它們在區塊鏈能跑的程序。其實比特幣交易也是一種程式,然而比特幣本身定義了有那些程式能夠跑。比特幣使用的程序語言是bitcoin script, 是一種stack base language(堆棧式語言), 重點是這種scripting language並不是一個完整的語言,連loop(迴圈)功能都沒有。但是以太坊上運行的語言Solidity則是Turing Complete(圖靈完備)的語言。區塊鏈背後的語言決定了它能提供的功能,以至該種coin/token的未來啊。

(Turing Complete這概念比較艱深,大學不是主修計算機科學的就不要理會這概念啦,總之就是一種程序語言比另一種語言能夠表達更多意思)


延伸閱讀