02 区块链原理
区块链技术可以认为是要解决互联网时代下的“拜占庭将军问题”,即在网络中的中心节点和信息传递通道都缺乏可信度的情况下,如何使网络中的各个节点达成共识。
区块链技术在去中心化、各节点无须事先信任的情况下,通过加密算法、共识机制和特定的数据存储方式,构建一个集体维护的可靠的数据模式,实现数字资产在网络节点之间的转移。
区块链采用了特定的“块—链”存储结构(见图2-2)。
▲图2-2 “块—链”存储结构
首先,数据被按时间顺序划分成区块,每一个区块存放一段时间内的所有价值交换信息,所有节点存储这段时间内的数据,并且永久保存,各个节点通过特定的计算争夺领导权,将下一时间段的信息进行打包分发,并通过某种特定的信息添加到上一区块的后面,构成区块链结构。
这种区块链结构的特点就是可以保证数据的完整性,因为每一个区块都会存储它被创建之前的所有价值交换信息;还可以保证数据的严谨性,因为一旦新的区块被加入链中,之前的区块就再也不能修改。
区块链实现了从记录到传输再到存储的全面分布式的模式,数据传输、数据验证、数据存储都去中心化,所有参与者共同构建数据库。
区块链采用非对称加密算法以提高数据的可信赖度,非对称加密即指加密和解密使用不同的密码,即公钥和私钥。加密数据所用的密码被称为公钥,是所有人都知道的、可以用来给信息加密的密码;解密数据所用的密码被称为私钥,是只有该信息的接收者知道并用于解密的密码。公钥加密的信息只有使用对应的私钥才可以解密。
实际情况中,假设甲向乙发送一个信息,甲、乙各自生产一对公钥与私钥用以加密和解密,甲、乙分别保管自己的私钥并向对方告知公钥,如果甲向乙发送信息,那么甲用乙的公钥进行加密并向乙发送加密后的信息,乙收到消息后用自己的私钥解密,网络中其他参与者均无法解密。这种算法强度高的加密方式保证了区块链信息的可信赖度。
区块链使用数学方法解决信任问题,用算法代替中心化的第三方机构,为人们创造信用,帮助人们达成共识。
区块链利用脚本使系统可以直接定义完成价值交换活动所需要的条件,有了脚本,区块链技术就有机会使系统不断成长,去处理一些新出现的交易模式,确保其时效性和实用性。
脚本中包含大量指令,每次价值交换都会记录指令,比如接收价值的一方如何接收,以及花费掉自己曾收到的留存价值需要满足什么附加条件等。脚本的可编程性使其可以灵活改变花费掉留存价值的附加条件,如增加所需公钥的数量。它也可以在发送价值时规定价值再转移的条件。
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成(见图2-3)。
▲图2-3 区块链技术体系
第一层:数据层,存储底层数据、非对称数据加密和时间戳等基础数据。
第二层:网络层,含有分布式组网机制、数据传播机制、数据验证机制等。
第三层:共识层,封装有各类共识机制算法,确定记账决定方式,这关系到整个系统的安全性和可靠性。目前较为知名的由共识层封装的共识机制有工作量证明机制(PoW,Proof of Work)、股份授权证明机制(DPoS,Delegated Proof of Stake)、权益证明机制(PoS,Proof of Stake)等。
第四层:激励层,在区块链技术体系中使用的经济手段,包括经济激励的发行以及分配,多出现在公有链中。
第五层:合约层,封装区块链系统中的脚本代码、算法以及智能合约,帮助区块链灵活地处理数据。
第六层:应用层,封装了各种应用场景和案例,如电商购物、新闻浏览、视频观看等。
03 区块链特点
区块链技术具有去中心化、信息不可篡改、信息透明和可共同维护等特点,下面将分别进行详细阐述。
1. 去中心化
去中心化就是指网络中各个节点的地位相等,传输内容和交易数据不再需要通过某个中心节点进行(见图2-4),数据也不再存储在中心节点上,这样可以防止因中心节点权力过大而引起的风险。区块链模式中,每个节点都存储数据交易中所有的价值交换数据,取代了中央计算机存储所有信息的模式。
▲图2-4 去中心化网络
另外,每个节点不仅会参与数据存储,还会验证其他节点记录信息的正确性。只有当某个记录的正确性被大部分节点认同,或者所有节点的对比结果一致时,它才可以被写入链中。
同时,为了保护数据信息不会因节点受攻击或其他意外而丢失,区块链会对所有数据进行分布式存储(将数据存储在网络中的每一个参与的节点中),并实时更新,极大地提高了数据库的安全性。
2. 信息不可篡改
区块链网络中,每个参与节点都保存一份完整的交易历史记录,这样,任何一个节点想篡改这些历史记录,别的节点都可以拿出自己的数据备份进行证伪。所以,信息一旦被写入区块中,就不能更改、撤销了。
3. 信息透明
区块链中的项目和数据都是公开透明的。区块链项目组会公示项目信息和项目代码,区块中的数据经处理后被公开在区块链上,意味着所有的交易信息都是公开可见的。极短时间内,区块信息会被发送到网络中的所有节点上,实现全网数据同步,每个节点都能回溯交易双方过去的所有交易信息。
4. 可共同维护
在整个区块链系统中,无论是价值的提供者还是价值的接收者,都可以充当维护者,共同维护整个区块链信息的可靠性。
区块链系统是开放的,除了价值交易双方的私有信息被加密外,系统还由其中所有参与节点共同维护,任何一个节点都可以通过公开的接口查询区块链数据和开发相关应用,共同维护整个系统的信息透明度和可信赖性。
04 区块链通用应用
区块链技术已经广泛应用于生活中各个领域,例如金融、医疗、内容社交平台、慈善、教育、版权保护、投票等。
1. 金融
区块链具有的信息透明、不可篡改的特点,在金融领域得到深入应用。各类金融资产如股权、债券、基金等都可以被融入区块链中,以“数字资产”的形式在区块链上进行存储和交易。跨境支付、数字货币、数字票据、支付清算、征信管理、证券交易和保险管理等方面也能从区块链技术中获益。
例如,传统的证券交易需要由证券公司、银行、中央结算机构以及交易所多方协同工作才能共同完成,导致效率低、成本高,容错率也很低,一个环节出现漏洞就会造成巨大的问题和损失。然而,在区块链技术应用在证券交易中后,各参与方便可独立地完成整个结算流程。
再比如,跨境支付是金融领域的重要组成部分,但效率低、速度慢。然而,在区块链点对点的技术应用到跨境支付领域后,汇款通道变得透明,交易历史数据可追溯,让收款方、汇款方都安心,也大大提高了效率和速度。
2. 医疗
区块链在医疗信息安全与隐私保护方面有着极其重要的应用。在当前中心化的信息管理系统下,各种黑客攻击和系统漏洞导致信息安全问题极大,而医疗领域存储着很多用户的私密资料,数据泄露问题一旦发生,就会造成极其严重的后果。因此,医疗领域需要森严的安全措施保护数据。
区块链的去中心化的特点则有针对性地解决了这个问题。去中心化的病人医疗健康信息数据存储与共享的建立大大有益于医疗行业。
3. 内容社交平台
目前,很多内容社交平台都是中心化的,如抖音、微博、微信公众号等,中心化的意思是中心决定节点,节点必须依赖中心,节点离开了中心就无法生存。因此,平台需要做的就是提供平台,然后用户通过平台为自己带来流量,进而利用流量获利。
区块链技术可以给内容社交平台注入新的血液,它利用分布式管理将平台去中心化,在新的去中心化系统中,每个人都是一个节点,任何人也都可以成为一个中心。这样平台可以将权力分散到用户身上,用户也可以贡献出自己的力量并获得平台的奖励和经济回报。
4. 慈善
人们捐赠爱心、传递善意是一件美好而伟大的事,但是层出不穷的慈善黑幕事件给这件美好的事情增添了污点。慈善体系的不透明为这类事情提供了契机,也引发捐赠者对这个行业的担忧。
区块链技术可以大大提高慈善领域的信息透明度,让捐赠者有权对慈善体系和流程进行监督,进而鼓励捐赠者放心捐助,形成良性循环,改善慈善事业。
如利用区块链技术建立公开透明的、不可篡改的信息体系,从善款的流向到受捐赠者的身份确认,建立慈善领域的监督问责机制,增加捐赠者对机构的信任和信心,同时也保护了捐赠方和受赠方的隐私。
5. 教育
教育系统中,学历认证一直十分重要,人工验证纸质版证书的效率低下,且纸质版证书有丢失的风险。区块链由所有参与者进行维护且不可篡改,使用区块链存储和保护学生的证明文件,可以简化流程并提高学历认证的效率。
学生的学历信息和档案记录等全部存储在区块链中,当学生需要证明自己学历和相关信息时,只需让对方加入链并看见自己的文件即可。同时,区块链具有去中心化的特点,证书不会因为中心机构关闭而消失,数据永远存在。
6. 版权保护
版权保护在中国一直是大家十分关注且亟待解决的问题。但是版权登记成本较高、效率低,以及版权保护的效率低、效果差的问题一直存在。将区块链技术应用到版权保护领域,对版权所有者和其版权产出的数据进行存储,可以实现对所有权的溯源,从而达到保护版权的目的。
更高效、便捷、有效的保障内容生产者权益的方式,能激励更多的创作者继续创造新的内容,创作者通过将作品记录于区块链,实现对原创作品的追踪,一旦发生纠纷或者盗用事件,可以尽快展开进一步的措施。
7. 投票
在部分国家,投票被用于进行总统选举。投票本着公平公正、少数服从多数的原则,但是由于系统透明度低,投票结果容易引起部分参与者的怀疑。区块链去中心化和透明化的特点正好可以有针对性地解决这个问题,使投票透明、真实性强。