一、如何找到区块链的密码,区块链的密钥是什么
【深度知识】区块链之加密原理图示(加密,签名)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括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)可追踪性。群签名中,群管理员的存在保证了签名的可追
二、区块链中的密码是什么码,区块链的密码学原理
区块链密码算法是怎样的?
区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的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)可追踪性。群签名中,群管理员的存在保证了签名的可追踪性。群管理员可以撤销签名,揭露真正的签名者。环签名本身无法揭示签名者,除非签名者本身想暴露或者在签名中添加额外的信息。提出了一个可验证的环签名方案,方案中真实签名者希望验证者知道自己的身份,此时真实签名者可以通过透露自己掌握的秘密信息来证实自己的身份。
(3)管理系统。群签名由群管理员管理,环签名不需要管理,签名者只有选择一个可能的签名者集合,获得其公钥,然后公布这个集合即可,所有成员平等。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
第4课区块链中的密码学学习总结这是加入公Ulord深度学习第四课,杨博士给大家主讲区块链中的密码学问题,本期课程令让我弄懂了一个一直困扰着我的关于公钥和私钥的问题,他们之间到底是什么关系?再这次学习中我得到了答案,现在我把我学习到的内容跟大家分享一下。
区块链里的公钥和私钥,是非对称加密里的两个基本概念。
公钥与私钥,是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥是非公开的部分。公钥通常用于加密会话,就是消息或者说信息,同时,也可以来用于验证用私钥签名的数字签名。
私钥可以用来进行签名,用对应的公钥来进行验证。通过这种公开密钥体制得到的密钥对能够保证在全世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密数据,则必须用它对应的另一个密钥来进行解密。
比如说用公钥加密的数据就必须用私钥才能解密,如果用私钥进行加密,就必须要对应的公钥才能解密,否则无法成功解密。另外,在比特币的区块链中,则是通过私钥来计算出公钥,通过公钥来计算出地址,而这个过程是不可逆的。
区块链中的哈希值是什么?
区块链中的哈希值是将任意长度的输入字符串转换为密码并进行固定输出的过程。哈希值不是一个“密码”,不能通过解密哈希来检索原始数据,它是一个单向的加密函数。
在区块链中,每个块都有前一个块的哈希值。当更改当前块中的任何数据时,块的哈希值将被更改,这将影响前一个块,因为它有前一个块的地址。例如如果只有两个块,一个是当前块,一个是父块。当前块将拥有父块的地址,如果需要更改当前块中的数据,还需要更改父块。
一个加密哈希函数需要具备以下几个关键的特性才能被认为是有用的
1、每个哈希值都是不同的。
2、对于相同的消息,总是生成相同的哈希值。
3、不可能根据哈希值来决定输入。
4、即使对输入的整个哈希值做一个小的更改也会被更改。
一文读懂,XFS中你必须掌握的密码与区块链理论术语人们对于事物的深刻认知,不是像“如何将大象放进冰箱?”那般,只回答“打开冰箱,把大象放进去,关上冰箱”那么简单。任何事物都需要一个抽丝剥茧,化整为零的认知过程。特别是一个新兴的概念和事物,更需要更加细致的了解。
XFS系统是一个分布式文件系统,但它并不是一个单一的框架结构,他是密码学、区块链、互联网等多种技术手段结合的一个有机整体,因此,想要更详细的了解它,我们必须知道一些专业术语的概念。
1.加密网络
加密网络简单来说就是一个公共区块链。在区块链技术诞生之前,互联网网络中的数据传输其实是没有任何加密手段的,黑客一旦截取的其中的数据,那么除非那段数据本身就是密文,否则那些数据就直白地暴露在黑客眼前。
加密网络便是通过区块链技术,由区块链各个节点维护,任何人都可以无需许可加入,更重要的是,整个网络中运转的数据是加密的。XFS系统便是一个典型的加密网络。
2.哈希算法
哈希算法是区块链中用以确保数据完整性和安全性的一个特殊程序。哈希算法采用的是名为“哈希函数”数学关系,结果输出被称为“加密摘要”。加密摘要的特点是任意长度的数据输入后,返回的都是一个唯一且固定长度的值。
哈希函数具备:
基于这些特性,它在保证加密安全时也被用于防篡改,因为即使对散列函数的数据输入进行微小更改也会导致完全不同的输出。这也成为了现代密码学和区块链的主力。
3.分布式账本
区块链就是一个分布式账本,但这个账本不仅仅可以记录交易信息,还可以记录任何数据交互。每个分类帐交易都是一个加密摘要,因此无法在不被检测到的情况下更改条目。这样使得区块链使参与者能够以一种去中心化的方式相互审计。
4.私钥和公钥
私钥和公钥是区块链通过哈希算法形成加密后生成的一组用于解密的“钥匙”。通过对私钥加密,形成公钥,此时,原始信息只能通过私钥进行查看,由用户自己保存,公钥就如同一个房屋地址,用于进行数据交互,是可以公开的。反之,如果对公钥加密,形成私钥,那么就会形成不可篡改的数字签名,因为这个公钥上的签名只有私钥拥有者才能进行创建。
1.节点
节点是一个区块链网络的最基础建设,也是区块链网络和现实连接的物理设备。单个节点拥有许多的功能,例如缓存数据、验证信息或将消息转发到其他节点等。
2.点对点(P2P)网络
区块链所构建的便是去中心化后节点与节点之间的数据交互。传统的互联网数据传输是一种客户端—服务器—客户端的中心辐射模式。点对点网络则更符合“网”这个词,在这个网络中,每个节点都在单一通信协议下运行,以在它们之间传输数据,避免了因为服务器单点故障而引发的网络崩溃。
3.共识验证
区块链的共识验证解决了大量分散的节点意见不统一的问题,以“少数服从多数”的哲学依据,在区块链网络中,更多的节点认可便意味着“共识”,通常而言,区块链网络中超过51%的节点认可的便会被采用和认可。
4.复制证明和时空证明
这两个证明在XFS系统中都可以总称为存储证明。XFS系统的核心功能之一是数据存储,因此,为了证明存储的有效性,便通过复制证明验证数据是否存在节点存储空间中,并通过时空证明验证时间上的持续性。存储提供方如果在储存有效期内能持续提交存储证明,那么他便会获得由XFS系统提供的奖励。
5.冗余策略和纠删码
这是XFS用来平衡数据存储量的两个方式。冗余策略将数据通过多副本的方式备份,确保数据在损坏或丢失后能找回。
纠删码则是确保数据在复制、传输时不会产生过多备份,节省存储空间、提高传输效率。
6.文件分片协议
XFS将文件切分为N个细小的碎片存储在节点当中,这些碎片只要有任意M个碎片即可恢复出数据,这样只要不同时有N-M+1个节点失效就能保证数据完整不丢失。
7.智能合约
XFS中的智能合约是一段程序代码,由于是基于区块链生成的,因此同样继承了区块链不可篡改、可追溯等特点,它能保证双方执行结果的确定性,这也使得XFS网络中的数据交互变得更加可信。
8.Dapp
即去中心化APP,同普通的APP一样具备更加方便快捷的网络接入端口,唯一不同的便是它抛弃了传统APP中心化的特点,这使得Dapp中的数据是归属于用户自身,不用担心隐私泄露、大数据杀熟等问题。
XFS系统是一个开放性平台,用户可以自由的在其中使用、设计、创作各种Dapp。
结语
关于XFS中的理论术语基于篇幅原因是很难详细展开细讲的,这其中涉及到了更多的互联网和区块链专业知识。但通过上面这些简单的解释,相信大家对XFS系统也有了一个比较立体的认知,那么,我们便期待打破传统中心化存储弊端,开船全新存储时代的XFS新一代分布式文件系统吧。
区块链的密码技术有密码学技术是区块链技术的核心。区块链的密码技术有数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的一个子集,表示了只用作数字签名的一个特定的公钥算法。密钥运行在由SHA-1产生的消息哈希:为了验证一个签名,要重新计算消息的哈希,使用公钥解密签名然后比较结果。缩写为DSA。
?
数字签名是电子签名的特殊形式。到目前为止,至少已经有20多个国家通过法律认可电子签名,其中包括欧盟和美国,我国的电子签名法于2004年8月28日第十届全国人民代表大会常务委员会第十一次会议通过。数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题,利用数据加密技术、数据变换技术,使收发数据双方能够满足两个条件:接收方能够鉴别发送方所宣称的身份;发送方以后不能否认其发送过该数据这一事实。
数字签名是密码学理论中的一个重要分支。它的提出是为了对电子文档进行签名,以替代传统纸质文档上的手写签名,因此它必须具备5个特性。
(1)签名是可信的。
(2)签名是不可伪造的。
(3)签名是不可重用的。
(4)签名的文件是不可改变的。
(5)签名是不可抵赖的。
哈希(hash)算法
Hash,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,其中散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,但是不可逆向推导出输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
哈希(Hash)算法,它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
以比特币区块链为代表,其中工作量证明和密钥编码过程中多次使用了二次哈希,如SHA(SHA256(k))或者RIPEMD160(SHA256(K)),这种方式带来的好处是增加了工作量或者在不清楚协议的情况下增加破解难度。
以比特币区块链为代表,主要使用的两个哈希函数分别是:
1.SHA-256,主要用于完成PoW(工作量证明)计算;
2.RIPEMD160,主要用于生成比特币地址。如下图1所示,为比特币从公钥生成地址的流程。
三、区块链什么时候落地实施(区块链什么时候落地实施的)
区块链技术国家标准什么时候完成?
我国已着手建立区块链国家标准,以从顶层设计推动区块链标准体系建设,预计最快将于2019年底完成。
工信部电子工业标准化研究院区块链研究室主任李鸣在接受记者采访时表示,目前有关区块链国家标准计划已经公布,相关部门也将组建全国区块链和分布式记账技术标准化委员会。
李鸣透露,区块链国家标准包括基础标准、业务和应用标准、过程和方法标准、可信和互操作标准、信息安全标准等方面,并将进一步扩大标准的适用性。
“区块链技术发展或将成为我国掌握全球科技竞争先机的重要一步。”国家信息技术安全研究中心主任俞克群日前在2018区块链安全高峰论坛上表示。他指出,区块链被认为将引领新一轮技术创新和新的产业发展,势头迅猛。
俞克群指出,区块链技术作为一种分布式数据存储、点对点传输、共识机制、加密算法等技术的新型集成应用,具有去中心化、开放性、防篡改、匿名性等特点。“其可应用在生产链、管理链、交易链,会给不同领域带来整个生命周期的重构,让生命周期可管理、可追溯。”
事实上,BAT早已开始布局区块链。阿里已与普华永道达成合作,宣布应用区块链打造透明可追溯的跨境食品供应链。腾讯与中国物流与采购联合会签署战略合作协议,正式落地物流场景。百度金融与其他金融机构联合发布区块链技术支持的ABS项目,发行规模4.24亿元。
同时,银行方面,中行、建行、工行、农行也已开始区块链方面的布局,应用到扶贫、国际贸易、住房租赁平台、电商供应链、雄安新区服务场景等领域。中国工商银行在年报中指出,积极探索区块链、人工智能、物联网等应用场景,运用区块链技术推进雄安新区建设资金的透明管理;建设银行则提出将在同业中率先实现国内信用证和国际保理领域的区块链跨行、跨境应用;农业银行将区块链技术应用于电商供应链金融,还推进金融数字积分系统建设,打造区块链积分体系;中行推出贸易融资区块链应用和指纹、指静脉及声纹认证等生物认证科技应用。
中国云体系产业创新战略联盟秘书长沈寓实表示,美国科技实力象征的IBM也押注区块链,其在2016年报告中便预测,2017年会有14%的金融市场机构和15%的银行采用区块链技术商用解决方案,65%的银行在三年内会采用区块链技术。
公安部第一研究所信息安全部副主任胡光俊表示,未来将把物理世界、跟人的关联关系纳入整个区块链生态体系里面来。他透露,目前该部门正考虑如何将区块链技术应用于公安领域。例如,利用区块链技术进行案件证据链的存储;利用区块链不可篡改的特性,将区块链贯穿身份录入全流程等等。
虽然区块链应用前景被各方看好,但需注意的是,处于发展初期的区块链并不完美。俞克群表示,其安全问题存诸多挑战。白帽汇安全研究院发布的《区块链产业安全分析报告》显示,2011年到2018年4月,全球范围内因区块链安全事件造成的损失多达28.64亿美元。近两年相关损失金额呈指数上升之势,仅2018年以来,损失金额就高达19亿美元。
白帽汇安全研究院负责人邓焕表示,随着信息经济价值不断上升,促使攻击者利用各种攻击手段获取更多敏感数据。“目前区块链技术应用最为广泛的虚拟货币,被黑客频繁利用漏洞攻击,造成巨额损失。”
对此,北京华顺信安科技有限公司创始人赵武也表示,区块链虽然具备颠覆性的技术潜力,但我们必须认识到,区块链仍处于初期,远远没有达到可以颠覆世界的阶段。
俞克群强调,自主可控的区块链网络,意在技术上不能受制于人,同时也可以促进区块链健康发展。安全是区块链未来的生命,只有本身的安全才能使得区块链技术落地。这就要求我们在区块链技术发展的同时,必须并重发展其安全属性,甚至是超前发展。
对此,李鸣也表示,标准中重要一块是信息安全的标准,也可以看出安全对于区块链技术的重要性。他同时指出,区块链标准的制定不意味着会快速推进行业发展,而是给行业一定指引。此前,中国在国际知识产权和标准等方面吃过很多亏,在区块链方面,中国目前已经形成了国际化区块链方面的200多项专利,甚至已站在世界技术前列。因此,我们也需要牢牢把握住自己的话语权。
内容来源?新华网
区块链落地还有多远还有1年以上的时间,第一,区块链鼓励早期加入者,并提供激励措施,但相应的也承担了更大的风险,所以前几位落地的互联网公司会有很多顾虑,第二,在国内区块链的公信力或者说普通用户的认知认可还远远不够,仍旧需要政府背书,第三,在金融系统与区块链的结合落地之前,其他行业的先行者都是在冒险
数字货币什么时候正式落地?数字人民币在试点即将一周年之际,再次拓展试点场景。4月2日,数字人民币开始在中国人民大学试点。
自2014年中国人民银行成立法定数字货币研究小组以来,数字人民币在相当一段时间进展有限。2020年以来数字人民币发展提速,2021年更是在零售、批发及跨境支付等多领域取得较快进展。
试点一周年
2020年4月16日,数字货币在苏州相城区落地应用,至今已在深圳、苏州、成都、上海、北京等多地开展试点,涵盖线上线下交易场景。
“在国内,数字人民币在多个地区正在试用,包括在冬奥会的场景下使用,数字人民币的测试的场景越来越多、越来越丰富。与此同时,我们也在与香港金管局一道合作,在跨境使用方面进行了一些技术测试。”4月1日,央行研究局局长王信在国务院新闻办公室新闻发布会上称。
3月25日,发改委等28个部门印发的《加快培育新型消费实施方案》指出,加快数字人民币的试点推广,优先选择部分新型消费活跃的城市进行试点,着力提高金融运行效率、降低金融交易成本。
“正式落地时间或近在咫尺。”工银国际首席经济学家、董事总经理程实和工银国际宏观经济分析师高欣弘撰文指出,相较在国内数字人民币的稳步审慎推进,以覆盖小额支付场景为先,在“外循环”中则将做出更大胆、更具挑战性的尝试,同时也考虑批发型央行数字货币的试验与应用。数字人民币在“内循环”中的推进中充分考虑我国实际国情,与我国传统金融机构、商户、互联网平台深度合作,将发行环节与交易场景全面融合,激发数字内需的释放。而在“外循环”中则更加包容开放,在谋求共识的基础上与合作各方探索各种可能方案,推动全球金融基础设施的更新换代,积极参与以CBDC(CentralBankDigitalCurrency,央行数字货币)为基础的新型跨境支付体系的规则制定。
3月23日,有媒体报道,六大国有银行已经开始推广数字人民币货币钱包。在国有银行营业网点中,客户只需要提出申请,便可以申请白名单,在央行数字人民币APP中以设立银行子钱包方式参与测试。
目前,央行数字货币研究所已经与银联、华为、京东数科、滴滴、美团、拉卡拉等多家机构达成战略合作,共同推进建设数字人民币试点测试生态体系。数字人民币交易场景也从线下逐步走向“线上+线下”融合,目前线上推广层次日益丰富,可以根据不同银行钱包的适配性,在京东、美团、滴滴、哔哩哔哩等多个互联网场景使用,并可嫁接且不依赖于智能手机和网络。
“欢太数科是领先的数字科技开放平台,是OPPO、realme、OnePlus等手机品牌的官方合作伙伴。欢太数科业务主要涵盖数字金融与数字生活两大业务,让用户通过一部手机就可以满足移动支付、智慧出行、数字金融等丰富的需求。过去的一段时间,我们作为技术与场景支持方参与了数字人民币试点生态建设。”欢太数科人士表示,将继续发挥技术优势,协助数字人民币生态建设,包括但不限于技术与场景支持。欢太数科近期与OPPO合作完成了线上场景技术测试,未来将推进数字人民币在OPPO生态的线上场景试点,将数字人民币更好地融入手机+IoT生态场景,同时为用户提供更科技、更创新、更安全的支付方式与场景。
先零售再批发
全球数字货币探索正如火如荼,公开资料显示,目前全球已有超过60个国家试验国家数字货币。中国的数字人民币暂时领先。
日本央行发布公告称,央行数字货币第一阶段概念验证于4月5日开始,这一测验阶段将进行到2022年3月,为期一年,日本央行计划开发一个测试环境,核心是验证数字货币作为支付工具的发行、分销、赎回等基本功能。
4月2日,泰国中央银行公布数字货币推进时间表,并向社会征询对零售型数字货币的意见。根据时间表,泰国央行将在2021—2022年进行零售型数字货币测试。
从适用场景和面向对象来看,央行数字货币主要分为批发型和零售型两种。2020年10月,BIS等发布《央行数字货币:基本原理和核心特征》报告,报告显示,目前全球80%的中央银行参与了对CBDC的研究,其中一半的中央银行同时关注了零售型和批发型两个方面。截至2020年7月中旬,至少有36家中央银行发布了零售型或批发型CBDC较为具体的工作,基于现金数字化开发的零售型CBDC占比更大、发展进程也更快,其中委内瑞拉石油币、瑞典电子克朗(e-krona)、新加坡Ubin项目、数字美元具有较高的代表性。
从目前试点场景上看,数字人民币属于零售型CBDC。中国银行间市场交易商协会副会长徐忠在《金融科技:前沿与趋势》一书中指出,批发型央行数字货币的使用限于中央银行和金融机构之间,不面向公众。零售型央行数字货币也被称为一般目标型,其使用面向公众。中国人民银行的DC/EP(DigitalCurrencyandElectronicPayment,数字货币和电子支付)在零售型央行数字货币项目中处于全球领先位置。
尽管央行多次强调,数字人民币是现金(M0)替代,但从长远来看,数字人民币有望在更多行业、领域中掀起变革。
1月27日,国内首个自主可控区块链软硬件技术体系“长安链”发布,同时推出首批应用场景。2月,央行数字货币研究所与北京微芯区块链与边缘计算研究院签署战略合作协议,双方将基于“长安链”推进数字人民币企业应用。
程实和高欣弘撰文指出,央行数研所基于“长安链”,将加快推进数字人民币的企业应用,体现出数字人民币的功能定位将不止于替代M0,更旨在为企业间的互信支付与升维发展营造良好环境。
“我国数字人民币的设计主要是用于国内零售的支付。前期,人民银行数字货币研究所与香港金管局就数字人民币在内地和香港地区的跨境使用进行了技术测试,这是人民币试点的一次常规性研发测试工作。”王信在上述国务院新闻办公室新闻发布会上表示,近期,在国际清算银行香港创新中心的支持下,人民银行数字货币研究所和香港金管局、泰国中央银行、阿拉伯联合酋长国,联合发起了多边央行数字货币桥的研究项目,旨在探索利用分布式账本技术实现央行数字货币对的跨境交易全天候同步交收,也就是PVP结算。
人民银行官网显示,2月24日,香港金融管理局、泰国中央银行、阿拉伯联合酋长国中央银行及中国人民银行数字货币研究所宣布联合发起多边央行数字货币桥研究项目(m-CBDCBridge),旨在探索央行数字货币在跨境支付中的应用。该项目得到了国际清算银行香港创新中心的支持。
实际上,央行数字货币在跨境支付中的探索要早于上述的研究项目。
跨境支付箭在弦上
1月16日,SWIFT与中国人民银行直属的清算总中心、跨境银行间支付清算有限责任公司(CIPS)、央行数字货币研究所以及中国支付清算协会,共同在北京成立了金融网关信息服务有限公司。前中国银行副行长王永利表示,中国央行在数字人民币上加强与SWIFT的合作,对双方拓展数字货币领域的全球化发展都是非常重要的安排,而且可以帮助SWIFT建立数字货币报文标准和处理规则,带动世界各国数字货币发展,可谓意义重大。
“中国数字经济就像一辆新能源汽车,数字人民币则是电池核心组件。”普华永道的报告指出,随着其它国家央行数字货币逐渐推出,我国货币国际化改革或可以率先利用数字人民币展开实验,或者让“一部分”数字人民币实现全球自由兑换和流通(由于其可追踪性优势,技术层面可行)。国际贸易结算方面,因为我国是全球第一个推出数字货币的主要经济体,可以利用先发优势创立全新全球结算体系,或可逐渐摆脱对SWIFT支付系统的长期依赖。
欧科云链集团副总裁胡超认为,数字人民币使用了包括区块链技术在内的多种新型关键技术,业务逻辑、技术逻辑都与传统手机支付有质的不同。在未来可能实现的跨境支付场景中,区块链技术的特性和优势将会体现得更加明显,比如传统跨境支付方式的复杂流程将得到显著简化,交易速度和交易效率将大幅提升,全面彻底的穿透式监管还可以有效防范和打击洗钱犯罪。最近央行也表示将在条件成熟时、顺应市场需求将数字人民币用于跨境支付交易,这在很大程度上将可以助推数字人民币的国际化,随着“一带一路”建设、国内自贸港建设等实际需求的快速增加,可以预见数字人民币的跨境支付场景也会越来越多,而其中区块链技术的优势特性将会有效支撑和助力数字人民币在跨境支付场景的落地,以及未来更广范围的国际化进程。
然而,寄望于通过数字人民币实现人民币国际化看起来很美好。相当部分的中国的金融学者认为,人民币国际化主要是制度问题,而非技术问题,数字人民币将为境外用户持有和使用人民币,以及跨境贸易、跨境结算和跨境投融资提供便利,在一定程度上有利于人民币国际化的推进。
SWIFT数据显示,2021年2月,在基于金额统计的全球支付货币排名中,人民币保持了全球第五大最活跃货币的位置(前四位分别为:美元38.43%、欧元37.13%、英镑6.57%和日元3.18%),占比2.20%。与2021年1月相比,人民币支付金额总体减少了13.00%,同时所有货币支付金额总体减少了4.22%。
“数字人民币先在国内形成成熟完善的支付场景,才能国际数字货币中形成一定的市场竞争力,并占有一席之地。”3月25日,中国银行首席研究员,跨境金融50人论坛学术委员会秘书长宗良在坤元资产高端对话栏目《牛转“钱”坤》中指出,在跨境支付体系中,人民币远远落后于美元、欧元,这对于中国全球第二大经济体的地位极不相称,在大量的对外经济交往中,中国主要通过外币进行结算,不仅影响了效率,还存在外部汇率波动,外部危机传导等方面的风险。目前中国按照市场的原则推行人民币国际化,人民币国际化的远景目标是成为重要国际货币。
2021年区块链如何发展?区块链为实体经济发展赋能。伴随区块链技术的发展,其应用场景也更加深入,从商品溯源、司法存证、政务、供应链金融、贸易金融、社会公益拓展到工业管理、能源电力、数据交易、公共资源交易、数字身份、医疗健康等领域。未来,随着区块链技术进一步发展,尤其是在性能、规模、安全性上得到提升,其应用场景也将日渐广泛。
1)区块链行业生命周期。通过对区块链行业的市场增长率、需求增长率、产品品种、竞争者数量、进入壁垒及退出壁垒、技术变革、用户购买行为等研判行业所处的发展阶段;
2)区块链行业市场供需平衡。通过对区块链行业的供给状况、需求状况以及进出口状况研判行业的供需平衡状况,以期掌握行业市场饱和程度;
3)区块链行业竞争格局。通过对区块链行业的供应商的讨价还价能力、购买者的讨价还价能力、潜在竞争者进入的能力、替代品的替代能力、行业内竞争者现在的竞争能力的分析,掌握决定行业利润水平的五种力量;
4)区块链行业经济运行。主要为数据分析,包括区块链行业的竞争企业个数、从业人数、工业总产值、销售产值、出口值、产成品、销售收入、利润总额、资产、负债、行业成长能力、盈利能力、偿债能力、运营能力。
5)区块链行业市场竞争主体企业。包括企业的产品、业务状况(BCG)、财务状况、竞争策略、市场份额、竞争力(swot分析)分析等。
6)投融资及并购分析。包括投融资项目分析、并购分析、投资区域、投资回报、投资结构等。
7)区块链行业市场营销。包括营销理念、营销模式、营销策略、渠道结构、产品策略等。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
bsn区块链是国家区块链吗?
BSN是一个正规的区块链联盟链,去年10月24日,区块链上升到国家战略层面,今年4月20日区块链正式列入“新基建”,区块链服务网络正式作为“新基建”中的落地实施项目。BSN由国家信息中心牵头,多方联合建设,作为我国自主研发的全球性区块链基础设施,在发展过程中得到了多地省市级政府的大力支持,为BSN提供产业孵化、培训基地等资源设施。同时,各级政府也在基于BSN的技术能力,打造因地制宜的地方区块链服务生态,例如:最近,福建省政府和长沙市政府,均把BSN直接写入了新基建三年行动计划中。可见各级政府对BSN的认可和重视。BSN是一个跨云服务、跨门户、跨底层框架,用于部署和运行区块链应用的全球性公共基础设施网络,本身是一个很开放的平台,聚集了众多优秀的伙伴。自2017年开源以来,FISCOBCOS一直秉持开源开放的理念,致力于构建分布式商业的基础设施,与合作伙伴一同构建区块链开源生态,与BSN在很多理念、想法上都不谋而合。这也是最终大家走到一起,促成FISCOBCOS成为BSN首个正式完成适配的国产联盟链底层框架的价值与理念基础。
法律依据:
《区块链信息服务管理规定》
第一条为了规范区块链信息服务活动,维护国家安全和社会公共利益,保护公民、法人和其他组织的合法权益,促进区块链技术及相关服务的健康发展,根据《中华人民共和国网络安全法》《互联网信息服务管理办法》和《国务院关于授权国家互联网信息办公室负责互联网信息内容管理工作的通知》,制定本规定。
第二条在中华人民共和国境内从事区块链信息服务,应当遵守本规定。法律、行政法规另有规定的,遵照其规定。本规定所称区块链信息服务,是指基于区块链技术或者系统,通过互联网站、应用程序等形式,向社会公众提供信息服务。本规定所称区块链信息服务提供者,是指向社会公众提供区块链信息服务的主体或者节点,以及为区块链信息服务的主体提供技术支持的机构或者组织;本规定所称区块链信息服务使用者,是指使用区块链信息服务的组织或者个人。
第三条国家互联网信息办公室依据职责负责全国区块链信息服务的监督管理执法工作。省、自治区、直辖市互联网信息办公室依据职责负责本行政区域内区块链信息服务的监督管理执法工作。
第四条鼓励区块链行业组织加强行业自律,建立健全行业自律制度和行业准则,指导区块链信息服务提供者建立健全服务规范,推动行业信用评价体系建设,督促区块链信息服务提供者依法提供服务、接受社会监督,提高区块链信息服务从业人员的职业素养,促进行业健康有序发展。