彩色币是一种元协议,它利用了小额比特币存储信息。“彩色”币是用以指代另一种资产的一定金额的比特币。打个比方,在一张1美元的纸钞上盖个戳,戳上写着,“这是Acme公司1股股票的持股凭证”。现在这种1美元纸钞代表了两重含义:它不仅是一张钞票,也是一张持股凭证。作为持股凭证,其价值更高,你肯定不愿意拿这张钞票去买个糖果。因此,这张纸钞实际上已经不会再作为货币来使用了。彩色币工作原理与这个例子一样,将一个特定的很小金额的比特币转变为另外一种资产的交易证明。所谓“彩色”是指通过添加诸如颜色属性的标识来赋予比特币特殊含义的做法,它只是一种隐喻,并不是实指真正的颜色关联,彩色币上也不会真的有彩色。
彩色币由特定的钱包软件管理,这些钱包软件负责记录和解释附着在彩色币上的元数据信息。通过使用这种钱包软件,用户可以将一定金额的比特币通过添加特定含义的标签转换成彩色币。标签可以代表股权证明、优惠券、真实的财产、商品或者可收集的令牌。如何对“颜色”含义进行赋值及解释,完全由彩色币用户决定。为了对比特币进行“染色”,用户需要先定义相关的元数据,比如发行类型、是否可以拆分、符号、描述,以及其他相关信息。一旦染色完成,这些比特币就可以进行买卖、拆分、聚合、接收股息等。彩色币也可以进行“褪色”,只要将特殊的关联信息去除,即可恢复为其面值代表的比特币。
为了演示彩色币的使用,我们创建20个“MasterBTC”彩色币,这些彩色币代表免费获取本书复制的优惠券,如例9-1所示。这些MasterBTC彩色币的每个单元都可以向任何使用兼容彩色币钱包的比特币用户出售和赠予,而获得彩色币的用户可以继续转让,或使用彩色币向发行方索取本书的免费复制。以下是代码(http://cpr.sm/FoykwrH6UY)。
例9-1 彩色币的元数据配置文件,记录免费获取本书复制的优惠券