浅谈区块链(一):应用篇

区块链的概念是由中本聪(Satoshi Nakamoto)在2008年末发表的《Bitcoin: A Peer-to-Peer Electronic Cash System》中提出,是支持比特币(Bitcoin,一种无政府状态的电子货币)运行的一种数据存储技术,可以简单地将区块链理解为比特币的一个记账本,用来登记比特币的每一笔交易流水。区块链技术是基于比特币而诞生的,目前也被广泛用于实现各类的数字货币中,数字货币是区块链技术的第一个现象级应用,区块链技术又由于数字货币的火爆而被广泛关注。

浅谈区块链(一):应用篇

一、区块链的特点

区块链技术本身就是伴随着数字货币诞生,因此天然适合发行数字货币,这是由于区块链技术所具备的五大特点:

1、去中心化

区别于传统的数据存储方式,区块链并不是将数据存储在一个物理节点上,而是将数据存储在区块链网络上的多个节点中。

浅谈区块链(一):应用篇

如上图所示,以数字货币的交易为例,传统的存储方式所有交易都必须通过一个中心节点(比如一家银行的服务器)进行记账,E要付10块钱给B,交易记录统一记录在中心节点上,如果中心节点出了问题,就没有办法继续交易;而对于区块链来说,数据存储在所有参与节点所组成的网络上,这个网络会通过共识机制确认要执行的交易是否有效,交易通过后在每一个参与节点上都存储一份完整的交易记录。区块链中每个参与节点都是平等的,没有中心节点,因此也不会因为某个节点出问题而影响正常使用。

2、开放性

区块链网络上的每个参与节点都可以读取所有交易信息,并且都可以进行交易记账操作(当然前提是通过共识机制获取到对应的记账权),特别对于公链(例如比特币)来说,每个人(或者说每台设备)都可以作为一个节点参与到网络中。

3、防篡改性

任何人要改变区块链里面登记的信息,都必须要满足共识机制所制定的规则,得到记账权后才可以进行修改,以比特币为例,其共识机制要求攻击者要攻破网络中51%以上的参与节点,才能把数据修改掉并生效,而目前比特币的公共节点数维持在10000个以上,以当前技术要攻破比特币的网络基本是不可能的。

4、可追溯性

区块链的信息存储方式就是将数据存储在一个个串联的区块中(区块链的名称来源),类似贪吃蛇一样,要存储的新数据放到一个新区块后,挂到前面区块链条的结尾中,后一个区块包含前一个区块的唯一的哈希值(HASH),这样从任意一个节点,都可以基于哈希值找到它的上一个区块,从而查找到链条的所有数据,进行交易的向上溯源。

同时也由于哈希值的唯一性特性,如果对链条上的某一个区块的数据进行修改,将会导致整个链条发生断裂,因此区块链对已存储的数据是不可修改的,这样也间接保证了区块链数据的不可篡改。

5、匿名性

区块链在算法上是通过个人所持有的电子密钥的公钥的哈希值作为地址来对交易进行寻址的,而不是以个人的身份信息。以比特币为例,每个人都可以自主生成自己的电子密钥,其中电子密钥的公钥的哈希值作为收款地址,私钥则用于付款时进行验证签字,由于电子密钥中并不包含个人信息,因此无法通过该密钥找到持有人,从而实现了个人的匿名性。

需要注意的是,由于电子密钥和个人没有直接关系,因此如果没有妥善保管该密钥,当出现丢失(例如被误删除)的情况将无法找回对应的比特币。

6、智能合约

智能合约(smart contract)是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。智能合约将双方的执行条款和违约责任写入了软硬件之中,通过数字的方式控制合约的执行。

智能合约并不是随着区块链发展所提出的技术,而是上世纪90年代已经提出来的概念,只是在区块链2.0纳入了区块链的技术体系(比特币属于区块链1.0)。总体来说,智能合约具有以下特点:

  • 自动化,智能合约可以根据触发条件,自动执行相应的下一步事务,条件判断准确、及时。传统合约需要人工判断触发条件,效率、准确性均不如智能合约。
  • 主客观维度,智能合约适合客观性请求的场景,传统合约适合主观性判断指标。主观性判断指标很难纳入自动机中进行判断,从而难以执行下一步事务。
  • 成本,智能合约的成本低,所有的判断条件、执行、处置都是自动执行。
  • 执行时间,智能合约属于事前约定、预防执行模式,传统合约是事后执行。
  • 违约责任,智能合约违约成本高,一旦违约,数字资产、保证金等抵押品将遭受损失,而传统合约的违约执行依赖于刑罚,执行成本高。
  • 使用范围,智能合约技术可以全球采用,传统合约受地域影响大,不同地区的法律、人文因素会对执行过程产生影响。

