区块链上的储物盒

如果说交易是一枚硬币,那货币只是硬币的一个面,另一个面是权利转移(物权,信息权等等)。为了完成这个转移的闭环,我们先设计一个非常简单的转移模型:区块链上的快递盒子。这个盒子事先编写好代码,一旦启动就不可更改。盒子和区块链有通信,可以监听区块链上的某些特定事件来做出应对。区块链也不是比特币这种交易链,而是以太坊这样的智能合约区块链。他除了代币叫做以太币ETH外,最大的特点是可以在区块链虚拟机上执行事先发布不可篡改的代码,简称智能合约。稍后我们会单独介绍这个计算的力量,现在我们先借用这个功能,同样通过前面军火交易的例子,来完成区块链经济体的一个闭环交易。

这天革命军要新进一批军火,他们找到了军火商,并把枪械的名称型号等标准化信息提供给了军火商。双方对100ETH的报价达成一致后,开始准备交易。军火商准备好枪械,放进区块链上的盒子里。这个盒子有两个地址,一个是关联的支付账户地址,还有一个是实物的存取地址。卖方发起一个智能合约,由区块链见证之后植入到这个带锁的盒子里,一直到交易结束前,都不能修改。合约内容如下:

Loop 统计支付到收款地址的每一个付款方的累计付款金额
If any(支付地址累计付款 >= 100 ETH) then 停止接收其他任何付款
   Try get(向满足条件的地址请求设置取货密码)
     If 设置成功 then 将付款转付到 军火商账户地址XXXXX and 退回其他账户的付款
     else if 等待时间超过1小时 then 退回该账户支付的金额,回到第一步从头开始统计
     else retry
Else If 卖方继续等待 then 刷新统计
Else If 卖方终止交易 then 退回所有支付款项到原账号 and 由卖方设置开锁密码取货

卖方设置完毕后把盒子的支付地址和取货地址都发给买方。买方和矿工见证协议无误后,给盒子通电。买方开始向盒子的支付地址打款。如合约设计的,付满100ETH之前,卖家可以随时取消交易。买家不可以单方面取消,但是买家可以和卖家协商。此时钱还没付完,钱和货都锁着不能用,卖家不会恶意阻挠买家的协商请求,因为卖家被锁住的货价值更高。如果此时付款地址泄露给了其他人,这个人也想买货,那公平交易,谁先交钱谁拿货,其他的钱原样退回。

买家没有犹豫,快速付完100ETH之后,收到了在1个小时内设置开锁密码的消息。这时卖家已经不能反悔了,买家设置密码123,完成物权转移。与此同时,盒子账户里的100ETH也如数转移到卖方的军火商账户地址,同步完成资金转移。这样一个区块链上的实物闭环交易就完成了,从此黑帮交易再也不用打打杀杀。但是等一等,黑帮片里经常还会发生另外一幕,就是买回去的货发现是次品,后悔莫及!这是现在很多人将区块链技术移植到线下场景最容易犯的错误,物权在上链前的那一刻,缺乏质检验证。这里因为交易的物品是枪械,我们可以在区块链盒子里预埋一个X光扫描仪,通过扫描枪械结构来判断其真假。但这种方式并不通用,而且不同物品的检查需求千差万别。所以真正要完成交易闭环,还需要一个区块链去中心化的质检服务。

我们把新的盒子改造成一个试验箱,通过封闭的手套可以进入箱子,操作和检查箱子里的物品,但是无法取走。然后像比特岛那样,随机邀请矿工来检查货品。只要诚实的矿工占主导,就可以确定箱子里的货品是否可靠。这种众筹式的实物检查模式,和区块链分布式交易合规检查的原理是一样的,但成本更高。所以再一次我们强调,去中心化不是区块链的目的,我们要在效率和信任间取得平衡。为了优化上述流程,达到真正可用,还需要非常多的工具,等准备充分以后,我们会在后面的章节回来重新解决这个难缠的问题。

results matching ""

    No results matching ""