比特币深度图能看出什么,到底什么是区块链

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册
币安app

binance币安交易所

币安交易所app是全球排名第一的虚拟货币交易所,注册领取盲盒礼包!

APP下载   官网注册

比特币深度图能看出什么,到底什么是区块链

一、如何找到区块链的密码,区块链的密钥是什么

【深度知识】区块链之加密原理图示(加密,签名)

先放一张以太坊的架构图:

在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:

秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。

如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。

2、无法解决消息篡改。

如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。

1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。

2、同样存在无法确定消息来源的问题,和消息篡改的问题。

如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。

1、当网络上拦截到数据密文2时,由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。

2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。

如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。

1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。

2、当B节点解密得到密文1后,只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。

经两次非对称加密,性能问题比较严重。

基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:

当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要,之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1,比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。

在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。

无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。

在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢?有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。

为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。

在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。

为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:

在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。

以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?

那么如何生成随机的共享秘钥进行加密呢?

对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥和临时的非对称私钥可以计算出一个对称秘钥(KA算法-KeyAgreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:

对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥与B节点自身的私钥计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。

对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入Nonce),再比如彩虹表(参考KDF机制解决)之类的问题。由于时间及能力有限,故暂时忽略。

那么究竟应该采用何种加密呢?

主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。

密码套件是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。

在整个网络的传输过程中,根据密码套件主要分如下几大类算法:

秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。

消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。

批量加密算法:比如AES,主要用于加密信息流。

伪随机数算法:例如TLS1.2的伪随机函数使用MAC算法的散列函数来创建一个主密钥——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。

在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。

握手/网络协商阶段:

在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等

身份认证阶段:

身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。

消息加密阶段:

消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。

消息身份认证阶段/防篡改阶段:

主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

ECC:EllipticCurvesCryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成公钥、私钥的算法。用于生成公私秘钥。

ECDSA:用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。主要用于身份认证阶段。

ECDH:也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。主要用于握手磋商阶段。

ECIES:是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH),H-MAC函数(MAC)。

ECC是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。ECDSA则主要是采用ECC算法怎么来做签名,ECDH则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。ECIES就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。

metacharset="utf-8"

这个先订条件是为了保证曲线不包含奇点。

所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:

所有的非对称加密的基本原理基本都是基于一个公式K=kG。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法就是要保证该公式不可进行逆运算(也就是说G/K是无法计算的)。*

ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。

我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据kG计算出我们的公钥K。并且保证公钥K也要在曲线上。*

那么kG怎么计算呢?如何计算kG才能保证最后的结果不可逆呢?这就是ECC算法要解决的。

首先,我们先随便选择一条ECC曲线,a=-3,b=7得到如下曲线:

在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如22=2+2,35=5+5+5。那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。

曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。

现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。

ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。

那么P+Q+R=0。其中0不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。

同样,我们就能得出P+Q=-R。由于R与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。

P+R+Q=0,故P+R=-Q,如上图。

以上就描述了ECC曲线的世界里是如何进行加法运算的。

从上图可看出,直线与曲线只有两个交点,也就是说直线是曲线的切线。此时P,R重合了。

也就是P=R,根据上述ECC的加法体系,P+R+Q=0,就可以得出P+R+Q=2P+Q=2R+Q=0

于是乎得到2P=-Q(是不是与我们非对称算法的公式K=kG越来越近了)。

于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。

假若2可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。

那么我们是不是可以随机任何一个数的乘法都可以算呢?答案是肯定的。也就是点倍积计算方式。

选一个随机数k,那么k*P等于多少呢?

我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描述成二进制然后计算。假若k=151=10010111

由于2P=-Q所以这样就计算出了kP。这就是点倍积算法。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。

至于为什么这样计算是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:

我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?

ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:

在曲线上选取一个无穷远点为基点G=(x,y)。随机在曲线上取一点k作为私钥,K=k*G计算出公钥。

签名过程:

生成随机数R,计算出RG.

根据随机数R,消息M的HASH值H,以及私钥k,计算出签名S=(H+kx)/R.

将消息M,RG,S发送给接收方。

签名验证过程:

接收到消息M,RG,S

根据消息计算出HASH值H

