Coin和Token有什么区别?比特币VS以太坊

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这概念比较艰深,大学不是主修计算机科学的就不要理会这概念啦,总之就是一种程序语言比另一种语言能够表达更多意思)