一、什么是区块链
区块链是一个信息技术领域的术语。区块链是借由密码学串接以保护内容的自增长的交易记录列表(又称区块)。每一个区块包含了前一个区块的哈希值、本区块的时间戳记以及交易数据(通常用默克尔树结构的哈希值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链能让多方有效记录交易,且可永久查验此交易。
从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。
区块链由一个一个区块前后连接形成,其中区块是一个一个的存储单元,记录了一定时间内各个区块节点全部的交流信息。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链。
麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。
区块结构:
区块包含两个部分:
1、区块头(Head):记录当前区块的元信息
2、区块体(Body):实际数据
包含数据如下图所示:
从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。
从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块 "区块链2.0”成为一个关于去中心化区块链数据库的术语。
区块链组成:
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;
网络层则包括分布式组网机制、数据传播机制和数据验证机制等;
共识层主要封装网络节点的各类共识算法;
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;
合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;
应用层则封装了区块链的各种应用场景和案例。该模型中, 基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点 。
区块链的特性:
去中心化:区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。
开放性:区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
独立性:基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。
安全性:只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。
通过 Hash 与 非对称加密来保障数据无法被篡改:
-
Hash:y = hash(x),对 x 进行哈希运算得出 y,可以隐藏原始信息 x,因为你没办法通过 y 来算出 x,从而做到匿名性。
-
非对称加密:公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
区块链使用哈希算法加密,哈希算法是区块链中保证交易信息无法被篡改的单向密码机制。
哈希算法会在接收一段明文(指没有加密的文字或字符串)后,以一种不可逆的方式将其转化为一段位数固定的较小二进制值记录进区块里,这个二进制值就是哈希值。
哈希值是一段数据唯一且极其紧凑的数值表示形式,倘若只更改一段明文中的一个字母,产生的哈希值都将千差万别。要找到对应同一哈希值的两个不同的输入,从计算系统的角度来说基本是不可能的。
区块链的不可篡改特性由此而来。
共识算法:保障节点与节点之间的数据一致性。
匿名性:除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行.。
区块链的核心技术:
1. 共识机制
所谓共识,简单理解就是指大家都达成一致的意思。其实在现实生活中,有很多需要达成共识的场景,比如开会讨论,双方或多方签订一份合作协议等。而在区块链系统中,每个节点必须要做的事情就是让自己的账本跟其他节点的账本保持一致。该机制既可以作为认定的手段,又可以避免虛假交易和信息篡改,就是所有记账节点之间如何达成共识,来选择和认定记录的一致性、真实性和有效性。
为确保区块链上的每一个节点都能按照同样统一的行为标准记录和存储数据,达成全网共识就显得至关重要。区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。目前主流的共识机制共有三种:
PoW:工作量证明机制
比特币网络采用的正是Pow共识算法。在基于Pow构建的区块链网络中,节点通过计算随机哈希散列数值解争夺记账权,求得正确的数值解以生成区块从而获得挖矿奖励。顾名思义,工作量越大则获得记账权的几率也越大。Pow在实现完全去中心化的同时,却造成了大量的计算机资源浪费。
PoS:权益证明机制
为降低挖矿难度和提升效率,在2012年,网友Sunny King提出了权益证明机制。在PoS构建的区块链网络中,通过评估节点持有代币的数量和时长,依照比例来决定节点获得记账权的概率。持有代币越多且时间越长,获得记账权的几率就越大。PoS机制对代币经济模型产生了激励作用,整个网络生态变得更加良性。但仍然难以运用于真正的商业应用场景中。
DPoS:股份授权证明机制
DPoS机制与董事会投票类似,拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。
在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。DPoS与PoS最主要的区别在于节点选择若干代理人进行验证和记账,因此大大缩小参与验证和记账节点的数量,从而达到秒级的共识验证。
2. 智能合约
智能合约(Smart Contract )是一种旨在以信息化方式传播、验证或执行合约规定的计算机协议。智能合约的协议可以由一个计算系统自动执行,允许在没有第三方情况下进行可信交易。它带来的直接好处就是极大地降低了交易成本,应用于在区块链世界里,智能合约甚至可以帮你“完成交易”。
比方说我们熟悉的自动贩卖机就是由多个智能合约组成的系统:购买者投入一定数量的货币,选择商品后,贩卖机根据内置逻辑提供商品和找零,两者间建立了一种强制执行的合约,按照合约规定的协议完成交易流程,隐去了人力成本。
主要基于区块链系统里可信的不可篡改的数据,自动执行一些预先定义好的规则和条款,如新区块的自动记录,便捷快速智能。
3. 非对称加密
在加密和解密的过程中使用一个“密钥对”,“密钥对”中的两个密钥具有非对称的特点,即在信息发送过程中,发送方通过一把密钥将信息加密,接收方在收到信息后,只有通过配对的另一把密钥才能对信息进行解密。非对称加密使得任何参与者更容易达成共识,将价值交换中的摩擦边界降到最低,还能实现透明数据后的匿名性,保护个人隐私。
在创建钱包时,比特币系统会生成一对独一无二的公钥和私钥。公钥经过一定的算法可以得到钱包地址,通过钱包地址我们便可进行资产交易,而私钥就是交易时对这笔交易进行数字签名,从而证明你拥有交易的输出权。
私钥是由32个字节组成的数组,根据私钥是可以算出公钥的,也能间接算出地址,有了私钥就能使用对应地址上的比特币。所以私钥具有极强的隐私特点,因为谁拥有了私钥,谁就拥有了对钱包资产的掌控权。
公钥与私钥组成了一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密的数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。它们的组合就是俗称的非对称加密方式,是对互联网世界使用的对称加密方式(如用户账号与密码)的提升。
4. 扩容/分叉
扩容即扩充区块容量。比特币诞生时,中本聪一时也无法决定每个区块的大小,因为区块的容量大小决定每个区块可以记载数据量的多少,区块容量过小就会导致网络拥堵和交易费用过高等问题,而区块容量过大则会引起更多的计算资源浪费。基于早期比特币网络的参与人数较少,中本聪最后临时将区块大小限制在1MB。
但从2013年以来,比特币网络的参与人数和交易量不断攀升,原本设定的容量已经愈发满足不了实际的需求。所以比特币社区开始探索如何给比特币“扩容”,即通过修改比特币底层代码,从而达到提高交易处理能力的目的。
再说分叉。分叉是指区块链在进行代码迭代时,节点之间发生了意见分歧,从而导致区块链分叉。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。
根据分叉后的区块链是否能兼容旧区块链,分叉又分为“硬分叉”和“软分叉”。硬分叉是指当比特币代码发生改变后,旧节点拒接接受由新节点创造的区块从而分叉出另外一条链。而软分叉是指旧的节点愿意继续接受由新节点创造的区块,所以他们仍然维持在同一条链上。
区块链的类型:
1. 公有区块链
公有区块链(Public Block Chains)是指:指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链,即每个人都可以成为其中的节点,各节点均可自由加入和退出网络,并参加链上数据的读写。世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。
2. 联合(行业)区块链
行业区块链(Consortium Block Chains):指由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。通常情况下,联盟链常用于组织机构间的交易和结算。
3. 私有区块链
私有区块链(Private Block Chains):指的是需要授权才能加入节点的区块链。仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。传统金融都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中。私有链一般适用于企业内部的应用,以及特定机构的内部数据管理与审计等金融场景的应用。蚂蚁金服就是应用私有链的显著代表。
区块链如何工作:
我们以转账为例:
目前我们转账都是中心化的,银行是一个中心化账本,例如 A 账号里有 400 块钱,B 账号里有 100 块钱。
当 A 要转 100 块钱给 B 时,A 要通过银行提交转账申请,银行验证通过后,就从 A 账号上扣除 100 块,B 账号增加 100 块。
计算后 A 账号扣除 100 后余额为300元,B 账号加上 100 后余额为 200 元。
区块链上转账的步骤则是:A 要转账给 B 100 块钱,A 就会在网络上把要转账的这个信息告诉大家,大家会去查看 A 的账户上是否有足够的钱去完成这个转账,如果验证通过后,大家就把这个信息都记录到自己的电脑上区块链中,且每个人记入的信息都是同步一致的,这样 A 就顺利将 100 块钱转移到了 B 的账户上。可以看到这中间并没有银行啥事。
区块链的发展历程:
目前普遍认为有三个阶段:
第一个阶段,或称区块链1.0,以比特币为代表的数字货币领域创新,如货币转移、兑付和支付系统等。
第二个阶段,或称区块链2.0,以智能合约为代表的企业级应用领域,此时更多的是做一些合约方面的创新,是涉及交易方面的商业合同,比如股票、证券的登记、期货、贷款、清算结算等。
第三个阶段,或称区块链3.0,区块链进入社会治理领域,包括了身份认证、公证、仲裁、审计、物流、医疗、签证、投票等领域,应用范围扩大到了整个社会,区块链技术有可能成为“万物互联”的一种最底层的协议。
区块链的应用领域:
区块链技术的集成应用在新的技术革新和产业变革中起着重要作用,要把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展。
区块链技术应用已延伸到数字金融、物联网、智能制造、供应链管理、数字资产交易等多个领域。目前,全球主要国家都在加快布局区块链技术发展。我国在区块链领域拥有良好基础,要加快推动区块链技术和产业创新发展,积极推进区块链和经济社会融合发展。
要抓住区块链技术融合、功能拓展、产业细分的契机,发挥区块链在促进数据共享、优化业务流程、降低运营成本、提升协同效率、建设可信体系等方面的作用。
要推动区块链和实体经济深度融合,解决中小企业贷款融资难、银行风控难、部门监管难等问题。
要利用区块链技术探索数字经济模式创新,为打造便捷高效、公平竞争、稳定透明的营商环境提供动力,为推进供给侧结构性改革、实现各行业供需有效对接提供服务,为加快新旧动能接续转换、推动经济高质量发展提供支撑。
要探索“区块链+”在民生领域的运用,积极推动区块链技术在教育、就业、养老、精准脱贫、医疗健康、商品防伪、食品安全、公益、社会救助等领域的应用,为人民群众提供更加智能、更加便捷、更加优质的公共服务。
要推动区块链底层技术服务和新型智慧城市建设相结合,探索在信息基础设施、智慧交通、能源电力等领域的推广应用,提升城市管理的智能化、精准化水平。
要利用区块链技术促进城市间在信息、资金、人才、征信等方面更大规模的互联互通,保障生产要素在区域内有序高效流动。
要探索利用区块链数据共享模式,实现政务数据跨部门、跨区域共同维护和利用,促进业务协同办理,深化“最多跑一次”改革,为人民群众带来更好的政务服务体验。
二、比特币
区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。两个月后理论步入实践,2009年1月3日第一个序号为0的创世区块诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生。
近年来,世界对比特币的态度起起落落,但作为比特币底层技术之一的区块链技术日益受到重视。在比特币形成过程中,区块是一个一个的存储单元,记录了一定时间内各个区块节点全部的交流信息。各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链 。
• 比特币不是一种货币, 他是一个分布式的总账系统, 电子总账在每个参与者电脑上备份, 实时的同步和对账;
• 总账记录这一定数量的比特币从一个参与者到另外一个参与者的过程, 每次记录都会广播到网络;
• 比特币本身没有价值. 比特币的价值在于, 第一个通过去中心化的分布式信任系统实现了价值转移;
何为挖矿?
比特币网络是通过“挖矿”来生成新的比特币的。
所谓“挖矿”实质上是用计算机解决一项复杂的数学问题(比特币网络会自动调整数学问题的难度),来保证比特币网络分布式记账系统的一致性。网络上的每一个节点都可以成为矿工参与挖矿,每十分钟全网矿工共同计算一道复杂的数学题,谁先计算得出正确答案,比特币网络就会新生成一定量的比特币作为区块奖励赠予他。
矿工还需将正确答案广播至全网,便于节点同步账本的数据。
2009年1月3日,中本聪通过计算机系统挖出了第一个比特币,作为区块挖矿奖励,他获得了网络新生成的50个比特币,标志着比特币创世区块的正式诞生。
算力/矿机/矿池
算力,也可称为哈希率,是比特币网络处理能力的度量单位,即为计算机CPU计算哈希函数输出的速度。
在通过“挖矿”得到比特币的过程中,我们的核心任务便是找到其相应的解,而对于任何一个六十四位的哈希值,求解都没有固定算法,只能靠计算机随机的哈希碰撞,而一个挖矿机每秒钟能做多少次哈希碰撞,就是其“算力”的代表,单位为hash/s。算力值的大小反映了计算机挖矿的速率大小。
矿机,是专门用于挖取比特币的计算机,这类计算机与普通电脑不同的是会配置上专业的挖矿晶元,多采用烧显卡的方式工作,耗电量较大,挖矿效率较高。根据「中关村在线」上矿机的销售数据来看,一台额定算力18TH/s的阿瓦隆矿机售价在1700元左右。
随着挖矿参与人数越来越多,挖矿的难度也随之增大,不少个人矿工依靠自己的算力挖出比特币的可能性越来越低,因此他们组建了「矿池」,将每人的计算机算力集中进入矿池一齐发力,矿池挖到比特币后根据矿场的算力占比分配收益,以此反而保证了中小算力的投入产出。
三、分布式与点对点传输
1. 分布式
分布式是指由多个分散在不同地域的网络资源组成,用于实现数据和资源共享的系统。
迅雷早期做的P2P下载,实质上就是一种硬盘的共享,把每个人电脑上的一部分硬盘拿来存储电影文件,需要时再彼此共享。
分布式计算则是一种CPU资源的共享,当需要大量计算工作时再分摊给一个个普通计算机,大家共同参与并最终得到计算结果,极大地提升了计算速度和资源利用。
分布式账本的概念便随之自然可以推导得出,每个节点都有一份实时同步的账本数据库,节点共同参与记账,维护账本的准确性。
2. 点对点传输
区块链技术是基于P2P网络而建立的,P2P就是点对点的意思,因此P2P网络,我们也称之为点对点传输网络。
所谓点对点传输也就是存储-转发-传输。它是以点对点的连接方式,把各个计算机连接起来,这种点对点传输的网络结构形式通常为远程网络和大城市网络所采用,网络的拓扑结构有星形、环形、树形和网状形等。
纯点对点P2P网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。
四、数字钱包
表象上看,数字货币钱包类似我们常用的实体钱包,是用来存储我们个人比特币、以太坊等数字货币资产的。然而钱包的核心应是进行安全的密钥管理,通过对私钥的防护,间接保护资产安全。因为我们的数字货币是存放在密钥里而不是钱包里的,即使钱包丢失,只要我们还记得密钥就能找回资产,就能创建新的钱包继续管理资产。
根据钱包对私钥的存储方式又可分为冷钱包和热钱包。热钱包通俗来讲就是在线钱包,指的是可以通过互联网访问私钥的钱包。而冷钱包是指网络无法触达到私钥的钱包,意即离线钱包,具体形态例如没联网的手机或电脑、摘抄了私钥的笔记本等等。