根据发送方的公钥K,计算HG/S+xK/S,将计算的结果与RG比较。如果相等则验证成功。

公式推论:

HG/S+xK/S=HG/S+x(kG)/S=(H+xk)/GS=RG

在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C=A+C+B=(A+C)+B。

这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考AliceAndBob的例子。

Alice与Bob要进行通信,双方前提都是基于同一参数体系的ECC生成的公钥和私钥。所以有ECC有共同的基点G。

生成秘钥阶段:

Alice采用公钥算法KA=ka*G,生成了公钥KA和私钥ka,并公开公钥KA。

Bob采用公钥算法KB=kb*G,生成了公钥KB和私钥kb,并公开公钥KB。

计算ECDH阶段:

Alice利用计算公式Q=ka*KB计算出一个秘钥Q。

Bob利用计算公式Q'=kb*KA计算出一个秘钥Q'。

共享秘钥验证:

Q=kaKB=ka*kb*G=ka*G*kb=KA*kb=kb*KA=Q'

故双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。

在以太坊中,采用的ECIEC的加密套件中的其他内容:

1、其中HASH算法采用的是最安全的SHA3算法Keccak。

2、签名算法采用的是ECDSA

3、认证方式采用的是H-MAC

4、ECC的参数体系采用了secp256k1,其他参数体系参考这里

H-MAC全程叫做Hash-basedMessageAuthenticationCode.其模型如下:

在以太坊的UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。

首先,以太坊的UDP通信的结构如下:

其中,sig是经过私钥加密的签名信息。mac是可以理解为整个消息的摘要,ptype是消息的事件类型,data则是经过RLP编码后的传输数据。

其UDP的整个的加密,认证,签名模型如下:

区块链密码算法是怎样的?

区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的Hash算法、零知识证明、环签名等密码算法:

Hash算法

哈希算法作为区块链基础技术,Hash函数的本质是将任意长度(有限)的一组数据映射到一组已定义长度的数据流中。若此函数同时满足:

(1)对任意输入的一组数据Hash值的计算都特别简单;

(2)想要找到2个不同的拥有相同Hash值的数据是计算困难的。

满足上述两条性质的Hash函数也被称为加密Hash函数,不引起矛盾的情况下,Hash函数通常指的是加密Hash函数。对于Hash函数,找到使得被称为一次碰撞。当前流行的Hash函数有MD5,SHA1,SHA2,SHA3。

比特币使用的是SHA256,大多区块链系统使用的都是SHA256算法。所以这里先介绍一下SHA256。

1、SHA256算法步骤

STEP1:附加填充比特。对报文进行填充使报文长度与448模512同余(长度=448mod512),填充的比特数范围是1到512,填充比特串的最高位为1,其余位为0。

STEP2:附加长度值。将用64-bit表示的初始报文(填充前)的位长度附加在步骤1的结果后(低位字节优先)。

STEP3:初始化缓存。使用一个256-bit的缓存来存放该散列函数的中间及最终结果。

STEP4:处理512-bit(16个字)报文分组序列。该算法使用了六种基本逻辑函数,由64步迭代运算组成。每步都以256-bit缓存值为输入,然后更新缓存内容。每步使用一个32-bit常数值Kt和一个32-bitWt。其中Wt是分组之后的报文,t=1,2,...,16。

STEP5:所有的512-bit分组处理完毕后,对于SHA256算法最后一个分组产生的输出便是256-bit的报文。

作为加密及签名体系的核心算法,哈希函数的安全性事关整个区块链体系的底层安全性。所以关注哈希函数的研究现状是很有必要的。

2、Hash函的研究现状

2004年我国密码学家王小云在国际密码讨论年会(CRYPTO)上展示了MD5算法的碰撞并给出了第一个实例(CollisionsforhashfunctionsMD4,MD5,HAVAL-128andRIPEMD,rumpsessionofCRYPTO2004,HowtoBreakMD5andOtherHashFunctions,EuroCrypt2005)。该攻击复杂度很低,在普通计算机上只需要几秒钟的时间。2005年王小云教授与其同事又提出了对SHA-1算法的碰撞算法,不过计算复杂度为2的63次方,在实际情况下难以实现。