在区块链中,可以这样理解智能合约的概念和作用:

(1)是一段实现具体业务逻辑的代码(例如Fabric的Chaincode);

(2)合约代码经过共识确认后写入区块链,不可篡改;

(3)具体区块链应用调用合约代码,或基于某些交易触发合约代码的执行;

(4)根据共识机制,多个节点都会执行合约代码得到处理结果进行验证,按共识机制确认后,合约代码的结果写入区块链。

二、区块链的缺点

这几年由于国家政策和宣传的原因,区块链很火,但实际上区块链技术是基于比特币的应用发展出来的,本身就带有一定的局限性,并不是什么场景、什么应用都适合用区块链技术实现。所以搞清楚区块链技术的缺点,才能更好地进行技术的选择。

1、写入性能低

与传统数据存储相比,区块链的数据写入性能超低,当然这里指的写入性能低并不是指数据写入单个节点设备的速度慢,而是指数据写入并实际生效的总体时间长。以写入一笔交易数据为例,传统的数据库可能几毫秒就能完成数据写入并生效,而区块链通常秒级或分钟级的时间才能写入。

这个问题是由于区块链的数据存储区块产生机制所导致的,区块链的区块只能由有记账权的节点写入,而节点获取记账权需要基于共识机制来争夺,这就会耗费不少时间。以数字货币为例,记账权基本都是基于PoW(工作量证明)的共识机制获取,需要服务器长时间的大量运算,目前比特币基本保持每10分钟出一个区块,以太坊平均17秒出一个区块。而交易数据必须要等新区块出来后才能打包写入,所以写入时间比较长。

2、并发性能差

区块链的交易并发性能比较差,这是有两个方面原因造成,一是前面所说的产生新区块的时间比较长,二是每个区块本身能写入的数据量也是有限制的,这就导致了区块链对整体的交易并发处理效率非常低。

比特币的并发性能是7TPS,也就是每秒只能处理7笔交易,以太坊稍微好一点,每秒可以处理10-20笔交易。而传统的数据库比如MySQL,单机TPS可以达到万笔交易级别,如果是多机部署集群模式还可以继续提升。

3、交易确认时间长

区块链由于其共识机制或版本机制,在产生新区块的时候有可能会造成整个链条的分叉,这时候区块链的为保证交易的一致性,通常会选择后续链路长的分支,而废弃掉链路短的分支。该机制会引发一个问题,就是虽然交易已经写进了区块链并且已经生效,但很有可能后续会因为有分叉问题交易被抛弃掉。

以比特币为例,通常需要等到交易所在分区后面再产生了6个区块以后,交易才算确定,按每10分钟产生一个区块计算,需要1个小时以后,才能确认交易真正生效。

这些缺点都是区块链在数字货币应用的原生特性所带来的,我们可以通过舍弃掉一些区块链的特性,来优化或解决一些缺点。以并发性能为例,IBM的fabric可以达到数千的TPS,石墨烯系列可以到上万的TPS,比特币和以太坊的Off-chain方案理论上支持无限的TPS。但这都是牺牲掉一些特性解决的:fabric联盟链通过准入机制,控制了验证节点的数量,石墨烯系列的DPOS,RippleNet共识机制,这都是牺牲了去中心化的特性;比特币可以通过提高每个区块的写入数据量限制,也可以提升并发性能,但这也会提高挖矿的准入门槛,无形中降低参与的节点数,这也是牺牲了去中心化特性;off-chain方案则交易都不在链上了,这个已经改变的区块链的根本。

三、区块链的应用

一个技术的现实应用一定要基于该技术的特性,结合场景来看能解决现有技术的什么问题,千万不要为了蹭热度而胡乱进行应用。我个人并不看好国内区块链技术的发展,虽说区块链已经放在国家政策层面,但能将其特性和实际场景结合的点少之又少,所以至今除了数字货币方面还没有看到区块链技术的重量级应用。

接下来聊一下我了解到或思考过的区块链应用场景。

1、数字货币

