区块链技术综述
摘要
关键词
区块链 比特币 共识机制 加密算法
正文
1.引言
什么是交易?交易就是双方在买卖物品时,买方支付给卖方十元人民币,买方从钱包里拿出十元人民币给卖方,这就是一笔最简单的交易,并且是一笔线下的交易。随着技术的发展,逐渐由线下交易慢慢地过渡到了线上交易。线上交易和线下交易的区别就在于,买方和卖方远隔万里,不能再面对面支付现金了,由此便产生了银行转账等线上交易平台。线上交易行为本质就是记账的行为,无论是什么平台,买家和卖家两方之间的交易行为必须有一个第三方来充当中介的角色。承担中介角色的第三方是否足够可信,是一个很强的壁垒,为此需要付出极大的信任成本。要使线上交易与线下交易一样,只有两方之间进行交易,没有第三方的存在,这种交易模式就是点对点的交易模式,也就是Peer to Peer,即P2P。比特币的出现打破了这种不可能,比特币从技术上实现了一种分布式的点对点的两方之间的交易。比特币有很多很好的特性。首先,比特币的交易不需要任何可信任的第三方,完全实现点对点交易和全球流通性。其次,还具备安全性、隐私性、可追溯和交易不可篡改等等为大家所熟知的特性。
2.从比特币到区块链
在货币的发展史中,最早是纸币和硬币。在慢慢地进行线上化和虚拟化的过程中出现了一些虚拟货币,虚拟货币不属于数字货币。再后来又出现了央行发行的电子货币,因为发行者是央行,所以它可以为电子货币提供信誉担保,这样我们就能够信任我们所使用的电子货币。它的数据虽然都是由银行来记账的,但是它不会随意更改我们的数据。最后出现了以比特币为代表的数字货币。数字货币最大的特点就是它没有一个像央行一样的中心化的发行机构,也就意味着无人可控制它,所以我们不需要信任任何人,我们只需要信任写好的计算机程序,程序会按照写好的代码自动执行,通过技术来保证货币的发行量和交易的安全性。
3.区块链的骨骼与灵魂
3.1加密算法
区块链中用到的加密算法主要分为两类。第一类叫对称加密算法,意思就是加密和解密用的都是同一套密钥。就像我们之前看到的一些谍战片里所用到的密码,只要把密码表拿到,收听到密报就可以破译成原文。而原文加密成密报,也用的是那套密码表,这就是类似于对称的加密。非对称加密,又叫做公开加密算法。非对称加密会生成一对、两把密钥,其中一把可以用来公开,所以它又叫公开加密算法。其中一把密钥公开,另外一把私有,那么公开和私有这两套密钥,就可以分别用来加密和解密。这用于区块链体系中,就很适合构成区块链的账户体系,一个充当账户,一个充当密码。非对称加密算法,比较知名的有RSA算法和ECC算法。其中ECC算法是我们比较熟知的,ECC算法也是比特币和其他区块链中常用的算法,它相比RSA算法有一个很大的进步,破解ECC密钥需要的能量远大于破解RSA密钥所需要的能量,一定程度上也显示出了它的安全性。
另一个常用的加密算法是哈希函数。哈希函数本质上是一种映射的关系,它能把一个任意长度的消息或者信息压缩成固定长度的二进制的串,这就是哈希函数。它有一个很好的作用和特性,它可以实现对任意无论多小或者多大的信息,生成一个和它唯一对应的数字ID,这其实就相当于数字概念中的指纹。
3.2共识机制
共识其实就是对某事达成一个共同的看法,在区块链这样的一个特定讨论场景下的共识,就是全网这么多共同的记账者能否对统一的账本记录交易有一个一致的结果。这就是区块链的共识需要达成的目标。
我们分成了三种不同的安全模型。第一个叫非拜占庭容错模型,它的错误类型只包括消息的丢失、重复或延时,以及服务器的宕机和通信协议的不可靠。在这样的模型中是没有攻击者的,我们认为每个节点都是安全可靠的,这样的模型比较多的用在互联网的通信传输模型,或者是说分布式服务器的模型之中,相对来说是比较简单的一种模型。第二种是拜占庭容错模型,它在包括了所有的非拜占庭容错模型的错误类型之外,还会包括攻击者。第三种是经济模型,在拜占庭容错模型之上还会再包括经济影响因素。在区块链这样的系统之中,我们就要考虑到最高级的,包括经济因素这个层面的分布式系统的一致性问题,这是一种最高级的安全模型问题。
4.主流区块链项目介绍
4.1山寨币
山寨币,顾名思义。比特币或者以太坊,它们的代码都是完全开源的,也就是说任何人都能完全地复制这样的一套代码。所以说对比特币不做任何改动,自己去搭一条区块链,从代码这个方面来说是可以很轻易地获得的。山寨币就是为了和比特币有所区别,在某些参数上进行一些改动,然后造出来的一条新的区块链,因为它没有什么特别大的创新,所以又被人叫做山寨币。在英文中叫Altcoin,也就是一种替代币。山寨币中的典型的代表是莱特币,英文Litecoin。其中lite在英文中就是更加轻便、清亮的意思。莱特币就是把比特币的代码改成了数块的间隔更短,币的总量也更多。
4.2蚂蚁链
蚂蚁链是蚂蚁集团代表性的科技品牌,原名为蚂蚁区块链,2020年品牌升级为蚂蚁链,致力于打造数字经济时代的信任新基建。蚂蚁区块链一直以来为人所熟知的是在BaaS上发力特别多。BaaS也就是Blockchain as a Service,也就是说它会提供一个成熟的联盟链的服务。对于企业来说比较友好,不用付出开发成本,在开源的平台上再开发出来一条联盟链,可以直接采用蚂蚁区块链所提供的比较可信的区块链服务。
5.区块链技术潜在的问题
区块链的区块大小存在上限,区块的验证、广播需要时间,一个区块越大,则需要的网络、硬件要求越高,需要的时间也越久。成立全节点需要下载所有区块数据,控制区块大小可以降低全节点门槛,维持去中心化程度。所以区块的容量大小不能一味扩大,但当网络、硬件水平普遍提高时,区块大小可以合理增长。比特币1个区块容量1M,10分钟1个区块,折算TPS大概7笔交易每秒。矿工收到的交易沉淀在未打包池中,来不及记录进区块的只能等待,如果有大量的未确认交易就会造成网络拥堵。
参考文献
[1]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016,42(04):481-494.
[2]邵奇峰,金澈清,张召等.区块链技术:架构及进展[J].计算机学报,2018,41(05):969-988.
[3]沈鑫,裴庆祺,刘雪峰.区块链技术综述[J].网络与信息安全学报,2016,2(11):11-20.
...