2017年2月23日谷歌安全博客上发布了世界上第一例公开的SHA-1哈希碰撞实例,在经过两年的联合研究和花费了巨大的计算机时间之后,研究人员在他们的研究网站SHAttered上给出了两个内容不同,但是具有相同SHA-1消息摘要的PDF文件,这就意味着在理论研究长期以来警示SHA-1算法存在风险之后,SHA-1算法的实际攻击案例也浮出水面,同时也标志着SHA-1算法终于走向了生命的末期。

NIST于2007年正式宣布在全球范围内征集新的下一代密码Hash算法,举行SHA-3竞赛。新的Hash算法将被称为SHA-3,并且作为新的安全Hash标准,增强现有的FIPS180-2标准。算法提交已于2008年10月结束,NIST分别于2009年和2010年举行2轮会议,通过2轮的筛选选出进入最终轮的算法,最后将在2012年公布获胜算法。公开竞赛的整个进程仿照高级加密标准AES的征集过程。2012年10月2日,Keccak被选为NIST竞赛的胜利者,成为SHA-3。

Keccak算法是SHA-3的候选人在2008年10月提交。Keccak采用了创新的的“海绵引擎”散列消息文本。它设计简单,方便硬件实现。Keccak已可以抵御最小的复杂度为2n的攻击,其中N为散列的大小。它具有广泛的安全边际。目前为止,第三方密码分析已经显示出Keccak没有严重的弱点。

KangarooTwelve算法是最近提出的Keccak变种,其计算轮次已经减少到了12,但与原算法比起来,其功能没有调整。

零知识证明

在密码学中零知识证明(zero-knowledgeproof,ZKP)是一种一方用于向另一方证明自己知晓某个消息x,而不透露其他任何和x有关的内容的策略,其中前者称为证明者(Prover),后者称为验证者(Verifier)。设想一种场景,在一个系统中,所有用户都拥有各自全部文件的备份,并利用各自的私钥进行加密后在系统内公开。假设在某个时刻,用户Alice希望提供给用户Bob她的一部分文件,这时候出现的问题是Alice如何让Bob相信她确实发送了正确的文件。一个简单地处理办法是Alice将自己的私钥发给Bob,而这正是Alice不希望选择的策略,因为这样Bob可以轻易地获取到Alice的全部文件内容。零知识证明便是可以用于解决上述问题的一种方案。零知识证明主要基于复杂度理论,并且在密码学中有广泛的理论延伸。在复杂度理论中,我们主要讨论哪些语言可以进行零知识证明应用,而在密码学中,我们主要讨论如何构造各种类型的零知识证明方案,并使得其足够优秀和高效。

环签名群签名

1、群签名

在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,且可以只用单个群公钥来验证。群签名一般流程:

(1)初始化,群管理者建立群资源,生成对应的群公钥(GroupPublicKey)和群私钥(GroupPrivateKey)群公钥对整个系统中的所有用户公开,比如群成员、验证者等。

(2)成员加入,在用户加入群的时候,群管理者颁发群证书(GroupCertificate)给群成员。

(3)签名,群成员利用获得的群证书签署文件,生成群签名。

(4)验证,同时验证者利用群公钥仅可以验证所得群签名的正确性,但不能确定群中的正式签署者。

(5)公开,群管理者利用群私钥可以对群用户生成的群签名进行追踪,并暴露签署者身份。

2、环签名

2001年,Rivest,shamir和Tauman三位密码学家首次提出了环签名。是一种简化的群签名,只有环成员没有管理者,不需要环成员间的合作。环签名方案中签名者首先选定一个临时的签名者集合,集合中包括签名者。然后签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助。签名者集合中的成员可能并不知道自己被包含在其中。

环签名方案由以下几部分构成:

(1)密钥生成。为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)。

(2)签名。签名者用自己的私钥和任意n个环成员(包括自己)的公钥为消息m生成签名a。

(3)签名验证。验证者根据环签名和消息m,验证签名是否为环中成员所签,如果有效就接收,否则丢弃。

环签名满足的性质:

(1)无条件匿名性:攻击者无法确定签名是由环中哪个成员生成,即使在获得环成员私钥的情况下,概率也不超过1/n。

