初识区块链
前言
没有安全,何谈财富?
定义
区块链由一个共享的,容错的分布式数据库和多节点网络组成。也就是说,区块链其实就是一个多方参与的加密分布式账本。这里面有四个关键词:多方参与、加密、分布式、记账本。
记账本
这个账本就像我们的银行账户一样,比如今天往卡里存了多少钱,又花了多少等等,这些都是有记账的。就拿比特币交易的例子来说,一笔比特币交易完成之后,比特币的区块链上就会记住你购进多少的比特币的流水,这些条目会在你的账户中,你的账户就是一个账本。
但这个账本不是普通的账本,它是多方参与的账本。这意味着这个账本不是一个人记账的,也不是一个中心化机构去记的,而是由分散在全球各个角落的人去记的。甚至会借助于卫星系统。因此,无论你分布在世界的哪个角落,只要有一台电脑,就可以进入这个数据库,查看某某人做了什么交易等等。
加密
加密是通过密码学的一种手段,保证你的数据不会篡改。这就和现在我们去银行转账,他们通常会给你一个U盾一样,这个U盾就相当于你账户的一把钥匙,只有拥有钥匙的人才能操作这个账户,才能进行转账。
在区块链里面也有这个概念。你在区块链开户的时候,系统会自动创建一把钥匙,有了这个钥匙才可以操作区块链上的账户。这把钥匙的产生,和使用钥匙进行账户操作的一些判断,都来源于这个加密学手段。
而区块链采用非对称加密算法,以提高数据的可信赖度,非对称加密即指加密和解密使用不同的密码,即公钥和私钥。加密数据所用的密码被称为公钥,是所有人都知道的、可以用来给信息加密的密码;解密数据所用的密码被称为私钥,是只有该信息的接收者知道并用于解密的密码。公钥加密的信息只有使用对应的私钥才可以解密。
这种算法强度高的加密方式保证了区块链信息的可信赖度。
分布式
分布式的意思是说,区块链这个多方参与的节点,实际上是分布在全球的任何一个网络节点里面,他不归属于一个特定的机构。
这种分布式对等网络即P2P,其最主要的特点是:每一个网络节点之间都是平等的,没有哪一个节点处于中心地位或者对其他节点具有控制、管理权限。
特点
去中心化
去中心化就是指网络中各个节点的地位相等,传输内容和交易数据不再需要通过某个中心节点进行,数据也不再存储在中心节点上,这样可以防止因中心节点权力过大而引起的风险。区块链模式中,每个节点都存储数据交易中所有的价值交换数据,取代了中央计算机存储所有信息的模式。
另外,每个节点不仅会参与数据存储,还会验证其他节点记录信息的正确性。只有当某个记录的正确性被大部分节点认同,或者所有节点的对比结果一致时,它才可以被写入链中。
同时,为了保护数据信息不会因节点受攻击或其他意外而丢失,区块链会对所有数据进行分布式存储(将数据存储在网络中的每一个参与的节点中),并实时更新,极大地提高了数据库的安全性。
信息不可篡改
区块链网络中,每个参与节点都保存一份完整的交易历史记录,这样,任何一个节点想篡改这些历史记录,别的节点都可以拿出自己的数据备份进行证伪。所以,信息一旦被写入区块中,就不能更改、撤销了。
信息透明
区块链中的项目和数据都是公开透明的。区块链项目组会公示项目信息和项目代码,区块中的数据经处理后被公开在区块链上,意味着所有的交易信息都是公开可见的。极短时间内,区块信息会被发送到网络中的所有节点上,实现全网数据同步,每个节点都能回溯交易双方过去的所有交易信息。
可共同维护
在整个区块链系统中,无论是价值的提供者还是价值的接收者,都可以充当维护者,共同维护整个区块链信息的可靠性。
区块链系统是开放的,除了价值交易双方的私有信息被加密外,系统还由其中所有参与节点共同维护,任何一个节点都可以通过公开的接口查询区块链数据和开发相关应用,共同维护整个系统的信息透明度和可信赖性。
应用
金融
区块链具有的信息透明、不可篡改的特点,在金融领域得到深入应用。各类金融资产如股权、债券、基金等都可以被融入区块链中,以“数字资产”的形式在区块链上进行存储和交易。跨境支付、数字货币、数字票据、支付清算、征信管理、证券交易和保险管理等方面也能从区块链技术中获益。
例如,传统的证券交易需要由证券公司、银行、中央结算机构以及交易所多方协同工作才能共同完成,导致效率低、成本高,容错率也很低,一个环节出现漏洞就会造成巨大的问题和损失。然而,在区块链技术应用在证券交易中后,各参与方便可独立地完成整个结算流程。
再比如,跨境支付是金融领域的重要组成部分,但效率低、速度慢。然而,在区块链点对点的技术应用到跨境支付领域后,汇款通道变得透明,交易历史数据可追溯,让收款方、汇款方都安心,也大大提高了效率和速度。
医疗
区块链在医疗信息安全与隐私保护方面有着极其重要的应用。在当前中心化的信息管理系统下,各种黑客攻击和系统漏洞导致信息安全问题极大,而医疗领域存储着很多用户的私密资料,数据泄露问题一旦发生,就会造成极其严重的后果。因此,医疗领域需要森严的安全措施保护数据。
区块链的去中心化的特点则有针对性地解决了这个问题。去中心化的病人医疗健康信息数据存储与共享的建立大大有益于医疗行业。
食品供应链
拿顺丰优选的“步步鸡”为例。通过传感器,养鸡场的环境(如温度、土壤、水质)和鸡们的生活情况(如喂养食物、每日运动情况)等数据自动上传至区块链。基于区块链的可追溯性,消费者能查询到这只鸡从生到死的全部信息。此外,区块链上的数据经过哈希加密(一种相当安全的加密算法),生产方是无法篡改的。
社交平台
目前,很多内容社交平台都是中心化的,如抖音、微博、微信公众号等,中心化的意思是中心决定节点,节点必须依赖中心,节点离开了中心就无法生存。因此,平台需要做的就是提供平台,然后用户通过平台为自己带来流量,进而利用流量获利。
区块链技术可以给内容社交平台注入新的血液,它利用分布式管理将平台去中心化,在新的去中心化系统中,每个人都是一个节点,任何人也都可以成为一个中心。这样平台可以将权力分散到用户身上,用户也可以贡献出自己的力量并获得平台的奖励和经济回报。
慈善
人们捐赠爱心、传递善意是一件美好而伟大的事,但是层出不穷的慈善黑幕事件给这件美好的事情增添了污点。慈善体系的不透明为这类事情提供了契机,也引发捐赠者对这个行业的担忧。
区块链技术可以大大提高慈善领域的信息透明度,让捐赠者有权对慈善体系和流程进行监督,进而鼓励捐赠者放心捐助,形成良性循环,改善慈善事业。
如利用区块链技术建立公开透明的、不可篡改的信息体系,从善款的流向到受捐赠者的身份确认,建立慈善领域的监督问责机制,增加捐赠者对机构的信任和信心,同时也保护了捐赠方和受赠方的隐私。
教育
教育系统中,学历认证一直十分重要,人工验证纸质版证书的效率低下,且纸质版证书有丢失的风险。区块链由所有参与者进行维护且不可篡改,使用区块链存储和保护学生的证明文件,可以简化流程并提高学历认证的效率。
学生的学历信息和档案记录等全部存储在区块链中,当学生需要证明自己学历和相关信息时,只需让对方加入链并看见自己的文件即可。同时,区块链具有去中心化的特点,证书不会因为中心机构关闭而消失,数据永远存在。
保险
比如买飞机航班延误保险,但是计赔时间是起飞时间还是落地时间,分阶段赔付还是到点一次性赔付等等都得你先搞清楚。但当区块链和保险结合在一起,理赔就变得简单多了。投保乘客信息、航班延误险和航班实时动态均存储在区块链上。一旦航班延误符合赔付标准,赔偿款将自动划账到投保乘客,保单处理高效、一气呵成。
数字身份证
坐高铁需要身份证,寄顺丰快递需要身份证,开酒店也需要身份证。这张实体的小卡片有各种被弄丢的风险,更要命的是,若不小心被人捡了去、再借你的名义贷款,遗失ID的人只能两行泪默默垂。
而在区块链世界里,每个人都有一个数字身份证。个人所有信息都记录在这张数字ID上,包括姓名、生日、性别、籍贯等基本信息,还有出于某些原因你自己加上的信息,比如:“未婚”、“Tom Boy“等等。新添的身份证信息只有你能修改,任何人都无法伪造或修改,只要——你保管好自己的ID私钥就行。私钥,可以简单理解为这张ID的密码,只有输入正确的密码,这张数字ID才具备效力。
用数字ID做的每一件事都将成为一个交易信息,被打包进区块,加密记入链上。从此,坏蛋再不能轻易打你主意,若他拿你的数字ID到银行去开户,如果不能正确输入你的私钥,啥事也办不成,柜台人员有理怀疑这厮伪造了你的身份。
版权保护
文章、图片、音乐、视频等一切数字内容都有版权。在互联网上,CTRL + C, CTRL + V就能轻易把原创内容拷搬走;就拿文章来讲,更有甚者免去转载来源、原作者信息,再高级一些的,通过洗稿等方式生生把作品变成自己的了。
区块链能打破这种不公平。你的作品和大名已经被加密打包进了区块链,再盖上一个时间戳,自此无法篡改,也不再需要耗费时间、精力去举证版权是谁的——时间戳就是证据,它记录了你把文章上传至区块链的时间。你的时间比他的早,版权当然是你的。
投票
在部分国家,投票被用于进行总统选举。投票本着公平公正、少数服从多数的原则,但是由于系统透明度低,投票结果容易引起部分参与者的怀疑。区块链去中心化和透明化的特点正好可以有针对性地解决这个问题,使投票透明、真实性强。
未来趋势
应用模式升级
鉴于公有链的安全性及交易量与日俱增对现网容量之间的平衡问题, 未来区块链的应用领域将以联盟链、私有链或混合链为主。比特币模式增加了区块链网络的维护成本,对于低价值、低风险的交易来说并非完全适用。考虑到效率及安全的提升,未来将是 以联盟链、私有链、或由联盟链和私有链组成的混合链组成。
多中心化
未来区块链系统架构将是构建可信任的多中心体系,将分散独立的各自 单中心,提升为多方参与的统一多中心,从而提高信任传递效率,降低交易成本。即在信息不对称、不确定的环境下,建立满足各种活动赖以发生、发展的“信任”生态体系。
智能合约的社会化
未来,所有的契约型的约定都实现智能化,利用智能合约可以保障所有约定的可靠执行,避免篡改、抵赖和违约。除了将社会中的有形资产转变为数字智能 资产进行确权、授权和实时监控外,区块链还可应用于社会中的无形资产管理,如知识产权保护、域名管理、积分管理等领域
涉及的技术
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成
- 第一层:数据层,存储底层数据、非对称数据加密和时间戳等基础数据。
- 第二层:网络层,含有分布式组网机制、数据传播机制、数据验证机制等。
- 第三层:共识层,封装有各类共识机制算法,确定记账决定方式,这关系到整个系统的安全性和可靠性。目前较为知名的由共识层封装的共识机制有工作量证明机制(PoW,Proof of Work)、股份授权证明机制(DPoS,Delegated Proof of Stake)、权益证明机制(PoS,Proof of Stake)等。
- 第四层:激励层,在区块链技术体系中使用的经济手段,包括经济激励的发行以及分配,多出现在公有链中。
- 第五层:合约层,封装区块链系统中的脚本代码、算法以及智能合约,帮助区块链灵活地处理数据。
- 第六层:应用层,封装了各种应用场景和案例,如电商购物、新闻浏览、视频观看等。
P2P网络
P2P(Peer-to-Peer)网络是一种端到端的网络。P2P网络分为结构化(例如基于Chord的P2P网络)和非结构化的P2P网络(例如Gnutella)。比特币的区块链采用的是非结构化P2P网络,整个网络没有中心化的硬件或管理机构,任一节点既是服务端,也是客户端。任何节点只要安装相应的客户端软件,就能接入P2P网络(例如BT软件),参与区块链的记录和验证,不超过1/3节点的损坏、退出甚至被植入恶意代码,都不会影响整个系统的运作。
非对称加密算法
区块链使用的是基于椭圆曲线加密技术的数字签名(ECDSA),具体实现是secp256k1。ECDSA相当于是DSA和非对称加密ECC的结合。相比RSA算法,ECDSA具有计算量小、存储空间小、带宽要求低等特点。
数字签名
基于数字签名的通信机制工作原理,如图所示,发送报文时,发送方用一个哈希函数从报文文本中生成文件摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方。接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解密,如果得到的明文相同,那么接收方就能确认传输的文件并未受到篡改,是安全可信的。
哈希加密
比特币的区块链使用的是SHA-256哈希加密算法,于2001年发布,属于SHA-2分支。由于SHA256伪随机性的特点,只要是相同的数据输入,一定会得到相同的结果,如果输入数据稍有变化,将得到一个千差万别的结果。除此之外,比特币还使用ripemd160算法来生成比特币钱包的地址。
梅克尔树
梅克尔(Merkle)树是区块链的基本组成部分。如果没有梅克尔树,区块链也是可以运转,但是要在区块头里包含所有交易记录,扩展性方面存在很大挑战。区块链中的每个区块,由区块头和区块体构成,区块头中含有一个Merkle根节点的字段,通过对区块体中所有交易记录,以二叉树的形式迭代地两两拼接 、进行哈希操作,可以得到一个最终的哈希值,我们称之为Merkle根哈希。Merkle根哈希相当于是对区块中所有交易记录进行了一个快照,区块中交易记录的任意改动都可以通过比较Merkle根哈希而很容易地察觉。Merkle根哈希主要用于简单支付验证(SPV),在验证某个交易是否在区块中时,也能极大地减少网络传输成本。
工作量证明机制
比特币的区块链主要是依托计算数学难题来衡量工作量。每个区块,当选定一定数量的交易记录之后,填充版本号、时间戳、难度值,生成相应的Merkle根哈希。这些数值在选定交易记录以后,都是确定的,唯一能够改变的就只有随机数(Nonce)这个值。系统根据难度值,要求计算整个区块头的两次SHA256算法,得到的哈希结果要小于一个阈值。根据前面描述的SHA256算法的伪随机性,只有通过不断地尝试和枚举,才能找到相应的随机数,证明自己的工作量。
学习过程的疑问
Q1:比特币与区块链的关系?
比特币是基于区块链的一种产品表现,比特币是区块链技术的第一个应用,也是目前最成功的一个应用。
Q2:挖矿是个什么?
挖矿是一种创造区块的过程,这种区块是可以被验证并添加进分布式数据库的数据块。在一些区块链系统中,比如比特币,矿工可以通过挖矿从系统中获得奖励。在所有区块链系统中,挖矿都是一个最核心的概念,试图参与挖矿过程的节点被称为矿工。
Q3:智能合约与传统合约的区别?
智能合约与传统电子合约最大的区别在于数据和规则的不可篡改性
传统合约是个人与第三方的合作,在这里,个人是没有权利篡改数据和规则的,但是第三方是有权利篡改数据和规则的,如果他改了规则,你半点办法都没有。
智能合约是在数据确定不能篡改之后,才能真正实现自动执行,自动转帐等等,而不再需要人为的参与。这是它们最大的不同点。
因此,智能合约解决了传统合约中的信任问题,大幅降低了信任成本。
Q4:区块链的信息完全安全吗?
从技术上来说,区块链和其他网络一样,是倾向于修改的。不过,由于在区块链网络中,电脑、或称结点是分布式的,修改所需的数学与编程技术几乎无法实现。想要修改一条链,人们需要控制统一分布式账本中超过51%的电脑,并在很短时间内修改所有的交易记录——对于比特币来说,修改时间只有10秒钟。迄今为止,这类修改从未实现过。区块链网络越大、越分散,其安全性却强。
Q5:区块链游戏是什么?
相比现有的网络游戏,区块链游戏在去中心化技术的支持下,玩家将拥有虚拟资产的完全产权,开发者也无法随意更改游戏的规则。游戏开发者和玩家的关系会发生根本的改变。
用一张表来表示的话会是下面这个样子:
这同时也意味着,数字资产将更接近实物资产,可以被玩家/用户所拥有。而玩家在数字资产上的投入,也将像在现实中种地、制作手工艺品、画画一样,产生价值并可以交易。
Q6:目前有多少个区块?
参考链接
区块链基础知识_Kafka的博客-CSDN博客_区块链相关知识