60. 币和区块收入:数字档案馆的经济循环

    技术2022-07-12  80

    上一章提到,为了长期经营,我们的数字档案馆提供的是收费的存证服务。那么我们这一章要解决的问题是,用户怎么付钱?

     

    不同的数据应该有不同的定价,存证超大数据肯定比小型数据要贵很多。很多用户,比如机构,上传数据的频率很高,如果每次上传数据,都走银行、支付宝等渠道付款的话,会非常麻烦,更不用说还要处理各国货币的汇率了。所以,我们很自然地想到充值模式,也叫预付费模式。日常生活中,水电煤、话费、网络游戏、理发卡等等,基本都采用了这种模式。

    用户想要使用存证服务,先充值购买“虚拟币”,然后每次上传数据的时候,根据存证的成本消耗虚拟币,也就是手续费。同时我们完全可以允许人们自由交易虚拟币,这样这个系统就非常简洁和灵活了。至于用户如何购买虚拟币,这是系统之外的事,节点可以自己开网店卖虚拟币,也会有人开交易所供人们交易虚拟币。

    那么现在,需要存证服务的用户,会购买这种虚拟币,这形成了对虚拟币的需求;而节点需要将虚拟币卖出,以兑现成利润,这形成了对虚拟币的供应。有了这样的供需关系,就会达到一种平衡,虚拟币就会有价格,一个良性的经济循环就可以达成。

    图中,我把用户写作客户,这样给人的感觉更像是企业

    由于我们的目标是全球统一存证系统,虚拟币也应该是全球统一的,是所有节点共用的虚拟货币。很显然,我们不能允许节点擅自增发虚拟币。

    任何节点也都不希望其他节点增发虚拟币,所以节点之间有动力互相监督。那么,我们完全可以把虚拟币的流转信息也记录在区块链条里,正好节点之间要同步区块链条,也就起到了互相监督的作用。

    那么,我们可以要求,上传数据时必须附带一张符合格式的“支票”,写清楚从哪个账户里,消耗多少虚拟币。但是用户上传数据时还不能确定手续费会被哪一个节点收取,所以收款人先留空。于是支票呈现出如下格式:

    节点收到数据和支票后,先验证支票是否有效,比如余额是否足够,手续费是否足够,然后节点将支票和数据一并放入区块链进行存证。于是,默克尔树的叶子哈希值是数据和标签拼在一起的哈希值:

    节点存证支票的同时,在收款人里填入自己的账户。当然,这不意味着这个节点就能拿走这一笔手续费,它还要通过工作量证明的出块竞争。只有当它凑出有效区块,并被其他节点接受,这里面的手续费才归它所有。

    至此,我们用支票这个形式,实现了手续费收入。而支票同时还意味着用户可以将币转账给其他用户,在我们的区块结构里实现起来很简单,只要多夹几张支票就行了。

     

    支票的具体数据格式很难设计,我们将在本书中段进行详细拆解。

    Processed: 0.011, SQL: 9