(2)正确性:签名必需能被所有其他人验证。

(3)不可伪造性:环中其他成员不能伪造真实签名者签名,外部攻击者即使在获得某个有效环签名的基础上,也不能为消息m伪造一个签名。

3、环签名和群签名的比较

(1)匿名性。都是一种个体代表群体签名的体制,验证者能验证签名为群体中某个成员所签,但并不能知道为哪个成员,以达到签名者匿名的作用。

(2)可追踪性。群签名中,群管理员的存在保证了签名的可追

二、为什么年轻人更容易被诈骗

大家都知道老年人比较容易上当受骗,是因为老一辈的人所接触的事物与年轻人不一样,受思想以及眼界局限性的影响,很多老年人会被骗。然而随着科技的不断发展,更容易上当受骗的反而不再是老年人,而是一群懂得高科技的年轻人。比如网络诈骗的受害人、情感诈骗案件的受害人,大多数都是年轻人。年轻人之所以更容易上当受骗,是因为接触网络更多,犯罪分子的诈骗手段越来越多,特别是网络诈骗,导致很多年轻人上当受骗。

一、年轻人接触网络较多。

年纪大一些的人,接触网络较少反而不容易上当受骗。当代的年轻人大部分会使用网络,不管是用手机还是电脑上网,不可避免的会遇见网络诈骗。比如一些诈骗网站、网络贷款、网络招聘、以及电信诈骗等等。还有些犯罪分子,制定各种诈骗方案专门针对网络上的各种年轻人。在层出不穷的诈骗手段中,年轻人防不胜防,更容易上当受骗。

二、年轻人过于自信。

还有些年轻人是过于自信,面对网络诈骗或者电信诈骗,明明知道是不真实的,但是相信自己不会上当受骗抱着试一试的态度,最终被犯罪分子欺骗。还有一些网络骗局,是利用年轻人的感情进行诈骗,对于这样的骗局,年轻人更容易上当,年纪大一些的人,因为阅历较深反而不容易上当受骗。

三、提高警惕,防止被骗。

虽然犯罪分子使用的诈骗手段越来越多,也在不断的变化,但是年轻人只要提高警惕,依然可以防止被骗。不要相信任何需要转账的陌生电话;不要在网上泄露自己的个人信息;不要轻易点开陌生网站等,提高警惕才能避免被骗。

三、到底什么是区块链

先说一些基本概念。

百度称,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的一种新使用模式。它本质上是一个去中心化的数据库,同时作为比特币的底层技术,它是由密码学产生的一系列数据块。

我们试图将“区块链是什么”翻译成“人类语言”。

该定义提到了区块链3354“分散数据库”的本质。这与传统的“集中式数据库”在存储、更新和操作上有很大的不同。

集中式数据库可以被认为是这样的形状:

比如我要用支付宝给淘宝卖家付款,从我赚钱到他收到钱的所有数据请求都会由支付宝集中处理。这种数据结构的好处是,只要支付宝对系统的高效安全运行负责,其他人就可以无条件相信,不用担心;坏处是,如果支付宝出了问题,比如被黑,服务器被烧,出现内奸,公司跑路(当然以上可能性极低),我们支付宝里的余额明细等信息都会混乱。

然后有人认为这种小概率事件可以用任何技术手段来规避单个风险,把数据不仅仅交给一个中心化的机构。例如,每个人都可以存储和处理数据。

数据库结构可能如下所示:

这张图是“分布式数据库”的结构示意图。每个点都是一个服务器,他们都有同等的权利记录和计算数据,信息点对点传播。乍一看确实可以抵御某个节点崩溃带来的风险,但直观上也非常混乱低效。我的信息谁来处理,结果谁说了算?

这时,区块链定义中的“共识机制”就发挥作用了。共识机制主要“规定”以下事情:收到一个数据请求,由谁来处理(需要什么资格);谁来验证结果(看他有没有处理好);如何防止加工者和检验者相互勾结等。