区块链技术目前主要的应用场景还是在数字货币上,最火的是比特币,目前1个比特币的价格已经是4w~5w美元,此外还有大量基于区块链技术的数字货币产生和消亡。为什么数字货币会这么火呢?归根结底是由于区块链的去中心化、开放性、匿名性这3个特性所带来的结果,翻译过来就是无政府、谁都可以交易、无法追查交易人的身份。懂一点金融的人这时候应该就能看出来数字货币的最主要应用场景:洗钱、黑市交易、资产转移。非法收入通过买入比特币,然后卖出就可以转换为合法投资所得;黑市的军火、毒品可以通过比特币交易,政府没有办法追查资金来源和去向;国内的资金购买比特币,在国外卖出就可以把资产转移到国外……

在国内,通过区块链技术发行的数字货币还有一个重要作用,就是收割智商税。把比特币源码拿来改个名字,就可以发行A币、B币、C币,发行者前期屯了一批币,用虚假交易抬高价格后抛售给接盘侠然后跑路。由于区块链的去中心化特性(无政府特性),这类发行的电子货币是不被国家认可的,所以进入币圈需要谨慎。

虽说区块链技术最适合应用在数字货币,但由于其去中心化的特性,不太可能会被政府用于数字货币的发行,例如我国的央行数字货币(DCEP)就没有采用区块链的技术。同时由于这类数字货币并没有政府背后的信用担保,一旦没有人再关注,价格就会一泻千里。针对货币信用担保的问题,facebook发布了区块链Libra项目,通过黄金储备与数字货币挂钩来保障货币价值,但实际上这跟政府发币已经没有多大区别了,facebook本身就是这个货币的中心发行商。

2、存证类应用

存证类应用是用于证明事物的真实性、所有权归属等,这类应用主要利用了区块链的不可篡改、可追溯的特性。

版权登记方面,可以将照片、图片、代码、音乐等数字信息存入区块链中(也有可能是这些信息的哈希值),用于证明这些信息的版权归属。

电子合同方面,可以将合同、协议等信息签署在区块链中,并在法院、公证处增加网络节点,利用公权机构的公信力来证明所签订合同的法律效力。

不过这类应用也并不是非使用区块链技术不可,如果推出服务的机构本身就具备公信力,以中心化的方式来搭建服务也一样能达到效果。当然,未来可能会有人设计和发行一个真正去中心化的存证中心(类似比特币的模式),来让所有人都可以低成本地登记自己的版权信息,进而让国家承认其法律效力(不像货币那么敏感,还是有可能的),也许就是一种版权保护方式的变革了。

3、支付结算应用

目前银行间的支付结算业务基本都是通过接入支付机构,由支付机构作为中心节点代完成银行间的资金清算,比如国内的人民银行清算中心、银联、网联等,国际的SWIFT组织。中心化的清算模式大致如下图所示,支付机构向接入的金融机构提供资金清算服务,同时会收取相关的服务费用,这费用通常也叫支付通道费。

浅谈区块链(一):应用篇

利用区块链的去中心化特性,有可能可以改变现有中心化的支付结算模式,让金融机构之间可以不依赖于支付机构而直接进行资金清算,以此减少支付通道的费用成本。如下图所示:

浅谈区块链(一):应用篇

通过区块链技术,央行和各金融机构都是区块链网络的一个节点,所有金融机构通过区块链网络,在支付中直接联动实现各银行在央行清算账号的直接清算,无需支付机构参与支付业务。如果设想再大一点,把所有企业和个人钱包作为区块链节点纳入网络呢,这样甚至可以把银行排除在支付结算流程中。

不过理想是丰满的,现实很骨感,目前基于区块链技术的去中心化支付模式全球都还在探索阶段,里面要解决的安全问题、性能问题、法律问题还有很多。并且由于银行间不信任的问题,实际上还是要有类似央行这样的权威机构作为信用担保,并不是真正意义上的去中心化。

上面的方案是我觉得可行性较高的,网络上还有其他的支付方案,不过我个人觉得比较扯,不具备落地的意义,比如下图这种方案:

浅谈区块链(一):应用篇

这类方案连支付的中间参与环节都没有减少,只是把原来的机构之间的清算对接换成了区块链网络,想出这个模式的人估计都不了解金融行业,机构之间不支持实时清算根本不是技术原因导致,区块链技术解决不了这个问题。

四、区块链的银行应用设想

本人身处银行,也被要求开展区块链的金融创新工作,因此在研究了区块链技术之后,有认真思考过区块链如何结合金融场景。很多银行或行业在做区块链创新,都是选择和客户形成两三个节点的区块链网络,然后一股脑地把所有信息放到链上,比如合同、发票、交易等。感觉这些都是为了完成任务,而简单地把区块链当成一个共享数据库来使用,如果使用传统技术来实现可能成本更低、效果更好。

