作者:Claire Wu
【摘要】在摒弃了传统金融的可信第三方之后,“付款,结算,清算”这些概念已经不再存在比特币网络中。因为比特币区块记录的是原始的UTXO,它和关联的unspent(未花费的币)集合是无法拆分的,并且可以一直追踪到genesis block(创始区块)。 这样就可以消除管理帐户状态的成本,同时,因为比特币是一个去中心化的网络,其完整账本由无数个矿工同时维护,从而降低了被攻击的风险。
图片来自Shutterstock
文章《简而美的UTXO令比特币受到热烈追捧》发表之后,收到很多群友的赞赏和评论,也有一些专家群友提出了一些问题以及不同的观点,我在这篇文章把专家们的讨论摘录下来,供读者朋友们参考。
中本聪最初介绍比特币的时候,很简单明了地强调了比特币的几个特点:
1. 一个可以避免双花(即双重消费)的点对点现金系统;
2. 无需可信第三方参与;
3. 参与者可以匿名(现实证明是可以通过关联交易追溯出交易者的现实身份的);
4. 新币产生于POW工作量证明系统。
众所周知,传统的金融系统都会引入可信第三方进行清算。我曾经问小餐厅的老板,为什么他们不使用电子支付方便顾客付款,老板很无奈地表示,顾客付款之后,他们不是即时收到消费款项的,要等一个月之后才能收到(应该指现金提现的周期),还要付电子支付的手续费。对于一个没有太多流动资金的小老板,确实很难应付这么长的付款周期,所以他们大部分都欢迎顾客支付现金。当然,不是所有流程都需要一个月,这视乎可信第三方的工作效率。
我们来看看付款的背后,小餐厅老板所指的“一个月”时间内,究竟发生了什么?
顾客“付款”后,通常需要花费几天时间来收集交易信息,检查商家的数据是否与支付机构中的数据匹配。 这称为“平衡”,有时涉及更多的交易方,因此需要检查所有交易方的余额,然后交易才能完成。
但是,现实世界比我们想象中要复杂得多,经常有一些骗子来钻空子,需要有风险管理部门从海量数据中查找缺陷和骗局。 因此,在顾客付款之后,商家收到款项之前,要走过“付款,结算,清算”的一系列由可信第三方介入的复杂流程来避免双花和欺诈。【1】
现在跨银行,支付宝和微支付等的转账,已经可以做到秒到。那么,如果小商户接受支付宝等方式的收款,大概几天能够收到钱呢?
【魔笛手技术开发社区】的区块链技术大神Neo 表示,支付宝转账是蚂蚁体系内部划转的,应该可以马上到账,即使不说具体实现,物理上的数据传输距离也比银行间划转要快。(但)银行提现(的)具体时间(要)看商家协议。账本数字,国家的清结算是每天进行的。(至于)Visa,银联等的技术和核算都是自成体系,技术上是以CPP为主的开发方案加上自己的业务协议规范编写 ,和Hyperledger等的技术一样,是一种技术选型。
那么,如果顾客使用Visa 的Google Pay 或Apple Pay付款,现况又如何呢?Neo认为,(中国)国内不知道,(中国)国外需要两天以上(才能到账)。对于上面小商户的投诉,有的说要一个月才能收到款,有的说申请手续非常麻烦,因此到现在还没有安装有关设备,继续收现金。Neo 表示,(这种情况涉及)非技术因素较多,技术流程也的确比较古老。还有,如果餐厅购买原材料的公司不接受电子支付(比如支付宝),只接受现金或其他传统的支付方式,那么,餐厅老板还是享受不到新型电子支付的好处,还需要在传统的支付系统里打转。
另外,中国已经成立了“网联”进行规管支付宝等机构的运作,因为象微支付和支付宝这种由中心化机构管理的 P2P支付方式,事实上已经形成支付宝和微支付的寡头垄断格局,造成了信息“孤岛”。以支付宝、微信支付为代表的第三方支付平台沉淀了天量的资金,一旦出现问题,如果第三方机构没有向央行交任何保证金,用户的利益就没有办法得到保证,会危害金融系统的稳定。
比特币的创新之处就是摒弃了可信第三方的介入,利用POW 工作量证明机制来避免了双花。矿工在这个过程中非常重要。他们是生成和维护比特币账本的重要力量,因此,能够猜中系统发出的题目的“答案”的矿工会获得新生成的比特币和交易费。关于挖矿成本和矿工如何记录账本余额,【Soteria 社区】和【魔笛手技术开发社区】的群友们展开了热烈的讨论:
Soteria 社区笔记 2020-02-28
黄峥嵘:比特币的挖矿成本,原理与黄金生产成本一致。刚开始,浅表层的黄金挖掘成本是最低的,就是2016年的挖矿。其后,成本会逐步抬升。挖矿成本/矿工的激励/比特币的流动性,形成稳定的三角平衡。
ipfs矿小二 : 电费以及矿机的成本,迫使矿工期望比特币价格更高,他才能够获利,那自然比特币的价值就会更高,更安全,矿工不会去做恶。
Claire:比特币的通缩模型设计,在需求不断增大,甚至远远大于供应的情况下,价格确实会不断升高。
魔笛手技术开发社区笔记 2020-02-28
祝天帅: 挖矿是维持比特币帐本的费用。维持帐本的费用很高,目前为一天两亿人民币左右。不过这个帐本我从未看懂,大概知道,一个币是如何从一个钱包到另一个钱包。只是知道某时某刻某人把币给了另一人的记录被记在帐上,但我一直不理解未花费的币(这个概念)。
胡大刀(Blockchain.News CEO ): UTXO 绑定个人信用系统,效果和account based基本是一样的。UTXO余额的生成,是基于历史记录的。(UTXO)生成完后,可以trim(修剪)。只要有历史数据追溯到genesis block (创始区块), UTXO足够保证不会有账务问题。UTXO 目前的热点是解决碎片问题,以及因此导致的存储空间显著增加,注意是用accumulator. 传统的记账(account based)也不是(记录)所有数据,一旦清算(完成)后,除了保留历史记录备案外,不会再涉及(这些数据)。当然,如果法律查假账会有查找所有记录。
胡大刀: UTXO有一个全局的unspent(未花费的币)集合,基于merkle树,对数级检验集合包含关系,会动态更新。这个集合与历史数据无关,所以历史数据理论上可以被剪裁。但如果有多个版本,无法确定当下unspent集合是对的,就需要回溯到genesis block的记录。
祝天帅: 对。白皮书这段我没看懂。我理解如果是全局,应知所有钱包中比特币的数量,这个可能性不大。应该某钱包收到币去登记一下。这时只核对公钥,不知对否?
胡大刀: 钱包只记录关联一个或多个公钥的unspent集合,这个就是钱包余额 ,Miner(矿工) 需要全部的unspent 记录。
祝天帅: 理解,这相当于总账。公钥构成地址,我们可以看到公钥下的数值,只有和私钥(结合在)一起,才能把币转走。
胡大刀: 是这样的。
祝天帅: 问题是,每十分钟记的帐和总帐(有)啥关系?我们十分钟内的交易在链式帐中,如何沟通总帐?
胡大刀: 总账是单独的一个数据集合,验证每个交易记录,包含交易记录的新(区)块加入到链中的同时,也会更新全局的upspent集合。这不是最开始就有的特性,后来fork上的。
综上所述,在摒弃了传统金融的可信第三方之后,“付款,结算,清算”这些概念已经不再存在比特币网络中。因为比特币区块记录的是原始的UTXO,它和关联的unspent集合是无法拆分的,并且可以一直追踪到genesis block(创始区块)。 这样就可以消除管理帐户状态的成本,同时,因为比特币是一个去中心化的网络,其完整账本由无数个矿工同时维护,从而降低了被攻击的风险。
加密货币作为新生事物,很多都自带财富效应的光环。以比特币为例,它已经在世界上很多地方和互联网的场景被接受用于支付。假以时日,当网络基础设施传输速度加快到一定程度,共识范围越来越大的时候,比特币将不可避免地会被消费者,尤其是币民们作为支付的选项。传统支付在这个生死时速的赛道上,只有不断通过自我技术和流程革新,为商户和消费者带来便利,与时并进,才能立于不败之地。因此,作为消费者,我们欢迎竞争,欢迎加密货币和传统支付在世界舞台上同台竞技。
参考资料:
【1】『UTXO』https://blockchain.news/wiki/UTXO?from=groupmessage
Image source: Shutterstock