当一个“规则”被制定出来时,有些人可能喜欢被质疑。为了形成更强的共识,除了让规则更合理之外,也要更有吸引力,让人们有兴趣和动力参与到数据处理的工作中来。这就涉及到公链的激励机制。当我们稍后讨论区块链的分类和数字货币的作用时,我们将再次开始。

当我们把一笔交易交给一个分布式网络的时候,还有一个“心理门槛”:能处理信息的节点那么多,我一个都不认识(不像支付宝,万一伤害到我,我可以去找它打官司)。他们都有我的数据,我凭什么相信他们?

这时,加密算法(区块链定义中的最后一个描述性词语)登场了。

在区块链网络中,我们发出的数据请求会根据密码学原理被加密成接收方根本无法理解的一串字符。这种加密方式的背后是哈希算法的支持。

哈希算法可以快速将任何类型的数据转化为哈希值。这种变化是单向不可逆的、确定的、随机的、防碰撞的。由于这些特点,处理我的数据请求的人可以帮我记录信息,但他们不知道我是谁,也不知道我在做什么。

至此,介绍了分散式网络的工作原理。但是我们似乎忽略了一个细节。前面的示意图是一张网。滑轮和链条在哪里?为什么我们称它为区块链?

要理解这件事,我们需要先理清几个知识点:

前面这张图其实是一个“宏观”的数据库透视图,展示了区块链系统处理信息的基本规则和流程。而具体到“微观”的数据日志层面,我们会发现账本被打包、压缩、分块存储,并按时间顺序串在一起,形成一个“链式结构”,像这样:

图中的每一个圆环都可以看作是一块积木,许多链环扣在一起形成一个区块链。块存储数据,这与普通的数据存储不同:在区块链上,后一个块中的数据包含前一个块中的数据。

为了从学术上解释块中数据的每个部分的字段,我们试图用一本书来比喻什么是区块链数据结构。

通常,我们看书,看完第一页,然后看第二页和第三页.书脊是一种物理存在,它固定了每一页的顺序。即使书散了,也能确定标有页码的每一页的顺序。

在区块链内部,每个块都标有页码,第二页的内容包含第一页的内容,第三页的内容包含第一页和第二页的内容.第十页包含前九页的内容。

就是这样一个嵌套的链条,可以追溯到最原始的数据。

这就引出了区块链的一个重要属性:可追溯性。

当区块链中的数据需要更新时,即按顺序生成新的块时,“共识算法”再次发挥作用。这个算法规定,一个新的块只有得到全网51%以上节点的认可才能形成。说白了就是投票,半数以上的人同意就可以产生。这使得区块链上的数据很难被篡改。如果我要强行改变,要贿赂的人太多,成本太高,不值得。

这就是人们常说的区块链的“不可篡改”特性。

区块链给人信任感的另一个原因是有“智能合约”。

智能合同是由计算机程序定义并自动执行的承诺协议。它是一套由代码执行的交易规则,类似于目前信用卡的自动还款功能。如果开启这个功能,你什么都不用担心,到期银行会自动扣你欠的钱。

当你的朋友向你借钱,但不记得还了,或者找借口不还了,智能合约可以防止违约。一旦触发了合同里的条款,比如什么时候该还钱了,或者他的账户里有了额度,代码就会自动执行,他欠你的钱不管他要不要都会自动转回来。

我们来简单总结一下。区块链技术主要是去中心化,不易篡改,可追踪,代表了更多的安全和去信任。但也带来了新的问题:冗余和低效,需要很多节点认同规则,积极参与。

“烘干”部分到此结束。接下来,我们来谈谈野史,区块链的正史。

一项新技术经常被用来为某项任务服务。

或目标而生。那么区块链最初是被用在哪里,又是谁先想出来的呢?

让我们把时间拉回2008年。

9月21日,华尔街投行接连倒下,美联储宣布:把仅存的两家投资银行(高盛集团和摩根士丹利)改为商业银行;希望可以靠吸储渡过金融危机。10月3日,布什政府签署了7000亿美元的金融救市方案。

28天之后,也就是2008年的11月1日,一个密码学邮件组里出现了一个新帖子:“我正在开发一种新的电子货币系统,采用完全点对点的形式,而且无需第三方信托机构。”帖子的正文是一篇名为《Bitcoin: A Peer-to-Peer Electronic Cash System》的论文,署名Satoshi Nakamoto(中本聪)。

