区块链技术是什么?未来可能用于哪些方面?
区块链(blockchain)技术是维护一个不断增长的数据记录的分布式数据库,这些数据
通过密码学的技术和之前被写入的所有数据关联,使得第三方甚至是节点的拥有者难以篡改。区块(block)包含有数据库中实际需要保存的数据,这些数据通过区块组织起来被写入数据库。链(chain)通常指的是利用Merkle tree等方式来校验当前所有区块是否被修改,这一点用过Git的码农们早就熟悉了,回想一下如何修改Git的历史记录吧。
目前已知的一些区块链技术应用大致有这三类:
公开区块链(public blockchain) 例子:比特币,Ethereum Frontier。公开区块链上的数据所有人都可以访问,所有人都可以发出交易等待被写入区块链。共识过程的参与者(对应比特币中的矿工)通过密码学技术以及内建的经济激励维护数据库的安全。公开区块链是完全的分布式。
协作区块链(federated blockchain) 例子:Hyperledger以及德勤等会计所尝试的审计系统。参与区块链的节点是事先选择好的,节点间很可能是有很好的网络连接。这样的区块链上可以采用非工作量证明的其他共识算法,比如有100家金融机构之间建立了某个区块链,规定必须67个以上的机构同意才算达成共识。这样的区块链上的数据可以是公开的也可以是这些节点参与者内部。部分意义上的分布式。
私有区块链(private blockchain) 例子:Eris Industries。参与的节点只有用户自己,数据的访问和使用有严格的权限管理。近期部分金融机构公布的内部使用的区块链技术大都语焉不详,不过很可能都在这个范围内。
区块链是由共识机制、密码学等技术组合而成的技术。
区块链的应用非常广,可以跟金融保险,慈善,国际贸易等行业链接。
从国际贸易来看,以前的国际贸易转账支付时间非常长,至少要几天才能让这个钱到账,但是区块链运用就不一样的,只要他给予旷工记帐的费用足够高,他可以在一个小时内甚至更短的时间内完成转账支付,所以它的效率是非常高的。
再比如区块链+慈善,慈善事业发展到现在,一个很难突破的点就是当人们想要献爱心去做慈善的时候,会发现这个钱交给红十字会,或者中介机构,我们是很难去保证这钱确实到达需要帮助的人手里,这其实是一个信任问题。
但是如果区块链+慈善的话,由于区块链有实时记账、不可篡改、透明性等特点,那我们可以在链上查看钱的去向,确保我们的钱确实用在刀刃上。
区块链还可以加农业,举个例子,每年东北大米输出的官方数据可能只有一千吨,但是市面上很多其他地方的大米假冒东北大米,市面上东北大米销售总量达到几百吨。
可以看出,很多消费者其实是受了欺骗,我们如果用区块链+农业可以运用农业溯源,我们把这个大米记录到区块链,消费者在通过在区块链上可以判断这个大米是否真的来源于东北。这是农产品溯源的一个方式。这样子既能够维护东北大米的品牌,也能够保证消费者不会受到欺骗。
区块链可以非常多的行业联系,甚至可能在未来变革很多行业。
区块链技术是去中心化、具有分布式核算与储存的特点,为其未来发展奠定的应用基础。
而跨境电商将运用区块链技术解决以下四大问题,第一,外贸渠道缺失和信任问题;第二,高昂的手续费和漫长的转账周期痛点;第三订单碎片化的挑战;第四,在线贸易的刚性需求及交易额频次提高。
目前中国的第三方支付系统在国内是非常发达的,比如微信和支付宝。
要去中心化的分布式和储蓄使得用户在跨境汇款中以更低的费用和更快的速度完成跨境转账,所以这里面有着庞大的市场空间。
而区块链技术为跨境支付提供的解决方案,可以弥补现有跨境支付中的体验问题。
未来金融业将首先接受区块链的洗礼,因为支付汇款方式将是一场变革。
而去中心化的原因使得银行将面临着改革,使得票据清算重构,如果区块链技术应用广泛将让审计人员下岗,并且让复杂的产权得到确认并能够轻松证明身份。
所以未来身份证明也将是区块链的一大应用:你就是你,不需要再证明。
而如今已经有几家全球的企业应用大数据时代分析,未来区块链普及时将重整数据与并挖掘数据的内在联系,让一切数据有了理论的依据,并让金融业使用数据库得到更准确的分析,而广泛应用到医疗卫生行业将改写历史,让预测市场走得更远。
个人公众号:吴丽婷Anita,懂两地保险的理财规划师,回复“理财"有惊喜!
我在面试时为了让应聘者快速理解区块链,是这么打比方的:
想象有一个100台的分布式数据库集群,现在的情况是这100个节点实际上的拥有者是一个机构,并且所有节点处在该机构的内网当中,所以这个机构想让这100个数据库节点干嘛就干嘛,换句话说这100个节点之间是处于一个可信任的环境,并且受控于一个实体,这个实体具有绝对仲裁分配权。
现在的情况是这样的,想象这100个节点分别归不同的人所有,且每个人的节点数据都是一样的,即完全冗余,并且所有的节点是处在广域网当中,换句话说就是这100个节点之间是不信任的,且不存在一个实体,它拥有绝对仲裁权。
现在考虑第二种情况,采用什么样的算法(共识模型)能够提供一个可信任的环境,使:
每个节点交换数据过程不被篡改;
交换历史记录不可被篡改;
每个节点的数据会同步到最新数据,且承认经过共识的最新数据;
基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。
以上为背景,
现在来谈谈区块链,区块链本质上就是要解决以上第二种情况的一种技术方案,更确切的说应该叫分布式的冗余的链式总帐本方案。
只要包含了以:
一种P2P的角度,链式的,只维护一本总帐的,能解决以上问题的技术方案,称之为区块链技术方案。
有关区块链的一些要素,在我的文章里有总结过一些:
包含一个分布式数据库
分布式数据库是BC的物理载体,BC是交易的逻辑载体,所有核心节点都应包含该条BC数据的全副本
BC按时间序列化Block,且是整个网络交易数据的主体
BC只对添加有效,对其他操作无效
基于非对称加密的公私钥验证
记账节点要求拜占庭将军问题可解/避免
共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。
共识过程能够解决double-spending问题
当然如果不是区块链也可以做,分布式一致性算法中有一个Paxos算法家族,即Paxos算法有各种变种,可以是拜占庭容错的,也就是说,用传统分布式算法也能做,不过应用场景没有大规模尝试。如果对共识算法感兴趣:
#2. 和比特币的关系
要说区块链当然避不开说比特币,之所以要谈比特币:
第一是因为区块链技术是随着比特币诞生的,可以说没有比特币,区块链技术可能要晚很多很多年才可能出现,也有可能不会出现;
这个问题有两部分,我分“原理”和“意义/用途”两部分来回答,力求让没有背景知识的朋友看完之后也能大概理解区块链的原理和重大意义:
区块链技术原理
我尽量不涉及太多细节,把区块链大概的工作原理用尽可能简单的语言描述一下,相信你能很快对区块链有所了解。
以比特币的区块链为例,你可以把区块链想象成一个比特币的公共账本,这个账本:
1.存放在互联网的各个比特币节点上,每个节点都有一份完整的备份
2.里面记录着自比特币诞生以来的所有比特币转账交易
3.账本是分区块存储的,每一块包含一部分交易记录。每一个区块都会记录着前一区块的id,形成一个链状结构,因而称为区块链
4.当你要发起一笔比特币交易的时候只需把交易信息广播到p2p网络中,矿工把你的交易信息记录成一个新的区块连到区块链上,交易就完成了。
这里有几个问题:
1.如何保证用户有足够的余额,例如你只有十个币,而你居然发起了一笔转20个币的交易怎么办。
这个问题很好解决,因为区块链上记录了所有的比特币交易记录,只需要回溯所有的和你账户相关的历史交易就能知道你这个账户上到底有多少余额,余额不对矿工是会拒绝记录你的交易的。