在目前为止,暂时还没有看到区块链技术在金融场景上无可替代的应用,更多的只是拿去中心化、真实性这些作为卖点。个人认为,去中心化实际上是一个伪命题,金融场景还是需要权威和信用背书,去中心化并不能带来金融创新,我认为区块链在金融创新的方向应该是“智能合约”,这个很少被宣传所提到的特性。将智能合约放在区块链,一方面可以确保合约内容不会被篡改,另外一方面基于智能合约可以自动执行合同条款,在满足合约条件的情况无需人工干预,此外合同的正常履约、违约等信息也登记在区块链中,作为法律证据或企业信用证明。

以下是个人设想的两个场景(暂未找到实际落地的机会),希望对读者能起到抛砖引玉的作用:

1、企业合同线上执行

随着互联网的发展,线上签署电子合同的方式已经很多,但对收款企业来说,最大的痛点在于合同执行,特别是企业的回款不及时问题。可以借助区块链存证的特点,约束合同双方严格执行合同条款,并利用智能合约自动执行的特点,来保障收款企业在完成合同事项后,可以及时收到合同款项。

浅谈区块链(一):应用篇

业务场景大致流程如上图,企业、银行、法院/公证处均可以作为区块链网络上的节点,大致流程说明如下:

步骤1-3:企业签订合同后,同步生成对应合同的智能合约,与合同一并加密后存储在区块链上,只有有权节点(企业双方、法院)或经过授权解密的节点才能查看合同和合约内容;

步骤4:企业根据智能合约上的合同事项进行确认,例如供货企业在智能合约上确认已发货事项,收货企业在智能合约上确认已收货事项;

步骤5:智能合约根据已确认的合同事项,执行对应的条款,例如在收货企业确认收货事项后,执行货款结算,联动银行所绑定的结算账号进行资金的结算。

这个业务模式有点像执行在区块链上的淘宝,提升合同双方的执行效率,同时基于区块链上法院、银行这些参与机构提升双方的信任度。另外因为使用了智能合约,可以有更多的结算模式扩展,例如可以在合约上约定未按时结算后的罚息利率、提前支付款项的优惠折扣等等个性的合同条款,支持各式各样的合同执行。

2、个人亲友借款小应用

估计大家都遇到过亲友借钱的情况,有时候想要留个借条、明确一下还款时间、收点小利息什么的,但会拉不下面子提要求;借出去后催还款又是一件痛苦的事情。所以我觉得银行可以基于区块链的技术,为客户提供这类简易个人借款的小服务,方便客户的同时也增加了获客的方式。

浅谈区块链(一):应用篇

业务场景大致流程如上图,银行和法院/公证处可以作为区块链的节点,同时银行可以在自己的电子渠道上增加相应的服务功能,大致流程说明如下:

步骤1:借款人在银行电子渠道上发起借款申请,指定出借人,约定还款方式(分期、一次性)、还款时间、利息等信息;

步骤2:银行将生成对应的借款合约,同时自动授权出借人可查询借款人的信用情况;

步骤3:出借人通过区块链查看借款人的当前的信用状态,包括未还清的借款,历史是否有拖延还款等信息;

步骤4-5:出借人确认出借,借款合同上链保存;

步骤6:区块链自动执行借款合约,利用银行节点将处理相关的资金结算,包括资金借出、收取利息、还款等处理;同时记录合同执行情况。

这个模式下银行为出借人提供了借款公证人的服务,在出现借款人违约的时候可以为出借人进行举证;同时借款合约生成后自动执行,无需出借人线下推动还款处理。

五、后记

一直就想将自己对区块链的理解和设想写一篇浅显易懂的文章出来,结果一动笔发现方向就走偏了,还是写得太偏技术。同时因为内容太多,我把文章拆成了应用篇和技术篇,应用篇适合对区块链进行简单了解以及在应用场景上进行思考;技术篇将会简单说明区块链的关键技术原理,便于技术控加深对区块链技术的理解。由于公众号一天只能发布一篇文章的限制,技术篇将明天发布。

文章中有一些个人观点,可能会因为自己所处的行业、技术理解、人生经历等局限性,会比较片面,欢迎区块链的真正专家能指正和解惑。

业界动态

数字营销是什么?带你掌握定义、策略与趋势!

2021-3-16 10:21:12

业界动态

6小时复盘,聊聊我们的后增长时代

2021-3-16 10:29:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索