论文以较为严谨的逻辑阐述了这套点对点电子现金系统的设计,先是讨论了金融机构受制于“trust based”(基于信用)的问题,再一步步说明如何实现“无需第三方机构”,并精巧地解决掉前人遗留下来的技术问题。

两个月后,中本聪发布了开源的第一版比特币客户端,并首次挖出50个比特币。产生第一批比特币的区块被称为“Genesis block”(创世区块),创始区块被编译为0区块,没有上链。中本聪用了6天时间挖出这个块。这也在bitcointalk论坛中引发讨论,比特币的“信徒”们联想到了圣经中,“神用六天创造天地万物,便在第七日歇工安息了”。

虽然论文中并未出现decentralized(去中心化)、token(通证)、economy(经济)等概念,但中本聪详细解释了区块(Block)和链(Chain)在网络中的工作原理。于是,便有了区块链(Block Chain)。

这篇论文,后来成为了“比特神教”的“圣经”,技术成为信仰的基石,开发者文档成了“汉谟拉比法典”。

之后,比特币通过交换披萨实现首次现实场景的支付、被美国政府封锁账户的维基解密依靠比特币奇迹般地生还、中本聪的“放权”与退隐、真真假假的现身和辟谣等等一系列传说,融合了后人的期许、想象和投机,成为了“圣经故事”。

也有人并不满意“旧约”中描绘的世界,另起教派,将教义写入白皮书,在比特币之后的十年中,讲述着他们的信仰故事。就像66卷圣经的写作跨越了1500年,又经过2000年的解读,基督教分化出33000个枝丫。

CoinMarketCap显示,数字货币种类已超过4900种,数字货币整体市场规模近1.4亿元。比特币仍以66%的市占率领跑整个数字货币市场,近期价格在7200美元/枚附近徘徊。

这么多的币种有着不尽相同的功用,又被分成不同的类别:以比特币为代表的数字货币定位在“数字黄金”,有一定的储值、避险特性;以以太坊为代表的数字货币,成为了其网络系统中的“运行燃料”;以USDT、Libra为代表的稳定币,因其低波动,有着良好的支付性;以DCEP为代表的央行发行数字货币,一定程度上取代M0,让商业机构和普通百姓们在没现金又断网的时候,也不耽误收付款。

可见,区块链技术发展10年,最初和最“大”的使用就是数字货币。

数字货币也成为了参与者们维护公链的诱人奖励。

那么在数字货币之外,区块链技术还可以被用在哪里呢?

让我们再回忆下什么是区块链的本质——去中心化的数据库,和相应的一些特点:可追溯、公开、匿名、防篡改。那么理论上,传统的、用得到中心化数据库的场景,都可以试着用区块链来改造下,看看是否合适。

下面,我们来聊几个成功落地了区块链的行业和场景:

区块链可以通过哈希时间戳证明某个文件或者数字内容在特定时间的存在,为司法鉴证、身份证明、产权保护、防伪溯源等提供了完美解决方案

在防伪溯源领域,通过供应链跟踪区块链技术可以被广泛使用于食品医药、农产品、酒类、奢侈品等各领域。

举两个例子。

区块链可以让政务数据跑起来,大大精简办事流程

区块链的分布式技术可以让政府部门集中到一个链上,所有办事流程交付智能合约,办事人只要在一个部门通过身份认证以及电子签章,智能合约就可以自动处理并流转,顺序完成后续所有审批和签章。

区块链发票是国内区块链技术最早落地的使用。税务部门推出区块链电子发票“税链”平台,税务部门、开票方、受票方通过独一无二的数字身份加入“税链”网络,真正实现“交易即开票”“开票即报销”——秒级开票、分钟级报销入账,大幅降低了税收征管成本,有效解决数据篡改、一票多报、偷税漏税等问题。

扶贫是区块链技术的另一个落地使用。利用区块链技术的公开透明、可溯源、不可篡改等特性,实现扶贫资金的透明使用、精准投放和高效管理。

也举两个例子。

