Ⅰ 区块链的密码技术有
密码学技术是区块链技术的核心。区块链的密码技术有数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的一个子集,表示了只用作数字签名的一个特定的公钥算法。密钥运行在由SHA-1产生的消息哈希:为了验证一个签名,要重新计算消息的哈希,使用公钥解密签名然后比较结果。缩写为DSA。
数字签名是电子签名的特殊形式。到目前为止,至少已经有 20 多个国家通过法律 认可电子签名,其中包括欧盟和美国,我国的电子签名法于 2004 年 8 月 28 日第十届全 国人民代表大会常务委员会第十一次会议通过。数字签名在 ISO 7498-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所示,为比特币从公钥生成地址的流程。
Ⅱ 区块链之加密原理总结(一)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括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算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:
对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。
对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。
那么究竟应该采用何种加密呢?
主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。
密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。
在整个网络的传输过程中,根据密码套件主要分如下几大类算法:
秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。
消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。
批量加密算法:比如AES, 主要用于加密信息流。
伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。
在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。
握手/网络协商阶段:
在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等
身份认证阶段:
身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。
消息加密阶段:
消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。
消息身份认证阶段/防篡改阶段:
主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。
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算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。
ECC 是 Elliptic Curve Cryptography的简称。那么什么是椭圆加密曲线呢?Wolfram MathWorld 给出了很标准的定义: 一条椭圆曲线就是一组被 定义的且满足 的点集。
这个先订条件是为了保证曲线不包含奇点。
所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:
所有的非对称加密的基本原理基本都是基于一个公式 K = k*G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式 不可进行逆运算( 也就是说G/K是无法计算的 )。
ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。
我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k*G计算出我们的公钥K。并且保证公钥K也要在曲线上。
那么k*G怎么计算呢?如何计算k*G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。
首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:
在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2*2 = 2+2,3*5 = 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
于是乎得到 2*P = -Q (是不是与我们非对称算法的公式 K = k*G 越来越近了)。
于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。
假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。
那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。
选一个随机数 k, 那么k * P等于多少呢?
我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111
由于2*P = -Q 所以 这样就计算出了k*P。 这就是点倍积算法 。所以在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上的例子说明如何生成共享秘钥,也可以参考 Alice And Bob 的例子。
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 = ka KB = 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-based Message Authentication Code. 其模型如下:
在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
Ⅲ 2020-区块链基础25讲-为什么这个世界需要区块链
1、点对点系统中的信任和完备性;其中最重要的两个条件,一是了解系统中的节点数据、二是了解节点的可信任程度。
2、威胁:技术性的故障、恶意节点。
3、完全去中心化的对点系统而言,区块链解决的最核心的问题是实现并确保系统的完备性。
4、定义区块链的4中方法,一是一种数据结构,就如一本书一样,每一页都有特定的消息,每一页都有特定的编码来确定;二是一种算法,将大量特定的数据结构妥善协调组织在一起的算法;三是一个完整的技术方案,即数据结构、算法、密码学及安全技术综合在一起;四是在普通应用场景下完全去中心化对点系统的一个概括性术语。
5、区块链是一个完全分布式的点对点账本系统,其利用一个特俗算法、实现对区块内信息生成顺序的协调,并使用加密技术对区块链数据进行连接,从而确保了系统的完备性。
6、所有权管理;
7、所有权和见证人,能够有一个证人是一件好事,但是同事拥有多位独立的证人是向公诉人证明你清白的关键。
8、证明所有权的3个步骤
* 对所有者的证明
* 对事物被拥有的证明
* 提供一个所有者和事物之间的连接
9、身份认证、鉴定、授权;身份认证指的是确认使用者的身份;鉴定指的是证明你确实是你所声称的那个人;授权指的是让你根据之前的身份鉴定能访问特定的资源或得到特定的服务。
10、账本的性质和意义;公开(读取数据、查看历史数据、保持状态)和隐私(写入数据、创建新数据、改变状态)
11、所有权和区块链的联系:
* 单个账本可以用来记录与所有权相关的信息,可以看作是一份区块链中存储与所有权相关的数据的账本;
* 单个账本存储在一个点对点系统中的节点之上;
* 区块链算法确保了每个节点在每一次投票之后,能够同步到一个状态;
* 系统的完备性是系统具备提供真实且正确所有权描述的关键;
* 在身份认证、鉴定、授权以及确保数据安全性时,必须采用密码学技术;
12、双花的含义有;复制数字商品引起的问题;去中心化的点对点分布式账本中可能存在的问题;完全分布式点对点系统中违反完备性的一个例子; 区块链技术是一种解决双花问题的手段。
Ⅳ 一文读懂,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新一代分布式文件系统吧。
Ⅳ 超详细整理区块链和加密货币行业术语(建议收藏)
比特币词汇表:你需要知道的每一个区块链和加密货币短语
尽管困难重重,区块链技术已成为主流。比特币已成为家喻户晓的词,世界各地的金融机构都投资于加密货币或允许其客户这样做。与此同时,NFT 吸引了各路名人的加入和赞赏。
但尽管如此,区块链技术仍然非常神秘。只有才华横溢的工程师才能真正理解这些——其中许多人是比特币和以太币等加密货币的早期采用者,而对于外行来说可能仍是很困难的。
以下是您可能会觉得有用的区块链术语的词汇表。(所有短语按英文字母顺序排列)
空投(Airdrop)
空投是指公司将加密货币或 NFT 直接放入您的钱包中。 区块链 服务将推出代 币 并空投给曾使用过该服务的用户,而不是首次公开募股。这样做有几个原因:它可以是纯粹的营销,因为空投提高了人们可以投资的代币的意识,或者可以为 DAO 提供治理代币。
最近的一个例子:以太坊名称服务允许用户将他们的钱包号码更改为钱包名称(如 CNET.eth)。去年 12 月,它推出了自己的 ENS 代币,向所有使用该服务的人空投了一定金额。使用以太坊名称服务的人越多,他们被空投的代币就越多——在某些情况下价值数万美元。
山寨币(Altcoin)
任何不是 比特币 或 以太币的加密货币都被称为山寨币(Altcoin) 。有时候也被称为“ shitcoins。 ”
币安(Binance)
世界上最大的 加密货币 交易所,人们在这里购买和交易加密货币。它正在接受美国司法部和美国国税局的逃税和洗钱调查。
区块链(Blockchain)
区块链是“分布式数据库”。简单来说,它是一个去中心化的账本,将信息记录在数字“块”中。一旦一个块被挖掘并添加到链中,它就不能被更改,因此区块链提供了不可更改数据的公共记录。
有许多不同的区块链具有不同程度的去中心化、效率和安全性。许多人拥有自己的加密货币——例如,以太币是一种建立在 以太坊区块 链上的加密货币。
比特币(Bitcoin)
比特币是第一个 加密货币 ,建立在比特币区块链之上。它是由一个人或一群人以中 本聪 的笔名于 2009 年创建的。只能铸造2100 万枚,其中大约1890 万枚已经在流通。
销毁(Burning)
加密货币 通过发送到只能接收而不能发出的钱包而被“烧毁”。销毁机制通常被用来造成通缩影响:流通中的 代币 越少,投资者持有的 代币 就越稀缺。
买跌(Buy the dip)
这是指在价格下跌后购买更多资产。例如,如果价格下跌 10,000 美元,比特币持有者可能会“逢低买入”。
冷钱包(Cold Wallet)
未连接到互联网的加密货币钱包。这些钱包更安全,更不容易受骗。
跨链(Cross-chain)
将数据、代币或资产从一个区块链发送到另一个区块链的能力。这不同于为在多个区块链上工作而构建的“ 多链 ”服务。
密码学(Cryptography)
一种信息加密形式,其中数据只能使用密钥进行解密。使用 工作量证明 协议的 区块链 依赖于解决极其复杂的密码学难题,以便挖掘和验证新区块。
加密货币(Cryptocurrency)
加密货币是 区块链 原生的代 币 。加密货币通常随着每个新区块的开采而铸造。例如,每 挖出 一个新的 以太坊 区块, 都会 获得两个以太币作为对矿工的补偿。
加密货币是一种代 币 。它们的诞生是它们的决定性因素:其他代币是使用构建在区块链之上的平台和应用程序创建的,而加密货币则内置于区块链的协议中。
去中心化应用(Dapps)
去中心化应用程序的缩写。
道(DAO)
一个去中心化的自治组织。DAO 是一个通过共识做出决策的组织:所有 治理代币的 持有者都在组织决策中获得投票权,投票最多的解决方案是 DAO 的行动方案。想象一个去中心化的投资银行,但不是由基金经理做出投资决定,而是由其 治理代币 的持有者投票决定如何投资其国库中的资金。
去中心化交易所(Decentralized exchange)
去中心化交易所用于购买和交易 加密货币 。与典型的交易所不同,这些交易所使用绕过任何中心化权威的点对点交易。其中包括 Uniswap 和 Sushiswap。
去中心化金融(DeFi)
“decentralized finance”的缩写。DeFi 是使用 区块链 技术绕过中心化机构任何金融工具,例如 智能合约 或 DAO 。
钻石手(Diamond Hands)
钻石手是长期或在价格动荡期间持有金融资产的人。
DYOR
“Do Your Own Research”的缩写。
以太币(ETH)
在以太坊区块链上开采的 加密货币 。以太 币 的市值仅次于 比特币 ,但却是一种更常用的加密货币。大多数 山寨币 也是 基于以太坊构建的 ,因此与以太 币挂钩 。大多数 NFT 也建立在以太坊上,这就是为什么以太是 NFT 交易中使用的主要代币。
以太坊(Ethereum)
与 比特币 竞争的区块链。它旨在采用 比特币 开发人员开创的区块链技术,并将其用于更复杂的金融工具,如 智能合约 。
闪贷(Flash loan)
闪电贷是一种 DeFi 工具,允许在没有抵押品的情况下进行贷款。闪电贷允许您借钱购买资产,但前提是可以购买资产并在同一区块内偿还利息。想象一下,使用贷款购买一栋 100 万美元的房子,但只有当您已经排好另一个愿意支付足够费用让您偿还贷款和利息的买家时,贷款才会被批准。
这些贷款使用 智能合约 技术。
FUD
“fear, uncertainty and doubt”的缩写。这可能是合法的,例如人们对代币或 NFT 项目的安全性或合法性或安全性表示担忧,例如鼓励人们出售、降低资产价格的有组织的举动。
Gas
Gas 是您使用 以太坊 网络所要支付的价格。每笔交易都需要支付gas 费 ,这取决于 区块链的 过载程度。每笔交易的价格通常在 50 美元到 500 美元之间,但在网络负载过重时价格可能会飙升。
治理代币(Governance token)
治理代币是赋予所有者对给定项目投票权的加密货币。另请参阅: DAO 。
GWEI
gas 的成本以 GWEI 表示。作为粗略的指导,当 gwei 低于 50 时,gas 会很便宜,而当 gwei 高于 100 时,gas 会很贵。
HODL
“hold”的故意拼写错误,用于鼓励人们在价格下跌期间持有他们的代币。
Layer 1和Layer 2
如果您涉足 加密货币, 您会听说Layer 1和Layer 2解决方案。Layer 1是 区块链 架构本身,而Layer 2是指建立在区块链之上的架构。
例如,以以太坊的高gas成本问题为例。Layer 1解决方案是让 以太坊区块 链更高效,例如通过采用 权益证明 协议。Layer 2解决方案的一个例子是 Immutible X,这是一个建立在以太坊之上的交易所,它使用 智能合约 技术允许无气体、碳中和的交易。
流动性市场(Liquid Market)
流动性市场是一个拥有大量买家和卖家的市场,它允许几乎立即完成买卖订单。 加密货币 市场具有流动性,而 NFT 市场则不然。大多数合法的加密货币可以随时买卖,因为 NFT 交易者需要列出待售物品,希望买家手动购买。
主网(Mainnet)
一个供公众使用的区块链协议将被放入主网。这将它与测试网区分开来,后者更像是区块链协议的测试版发布。
模因币(Memecoins)
许多加密货币旨在提供实用程序或服务为目的。Memecoins 不提供实用前景,纯粹作为投机资产存在。狗狗币是最知名的 ,但还有很多很多。
元掩码(MetaMask)
一种基于浏览器的在线数字钱包,主要用于 以太坊区块链 上的交易。
矿业(Mining)
挖矿是验证交易并将区块添加到区块 链的过程 。这通常涉及解决复杂 密码 问题的强大计算机。至关重要的是,这也是将新的 加密货币 添加到流通中的方式。
矿机(Mining Rig)
为挖掘 加密货币 的特定目的而设置的功能强大的计算机。
矿场(Mining Farm)
全天运行的采矿设备仓库(或房间),用于挖掘 加密货币 。
铸币(Mint)
在区块链上,铸币意味着验证信息并将其作为区块链上的一个块。
“铸造” NFT 意味着在公开发售期间从其创建者那里购买它。“铸币价格”是指它的创造者出售它的价格——例如无聊猿游艇俱乐部的“铸币价格”是 0.08 以太币。在一个集合中的所有 NFT 都被铸造之后,想要接触该集合的交易者需要从 OpenSea 等二级市场购买它们。
多链(Multi-chain)
设计用于多个 区块链 的应用程序或服务。这与 跨链 应用程序和服务不同, 跨链 应用程序和服务旨在将数据或资产从一个区块链发送到另一个区块链。
月球(MOON)
价格的急剧飙升被称为“mooning”或“a moon”。“To the moon(去月球)”是一个常见的短语。
NFT
不可替代的代币(Non-fungible token)。这些是证明数字资产所有权的数字契约。目前,它们与艺术相关,但 NFT 可以证明任何数字的所有权。
链下/链上(Off-Chain/On-chain)
链上是指存在于 区块链 上的东西,链下是指存在于 区块 链之外的东西。 加密货币 是链上货币,法定货币是链下货币。
OpenSea
它是最大的 NFT 市场,专门研究基于 以太坊 的 NFT。(建立在不同区块链上的 NFT 通常在专门的市场上出售。例如,Solana NFT 在 Solanat 上出售。)
Play to Earn(P2E)
Play to Earn (P2E) 游戏 集成了区块链,并以 游戏 内 加密货币 奖励玩家。这些 游戏 中的加密货币可以兑换成比特币或以太币。最突出的例子是 Axie Infinity,玩家可以获得 Smooth Love Potion ($SLP)。
工作量证明(Proof of Work)
工作量证明(POW)是一种共识机制,通过该机制将块添加到区块链中。工作量证明要求矿工解决复杂的 密码学 难题,这需要强大的采矿设备提供大量能源,以验证新的区块链交易。
工作量证明是一种安全且去中心化的共识机制,但效率低下是出了名的。这就是比特币和以太坊区块链的运作方式,尽管以太坊很快就会转向更高效 的权益证明(Proof of Stake) 。
权益证明(Proof of Stake)
面对工作量 证明 的巨大能源需求, 权益 证明(POS)是一种更新的共识机制,可以更有效地挖掘区块。权益证明允许 加密货币 持有者在相关区块 链 上验证新区块。
他们通过抵押他们的 加密货币来 做到这一点。网络用户质押他们的加密货币,如果他们的股份是通过随机算法选择的,他们就有机会验证一个新区块——为此他们将获得更多加密货币形式的奖励。质押的加密货币越多,选择用户验证新区块的机会就越大。
工作证明奖励那些花费最多计算能力来解决密码难题的人,而权益证明奖励那些长期投资加密货币的人。
抽水和倾销(Pump and mp)
抽水和倾销计划涉及对产品的人为刺激,从而导致人们购买并提高其价格。然后,抽水和倾销协调者以高价出售其资产,从而导致价格急剧下跌。
这些存在于传统市场中,但在 加密货币 交易中更为常见,因为微市值加密货币的低流动性使其价格更容易操纵。
地毯拉动(Rug pull)
地毯拉动是指 加密货币 的创造者消失,并带走资金。最近的一个例子是伪造的Squid Game 硬币,尽管这些硬币远非罕见。“地毯”本质上是“骗局”的简写。
中本聪(Satoshi Nakamoto)
比特币 创造者的化名。解释去中心化金融的必要性和解释比特币如何运作的白皮书由中本聪签署,但没有人知道真实的人是谁。据推测,中本聪实际上是几个人。
助记词(Seed Phrase)
当你创建一个 加密货币 钱包时,你会得到一个 12 字的种子短语。每次在新设备上登录钱包时,都需要使用助记词。 永远不要把你的助记词给任何人 。
分片(Sharding)
分片在 区块链上 分配网络负载,允许每秒处理更多事务。这听起来很枯燥,但它非常重要。 以太坊 将在明年整合分片,这将使使用它更便宜,对环境的破坏也更小。
垃圾币(Shitcoin)
Shitcoin 是一种不提供任何效用的 山寨币 ,无论是 memecoin 还是无效的 山寨币 。
丝绸之路(Silk Road)
Silk Road 是一个在线黑市,于 2013 年被 FBI 关闭。这是许多人第一次接触 加密货币的地方 ,因为 比特币 是该网站非法商品的流行支付方式。
智能合约(Smart contract)
智能合约是在满足所需条件时自行执行的数字合约。例如,如果 Wallet X 向 Wallet Y 发送 0.08 ether,Wallet Y 向 Wallet X 发送 NFT Z。它们最常用于自动交易,但也可用于更复杂的用途,例如 快速贷款 。
稳定币(Stable coin)
稳定币是与美元挂钩的加密货币。其中包括 Tether 和 USDC。他们的目的是让 加密货币 交易者将他们的代币保存在加密生态系统中,而不会经历 比特币 和 以太币 价格波动的波动。
质押(Staking)
权益质押是在加密货币钱包中锁定持有资金,从而支持区块链网络运营。从本质上讲,它包括锁定加密货币以获得奖励。在大多数情况下,该流程需要用户使用个人加密钱包参与到区块链活动中。
权益质押的概念与权益证明(PoS)机制密切相关。它被用于许多基于PoS或相类似的其他区块链系统中。
TLT
“think long term”的缩写。
代币(Token)
代币是多种形式的区块链资产。像 比特币 这样的 加密货币 是一种代币。其他类型包括 治理代币 ,它授予持有者在 DAO 或服务中的投票权,或 实用代币 ,其中根据持有的代币数量授予对服务的访问权限。
TXN
交易(transaction)的缩写。
实用代币(Utility Token)
旨在提供某种功能的代币。这些可以是对应用程序、服务或 游戏 的访问。示例包括 Filecoin,它授予对基于区块链的数字存储的访问权限,以及 Link,它连接 了链下 类型数据的智能合约。
虚荣地址(Vanity Address)
由 Ethereum Name Service 等公司提供的个性化钱包地址。它允许您将钱包地址更改为您选择的单词或短语,例如 CNET.eth。
Vaporware
承诺但从未真正进入市场的产品。该术语在 90 年代后期随着最初的互联网繁荣而流行起来,并且由于阴暗的 加密货币 创造者而得到了复兴。
维塔利克·布特林(Vitalik Buterin)
以太坊区块链 背后的创造者。
钱包(Wallet)
加密货币钱包是您可以存储加密货币和 NFT 的地方。这些钱包可以是热钱包或冷钱包——即连接到互联网的浏览器钱包或未连接到互联网的物理硬件。钱包可以读写,这意味着它们可以接收信息,也可以作为签名或在线 ID。
Web 3
Web3 是区块链爱好者想象的互联网的下一次迭代。从互联网发明到 2005 年左右,Web1 是只读互联网。Web2 指的是用户能够制作内容并将其上传到互联网上的出现。Web3 将是一个集成了区块链的互联网。想象一下,将您的社交媒体帖子作为 NFT 拥有,使用像以太币这样的 加密货币 作为通用货币,并将您的钱包作为一种 ID 形式而不是电子邮件/密码组合。
鲸(Whale)
持有大量加密货币的人。
白名单 ( Whitelist)
加密货币 和 NFT 的 预售清单。列入白名单的投资者可以在公开发行前购买资产,有时以折扣价购买。
WAGMI
“we're all going to make it”的缩写。
Ⅵ 什么是区块链技术区块链到底是什么什么叫区块链
1、所谓区块链技术,简称BT(Blockchaintechnology),也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。
用通俗的话阐述:如果我们把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。
2、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技晌散术的新型应用模式。
区块链(Blockchain),是比特币的一个重要概念,镇缺它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
(6)王小云区块链与密码学ppt扩展阅读:
区块宴旅氏链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法。
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。
Ⅶ 区块链密码算法是怎样的
区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的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-bit Wt。其中Wt是分组之后的报文,t=1,2,...,16 。
STEP5:所有的512-bit分组处理完毕后,对于SHA256算法最后一个分组产生的输出便是256-bit的报文。
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-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
Ⅷ 什么是区块链技术区块链到底是什么什么叫区块链
区块链技术是互联网十大典型司法技术应用之一。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新应用模式。
区块链是比特币的一个重要概念。实际上,它是一个分散的数据库。区块链作为比特币的底层技术,是利用密码学方法生成的一系列数据块。每个数据块包含一批比特币网络交易信息,用于验证其信息的有效性(防伪),并生成下一个数据块。
区块链起源于比特币。2008年11月1日,一位自称中本聪(SatoshiNakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统框架概念,标志着比特币的诞生。
(8)王小云区块链与密码学ppt扩展阅读:
区块链的诞生:
2008年由中本聪第一次提出了区块链的概念,随后几年,区块链成为电子货币比特币的核心组成部分:所有交易的公共账户。通过使用点对点网络和分布式时间戳服务器,可以对区块链数据库进行自主管理。
为比特币发明的区块链使其成为第一个解决重复消费问题的数字货币。比特币设计已经成为其他应用的灵感来源。2016年12月20日,数字货币联盟——中国FinTech数字货币联盟及FinTech研究院正式筹建。