自上个世纪电子支付诞生以来,人们就开始探索数字货币,诞生了诸如B-money、DigiCash、Bit Gold等数字货币的思想和技术。到了2008年左右,一位名叫“中本聪”的神秘人物发明出了比特币(Bitcoin),成为了真正意义上的数字货币。经过10年漫长的发展,比特币的价格从最开始的几美分一路扶摇直上,最高达到接近2万美金,翻了几百万倍。
在资本疯狂的追逐下,在一个个暴富神话的冲击下,比特币逐渐进入大众视野。之后,以智能合约技术为基础的以太坊诞生,进一步催生出一个新的领域和市场——区块链。越来越多的创业团队开始在区块链领域耕耘,从底层基础设施,到平台,再到丰富的应用,整个生态可谓百花齐放。而区块链领域也逐渐成为了热门领域甚至风口领域。
那么,区块链到底是个什么东西?它的核心技术是什么?它有哪些应用和发展?以及它存在哪些潜在的问题?本周,让我们跟随《白话区块链》这本书的脚步,一起来探索区块链的世界。
技术理念
通过前面的故事,我们了解了区块链本质上是一种分布式记账的技术。记账的村民是整个区块链网络中的节点,他们彼此联系,形成了一个点对点的网络。每天记账完成后,记账人都要通知其他节点来确认并复制账目,如果人数众多,就会点对点的广播下去,直到所有的节点都同步,这种互相通信的功能称为“网络路由”。
网络中的节点都是独立记账的,怎么才能保证大家的数据一致呢?就是通过一种规则选出一个记账节点,而这个筛选规则就是“共识算法”,前面故事中的“掷骰子”就属于一种筛选规则。每当选出一个节点,则一段时间内的记账都以该节点为准,它记好账然后通过网络广播给其他节点,其他节点验证后,如果没有问题,就记入自己的账目中,这就让所有节点的账目都保持了一致。
有人可能会问:“我凭什么要帮大家来记账呢,我又不是慈善家。”的确,在区块链系统中,记账需要打包交易数据,并进行广播以及账本的存储,是需要消耗节点的计算资源以及电力的,如果没有任何激励措施,估计没有人会干这种事。为了解决这个问题,区块链引入了奖励机制,而奖励就是我们通常所说的数字货币,比如比特币。而通过记账、打包交易数据并获得数字货币的这个过程,我们称之为“挖矿”。
在传统的交易领域,我们每个人都会有一个实名的银行账户,作为自己的身份,来转入或者转出资金。但是在区块链系统中,我们该如何标记一个节点的身份呢?答案是加密算法。区块链系统采用公开密钥算法来实现节点身份的标记。每个节点拥有一对密钥——公钥及私钥。其中,私钥由节点自己保存。公钥,我们通过一定的编码算法将其转换成一串字符,称之为“地址”,这就是我们在区块链中的身份,它类似于传统交易中的个人账户。
在传统交易中,我们只需要去银行开一个账户,就可以进行转账了,由银行来记账,我们也放心。但是,在区块链系统中,记账者是一个你不认识也不信任的节点,因此,我们在传递有价值的信息以及资产的时候,都需要进行加密。比如,我向你转一个比特币,我就需要用你的公钥(地址)来加密,以及我自己的私钥来签名,这样,只有你用自己的私钥才能解开,并且通过我的公钥来确认这个比特币是我发的。而这种功能设计在区块链系统中称为“脚本系统”。
总结一下区块链的技术理念,就是大家共同参与记账,通过一定的规则不断选出记账节点,由它进行打包交易,并广播给其他节点进行验证,保持账本数据一致并给予记账节点奖励。每个节点拥有一对密钥来标记自己的身份,通过脚本系统在公共网络中传递有价值的信息。
潜在的问题
分叉。区块链的结构是一个个区块按照一定的顺序被链在一起,由于节点间版本更新不一致的问题、或者社区(矿工节点)出现分裂、或者恶意攻击等原因,会在某一个区块高度产生出两条以上的链接方向,就像树枝分叉一样,这种情况被称为分叉。比如比特币因为扩容问题而分叉出了比特现金,以太坊因为TheDAO合约漏洞攻击事件而分裂成了以太坊和以太坊经典。这种分叉现象在区块链领域很普遍,但也很严重,可能会改变区块链项目原本的发展路径和初衷。
51%攻击。区块链的本质是一个分布式记账系统,我们为了摆脱对于第三方机构作为信用担保的依赖,引入了很多节点共同记账的机制,这样,当某些人想要篡改交易,就很难实现。但是,如果这个人的权力很大,大到可以控制超过一半以上(51%以上)的节点按照自己的想法来记账,那么他就有可能篡改交易账本,从而实现双重支付(即一笔钱花费多次),而这显然是不公平的。51%攻击也是区块链分布式记账系统面临的一个比较大的问题。
私钥丢失。区块链中的私钥,就相当于我们的银行卡密码,通过它,我们才能支配我们的区块链资产。但私钥比银行卡密码的使用要求更为苛刻,如果银行卡密码忘了,我们可以拿着身份证去银行修改,如果银行卡密码被盗,我们可以通知银行冻结账户然后修改密码。但在区块链系统中,并不存在这样一个中心化的机构来为我们服务。一旦私钥丢失,就基本再也找不回来了,就意味着你的区块链资产将被永久封存。
代码漏洞。要说软件代码不存在漏洞几乎是不可能的,哪怕不停的升级更新,也依然会存在漏洞。传统软件中,这些漏洞大多带来的是使用体验上的问题,比如卡顿,闪退或者某些功能无法使用,我们通过下载更新就可以修复。但区块链系统,天然与资产价值相绑定,一旦出现漏洞,就可能造成极大的经济上的损失,比如以太坊的TheDAO事件,以及时常发生的数字资产被盗事件,需要我们提高警惕。
网络拥堵。区块链技术发展还处于初期阶段,基础设施还不够完善,很多区块链系统目前只实现了基本功能,在性能上还存在很大的提升空间,目前还无法支持大规模并发交易的应用,像之前火爆一时的以太坊游戏 Cryptokitties ,由于参与人数众多,交易量巨大,一度让以太坊网络陷入瘫痪,转账确认要好几天。当然,随着技术的发展,区块链系统的性能会越来越高,网络拥堵问题也会逐步解决。
我在“蚂蚁私塾”的拆书专业——《科技风口》已经上线。本专业主要围绕热门科技及领域展开(如人工智能、区块链、基因编辑等),一方面提供前沿科技的发展现状,开拓视野;另一方面,帮助你从这些热门领域和未来趋势中寻找新的机会,启发新的梦想。
如果你对科技发展与未来趋势充满了好奇与兴趣,请关注“蚂蚁私塾”微信公众号,并找到《科技风口》专业,期待与你一起把握科技风口,引领时代潮流。
以上内容节选自《科技风口》专业。