由公安部第三研究所指导的 eID网络身份运营机构正与公易联共同研发“数字身份链”,以公民身份号码为根,基于密码学算法签发给中国公民。投入运行以来,eID数字身份体系已服务 1亿张 eID的全生命周期管理,有效缓解了个人身份信息被冒用滥用和隐私泄露的问题。

Odaily星球日报整理的在网信办备案的5个身份链项目

区块链技术天然具有金融属性

支付结算方面,在区块链分布式账本体系下,市场多个参与者共同维护并实时同步一份“总账”,短短几分钟内就可以完成现在两三天才能完成的支付、清算、结算任务,降低了跨行跨境交易的复杂性和成本。同时,区块链的底层加密技术保证了参与者无法篡改账本,确保交易记录透明安全,监管部门方便地追踪链上交易,快速定位高风险资金流向。

证券发行交易方面,传统股票发行流程长、成本高、环节复杂,区块链技术能够弱化承销机构作用,帮助各方建立快速准确的信息交互共享通道,发行人通过智能合约自行办理发行,监管部门统一审查核对,投资者也可以绕过中介机构进行直接操作。

数字票据和供应链金融方面,区块链技术可以有效解决中小企业融资难问题。目前的供应链金融很难惠及产业链上游的中小企业,因为他们跟核心企业往往没有直接贸易往来,金融机构难以评估其信用资质。基于区块链技术,我们可以建立一种联盟链网络,涵盖核心企业、上下游供应商、金融机构等,核心企业发放应收账款凭证给其供应商,票据数字化上链后可在供应商之间流转,每一级供应商可凭数字票据证明实现对应额度的融资。

举个例子。

由工行、邮储银行、11家央企等联合发起的中企云链,自2017年成立至今,已覆盖4.8万企业,链上确权金额达到1000亿元,保理融资570亿元,累计交易达3000亿元。金融机构收到贷款申请后,可在链上验证合同的真实性、合同有无多次验证(多头借贷);智能合约自动清结算,降本增效;同时,核心企业的应付账款可拥有对应凭证,并由一级供应商进行拆分,交至同在链上的二、三??级供应商,助其融资;而核心企业也可借此了解全链条的运转是否正常,免除紧急兑付压力。

区块链技术将大大优化现有的大数据使用,在数据流通和共享上发挥巨大作用

前面提到的是我们相对熟悉的领域。随着更多新技术的发展,区块链或许都可以与之结合,在意想不到的交叉领域和现在还无法预料的新场景下发挥作用。

未来互联网、人工智能、物联网都将产生海量数据,现有中心化数据存储(计算模式)将面临巨大挑战,基于区块链技术的边缘存储(计算)有望成为未来解决方案。再者,区块链对数据的不可篡改和可追溯机制保证了数据的真实性和高质量,这成为大数据、深度学习、人工智能等一切数据使用的基础。

最后,区块链可以在保护数据隐私的前提下实现多方协作的数据计算,有望解决“数据垄断”和“数据孤岛”问题,实现数据流通价值。

针对当前的区块链发展阶段,为了满足一般商业用户区块链开发和使用需求,众多传统云服务商开始部署自己的BaaS(“区块链即服务”)解决方案。区块链与云计算的结合将有效降低企业区块链部署成本,推动区块链使用场景落地。未来区块链技术还会在慈善公益、保险、能源、物流、物联网等诸多领域发挥重要作用。

在这场从传统技术到区块链的试验过程中,我们发现,当某些场景对可追溯、防篡改、去中心的需求更强,又对区块链的弱项(比如性能),要求并不高,这样的领域就蛮适合结合区块链。

同时,区块链在演进的过程中,也从人人皆可访问、高度去中心化的公有链,发展出了设有不同权限、由多个中心维护的联盟链,一定程度上平衡了两种体系的优缺点。

联盟链的典型案例有:微众银行牵头金链盟开源工作组共同研发的FISCO BCOS、IBM主要贡献的Fabric、以及蚂蚁区块链主导的蚂蚁联盟链等等。

这些去信任的系统代表了更安全的数据认证和存储机制,其中的数据是被有效认证的和被保护的。企业或个人可以以数字方式交换或签订合同,其中这些合同嵌入在代码中,并存储在透明的、共享的数据库中,在这些数据库中,它们不会被删除、篡改和修订。

大胆预测,未来世界的合同、审核、任务、支付都将被具有唯一性和安全性的签名数字化,数字签名将被永久地识别、认证、法律化和存储,并且无法篡改。不需要中介方来为自己的每一笔交易做担保了,在不了解对方基本信息的情况下就可以进行交易。在提高信息安全性的同时,有效降低交易成本,提高交易效率。

总的来讲,相比于两年前,区块链的落地已有不少进展。

有不少改进是在系统底层,用户没法直接看出用了区块链,实已受惠于它;也有部分使用仍处试点,用户还未能体验。未来,区块链有望得到大规模使用,成为互联网基础设施之一。

希望看到这里的你,已经大致了解了什么是区块链,以及区块链能做什么。

相关问答:区块链是什么

区块链其实就相当于一个去中介化的数据库,是由一串数据块组成的。它的每一个数据块当中都包含了一次比特币网络交易的信息,而这些都是用于验证其信息的有效性和生成下一个区块的。

狭义的来讲,区块链是就是一种按照时间顺序来将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

而从广义来讲,区块链其实是一种分布式基础架构与计算方式,它是用于保证数据传输和访问的安全的。

区块链的基础架构:

区块链是由数据层、网络层、共识层、激励层、合约层和使用层这六个基础架构组成的。

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/149574.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年11月27日
下一篇 2024年11月27日

相关推荐

  • 挖矿pos什么意思,什么是pos

    一、pos挖矿是什么POS挖矿是一种基于区块链技术的验证过程。POS挖矿具体是指权益证明挖矿,是区块链网络中验证交易并增加新区块到区块链上的过程。在这种机制下,参与者通过抵押一定数量的数字货币作为保证金来参与挖矿,以证明自己的权益。基于所抵押的数字货币数量和持有时

    2025-03-19 23:30:02
    1 0
  • 什么是底层技术,底层架构是什么意思

    一、剪发的底层逻辑是什么意思剪发是指对头发进行修剪和修整的过程。剪发有多种技巧和方法,但所有方法的底层逻辑都是要达到一个目的,那就是使头发看起来更加美观和整洁。而达到这个目的的底层逻辑包括对头发的形状、颜色和长度等方面进行精确的评估和处理。在剪发的过程中,

    2025-03-19 23:00:01
    2 0
  • TB币现在什么价格,奇亚币还能涨起来吗

    一、tbos是什么币TBOS币是虚拟货币,全名Turboswap,又名宝藏链。TurboSwap平台项目的原生态设计理念源自于团队对于金融行业领域的思考。平台区块链的资产数目多,规模大,平台用户在区块链上可以及时互换项目。Turboswap平台是第一个提出区块链挖矿观点的平台。我们通过以上

    2025-03-19 23:00:01
    1 0
  • GCR是什么币,gcr是什么

    一、物流行业中的CCT-CIR是什么意思abc classificiation abc分类法Accomplish a Bill of Lading(to)付单提货Act of God天灾Actual Displacement实际排水量Ad valorem freight从价运费Addendum(to a charter party)(租船合同)附件Additional for Alteration of Destination变更

    2025-03-19 18:30:01
    2 0
  • 货币交易是什么,货币交易是什么意思

    一、市场货币是什么意思啊市场货币是指能够在市场上流通和被广泛接受的货币。具体而言,市场货币不仅是一种计价工具和交易媒介,还具有良好的流通性、交换性和保存价值。市场货币的广泛接受和使用是市场经济发展所必须的,能够有效推动经济交易、生产和消费的进程。市场货币的

    2025-03-19 16:00:01
    3 0
  • Cny.btc.eth有什么区别,eth是什么意思

    一、比特币中国btccnyltc什么意思btc是指比特币(bitcoin),ltc指的是莱特币(litecoin),cny指的是人本民币。btccnyltc的意思是比特币和莱特币的人民币交易,支持比特币、莱特币和人民币之间自由的兑换。比特币是一种“电子货币”,由计算机生成的一串串复杂代码组成,新比特

    2025-03-19 16:00:01
    2 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载