本文讲的是区块链交易信息的高加密和区块链加密的相应知识点,致力于为用户带来全面可靠的币圈信息,希望对你有所帮助!
区块链的三大特点
与传统的集中式方案相比区块链技术主要有以下三个特点:
1。区块链的核心思想是去中心化
在区块链体系中,任何一个节点的权利和义务都是平等的,所有节点都有能力用计算能力投票。因此,保证了识别结果被超过一半的节点识别。即使受到严重的黑客攻击,只要黑客控制的节点数量不超过全球节点总数的一半,系统仍然可以正常运行,数据不会被篡改。
2。区块链最大的颠覆在于信用的建立
理论上,区块链技术可以让微信支付和支付宝不再有价值。《经济学人》对区块链做了一个形象的比喻:简而言之,它是"创造信任的机器"。区块链允许人们在没有相互信任和中立的中心组织的情况下相互合作。未来不需要打击假币和金融诈骗。
3。区块链的集中维护可以降低成本
在集中式网络系统下,系统的维护和运营依赖于数据中心等平台的运营和运行,成本不可忽略。任何人都可以参与区块链的节点。每个节点在参与记录的同时还可以验证其他节点记录结果的正确性,提高了维护效率,降低了成本。
总之,《区块链》触及了金钱、信任和权力,这些都是人类生存的根本基础。
区块链的价值源泉是效率。区块链在降低信任成本、提高价值传递效率的同时,也带来了额外的成本。区块链效率的价值应该从几个方面综合考虑。
效率提升的表现之一就是区块链在降低信任成本方面有很大优势。英国《经济学人》杂志称,区块链是信任的机器,陌生人之间建立信任的成本接近于零。。主要包括:区块链降低了搜索成本,重复验证的成本,基于区块链技术的智能合同大大降低了合同签订、管理和支付成本。例如,2018年,麦肯锡测量了90多个区块链应用程序。应用70%的潜在价值在于降低成本,包括取消中间商,取消交易记录保存,检查流程等等。
效率提升的第二个表现是,区块链通过重新定义价值,让价值点对点的快速转移,让价值流动成为可能。。传统的互联网可以通过复制信息快速方便地传播信息,但互联网可以';不能解决账簿变更和确认的问题,不能';t进行点对点的价值转移,所以必须依靠第三方机构记账来实现价值转移。分布式账本技术和区块链的共识机制,这样就可以先在参与者之间确认价值,在整个点对点转移的过程中,所有参与者可以同步更新账本,并添加唯一的时间戳,避免了重复支付的问题,使得价值的点对点转移成为可能。
但是另一方面,与集中式数据库相比,区块链的分布式账本技术有许多低效的特点。主要包括信息吞吐量低、交易确认延迟时间长、区块链容量有限、POW(工作负载一致性算法)能耗高、区块链上行信息不可修改、数据回滚困难等。
所以,判断一个区块链应用是否能提高效率,既要做加法,也要做减法。区块链并不适合所有场景,更适合信任成本高的行业或场景。区块链的价值源泉是公平。第一区块链带来的公平在于数据所有权和使用权的重新分配。在传统的互联网平台模式下,很多互联网巨头的数据,无论是个人还是企业,其所有权和使用权往往不再由数据所有者决定。区块链技术引进后,区块链上的交易信息是公开的,但账户身份信息会被高度加密,只有通过数据所有者的授权才能访问。数据所有者真正拥有使用数据的权利。区块链把以前的数字资源变成数字资产,成为产权。区块链让数据市场"谁拥有和受益;合理的"谁使用谁付费"已经成立。
其次,区块链使得参与区块链的个人用户可以表达自己。权力下放、自治、开放和透明是区块链的基本逻辑。尤其在公链项目中,每个个体都是一个节点。通过参与社区治理,每个节点都可以发表自己的意见,输出自己的影响力。
一、去中心化。
区块链技术不依赖额外的第三方管理机构或硬件设施,没有中央控制。除了自成一体的区块链本身,各个节点通过分布式的计费和存储实现信息的自校验、传输和管理。
第二,开放性。
区块链的技术基础是开源。除了交易各方的私密信息被加密,区块链的数据对所有人开放,任何人都可以通过开放的接口查询区块链数据,开发相关应用,因此整个系统信息高度透明。
第三,独立性。
基于约定的规范和协议(类似于比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖于其他第三方,所有节点都可以在系统中自动安全地验证和交换数据,无需任何人为干预。
第四,安全。
只要能';t控制所有数据节点的51%,你可以';不会随意操纵和修改网络数据,这使得区块链本身相对安全,避免了主观和人为的数据更改。
5。匿名。
除非有法律要求,从技术上讲,每个块节点的身份信息不需要公开或验证,信息传输可以匿名进行。
扩展数据:
1。什么是区块链?一句话总结。
答:区块链是一种加密的数据库链,即多个时间戳/事件中的交易数据被加密链接在一起,数据不可篡改,可以共享。
2。表达式和逻辑:
a.对外操作形式:银行存取款、汇款、账户出入、购物等。
b.内部逻辑处理(软件程序):经过人工操作后,将数据加密后存入数据库,通过程序将数据划分区域。例如,根据事件,时间戳中发生的数据被分类并一起放入一个区域。时间戳内发生的多个事件和数据的关联是区块链。这种加密数据可以共享,但不能被篡改。
c.分享形式:查询个人信息、查账等。。查询权限/共享权限:不同的权限可以查询不同的数据。比如银行可以查询车主信息,个人只能查询个人。
3。引用的例子大多不同,但逻辑处理思路相同,只是实现方法和操作不同。
4。区块链:具有数据加密、数据防篡改、数据共享的特点。
5。区块链技术:即利用编辑好的程序对数据进行加密、分区和共享的技术。
开放性和共识性,任何人都可以加入区块链网络。每个设备都可以用作一个节点,每个节点都可以获得数据库的完整副本。基于共识机制,节点通过竞争计算共同维护整个区块链。
分散和不信任机制区块链由许多节点组成,形成一个对等网络。没有集中的设备和管理机构。节点之间的数据交互通过数字签名技术进行验证,没有信任,只是按照设定的规则进行。不存在节点之间欺骗和不信任的问题。
交易是透明的,交易双方是匿名的,区块链的运行规则是公开透明的,所有数据信息也是公开的,每一笔交易对所有节点都是公开可见的。因为节点是不可信的,所以节点不需要公开它们的身份,并且每个参与节点是匿名的。
不可篡改,可追溯。单个节点甚至多个节点对数据库的修改不会影响其他节点的数据库。区块链的每一笔交易都是通过密码术与两个相邻的街区串联起来的,所以每一笔交易的所有记录都是可以追溯的。
?让';先放一张以太坊的图:
?在学习的过程中,我们主要是用单一的模块来学习和理解,包括P2P、密码学、网络、协议等等。直接开始总结:
??密钥分发问题也是密钥传输问题。如果密钥是对称的,那么密钥只能离线交换。如果密钥在线传输,可能会被截获。所以我们使用非对称加密,两个密钥,一个私钥给自己。,一个公钥。公钥可以在互联网上传输。没有线下交易。确保数据的安全性。
?如上图,节点A向节点B发送数据,此时采用公钥加密。节点A获得节点B';的公钥来加密明文数据。,得到密文并发送给nodeB,nodeB用自己的私钥解密。
?2.消息篡改无法解决。
?如上所示,节点A使用B';的公钥进行加密,然后将密文传输到节点b。。节点b用节点a的公钥解密密文
?1.自从一';的公钥是公开的,一旦网络黑客截获消息,密文就没用了。说白了,这种加密方式只要截获消息就能解锁。
?2.还有就是消息来源无法确定的问题,消息篡改的问题。
?如上图所示,发送数据前,节点A用B'加密;的公钥得到密文1,然后用一个';的私钥来获得密文2。。节点B得到密文后,用A的公钥解密得到密文1,再用B的私钥解密得到明文。
?1.当数据密文2在网络上被截获时,因为A'的公钥是公开的,它可以用来解密密文2。,你得到密文1。所以看起来是双重加密,但是最后一层的私钥签名是无效的。一般来说,我们都希望签名签在最原始的资料上。如果把签名放在后面,因为公钥是公开的,签名缺乏安全性。
?2.有性能问题,非对称加密本身效率很低,加密过程进行了两次。
?如上所示,节点A首先用A的私钥加密,然后用b的公钥加密。节点b收到消息后,,首先使用B';的私钥进行解密,然后用一个';要解密的公钥。
?1.当密文数据2被黑客截获时,因为密文2只能被B'解密;的私钥,和B';的私钥只有nodeB拥有,其他人可以';不要保守秘密。所以安全性最高。
?2.当节点B解密得到密文1时,只有A的公钥可以用来解密。只有被加密的数据才被A'的私钥可以被一个';的公钥和一个';的私钥仅由一个节点拥有,因此可以确定数据是由一个节点传输的。
?经过两次非对称加密后,性能问题更加严重。
?基于上述篡改数据的问题,我们引入消息认证。消息认证后的加密过程如下:
?在节点A发送消息之前,明文数据被散列一次。得到一个汇总,然后和原始数据同时发送给nodeB。当节点B接收到消息时,它解密该消息。解析哈希摘要和原始数据。,然后对原始数据再次进行相同的哈希计算得到摘要1,并与摘要1进行比较。如果是一样的,说明没有被篡改;如果不一样,说明被篡改了。
?在传输过程中,只要密文2被篡改。产生的哈希和哈希1将是不同的。
?无法解决签名问题,就是双方互相攻击。a总是否认他发出的信息。比如A给B发错误信息,导致B亏损。。但是否认并没有';不要单独发送。
?在(3)的过程中,没有办法解决双方的相互攻击。你什么意思?可能是因为A发的消息对节点A不利,后来A否认没有发消息。
?为了解决这个问题,引入了签名。这里,我们将(2)-4中的加密方法与消息签名相结合。
?上图中。我们用节点A的私钥对它发送的摘要信息进行签名,然后对原文进行签名,再用节点B的公钥进行加密.得到密文后,B用B'解密;的私钥,然后用一个';的公钥,只有通过比较两个摘要的内容是否相同。。这样既避免了防篡改问题,又避免了来自两边的攻击。因为A签署了信息,它可以';不可否认。
?为了解决非对称加密数据的性能问题,常采用混合加密。这里我们需要引入对称加密。,如下图:
?当我们加密数据时,我们使用双方共享的对称密钥进行加密。对称密钥尽量不要在网络上传输,以免丢失。这里的共享对称密钥是根据自己的私钥和对方计算的';的公钥。,然后用对称密钥加密数据。当另一方收到数据时,它也计算对称密钥并解密密文。
?上面的对称密钥是不安全的,因为A的私钥和B的公钥一般在很短的时间内是固定的。所以共享对称密钥也是固定的。为了增强安全性,最好的方法是为每次交互生成一个临时共享对称密钥。那么如何在每次交互中生成一个随机的对称密钥而不传输呢?
?那么如何生成一个随机的共享密钥进行加密呢?
?对于发送方节点A,每次发送时都会生成一个临时非对称密钥对。然后,根据节点B的公钥和临时非对称私钥,可以计算出一个对称密钥(KA算法-密钥协商)。然后使用对称密钥加密数据。对于共享密钥,这里的流程如下:
?对于节点B,当接收到传输的数据时,解析出节点A的随机公钥,然后利用节点A的随机公钥和节点B的私钥计算出对称密钥(KA算法).然后使用对称密钥对数据进行加密。
?对于上述加密方法,还存在很多问题,比如如何避免重放攻击(在消息中加入Nonce)和彩虹表(参考KDF机制)。由于时间和能力有限,暂时忽略。
?那么我们应该使用什么样的加密方法呢?
?主要基于要传输的数据的安全级别。事实上,不重要的数据可以被认证和签名。但是,非常重要的数据需要以更高的安全级别进行加密。
?密码系统是网络协议的一个概念。主要包括身份认证、加密、消息认证(MAC)和密钥交换算法。
?在全网传输过程中,根据密码套件,主要有以下几类算法:
?密钥交换算法:如ECDHE,RSA。主要用于客户端和服务器握手时的认证。
?消息认证算法:如SHA1、SHA2和SHA3。主要用于消息摘要。
?批量加密算法:比如AES,主要用来加密信息流。
?伪随机数算法:比如TLS1.2的伪随机函数,利用MAC算法的哈希函数,创建一个主密钥——和一个双方共享的48字节私钥。。当创建会话密钥(例如,创建MAC)时,主密钥充当熵源。
?在网络中,一条消息的传输一般需要在以下四个阶段进行加密,以保证消息的安全可靠传输。
?握手/网络协商阶段:
?在握手阶段,双方需要协商链接。主要的加密算法有RSA,DH和ECDH
。?认证阶段:
?在身份验证阶段,有必要确定发送消息的来源。主要的加密方法有RSA,DSA,ECDSA(ECC加密,DSA签名)等。
?消息加密阶段:
?消息加密是指对发送的信息流进行加密。主要的加密方法包括DES、RC4和AES。
?消息认证阶段/防篡改阶段:
?主要是为了确保消息在传输过程中没有被篡改。主要的加密方法包括MD5、SHA1、SHA2、SHA3等。
?椭圆曲线密码,椭圆曲线密码。它是根据椭圆上的点的乘积来生成公钥和私钥的算法。用于生成公钥和私钥。
?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?椭圆曲线密码的缩写。那么什么是椭圆加密曲线呢??WolframMathWorld给出了一个非常标准的定义:一条椭圆曲线就是一套被子?定义和满足?的点集。
这个前提条件是确保曲线不包含奇点。
因此,随着曲线参数A和B的不断变化,曲线也呈现出不同的形状。比如:
?非对称加密的所有基本原理基本上都是基于一个公式k=k*g.其中k代表公钥,k代表私钥。g代表选定的基点。非对称加密的算法就是保证这个公式?你可以';t做逆运算(也就是G/K可以';不可计算)。
?ECC如何计算公钥和私钥??这里我根据自己的理解描述一下。
?我理解ECC的核心思想是在曲线上选择一个基点G,然后在ECC曲线上随机选择一个点K(作为私钥),然后根据K*G计算出我们的公钥K。。并确保公钥k也在曲线上。
?那么如何计算k*G呢?如何计算k*G才能保证最终结果不可逆?这就是ECC算法要解决的问题。
?第一让';s随机选择一条ECC曲线,a=-3,b=7,得到如下曲线:
?在这条曲线上,我随机选择两个点。这两点相乘怎么算?我们可以简化这个问题。乘法可以用加法来表示,比如2*2=2^2,3*5=5^5。那么只要能算出曲线上的加法,理论上就能算出乘法。所以只要在这条曲线上可以计算加法,理论上就可以计算乘法。理论上可以算出表达式k*g的值
?曲线上加两个点怎么样?这里为了保证不可逆,ECC定制了曲线上的加法系统。
?实际上11=2,22=4,但是在ECC算法中,我们理解的这个加法系统是不可能的。所以需要定制一套适合这条曲线的加法系统。
?ECC定义,在图中随机找一条直线。,与ECC曲线相交于三个点(也可能是两个点),分别是P、Q和R。
?那么PQR=0。其中0不是坐标轴上的一个点,而是ECC中的一个无穷远的点。。也就是说,无穷远点定义为0点。
?同样,我们可以得到PQ=-Rr,由于R和-R是关于X轴对称的,所以我们可以求出它们在曲线上的坐标。
?PRQ=0,所以PR=-Q,如上图。
以上描述了在ECC曲线世界中如何执行加法运算。
?从上图可以看出直线和曲线只有两个交点,也就是说直线就是曲线的切线。在这一点上,p和r重合。
?也就是说,根据上述ECC加法系统,P=R。,PRQ=0,可以得到PRQ=2PQ=2RQ=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年1月1日0:00:00为起点,如果我们告诉你,从起点算起已经过去了整整一年。然后我们就可以计算出出现的时间,也就是我们可以将时针、分针、秒针指向手表上的00:00:00。但另一方面,我说我手表上的时针现在指向00:00:00。你能告诉我从起点到现在已经过去多少年了吗?
?ECDSA签名算法与其他DSA和RSA基本相似,都采用私钥签名和公钥验证。只是算法系统采用了ECC算法。交互的双方应该采用同一套参数系统。签名的原理如下:
?选择曲线上的一个无穷远点作为基点?G=(x,y).随机取曲线上的一点K作为私钥,K=k*G计算公钥。
?签名流程:
?生成随机数r,计算RG。
?根据随机数R、消息M的哈希值H和私钥K,计算签名S=(Hkx)/R
。?向接收者发送消息M、RG、S。
?签名验证流程:
?消息M,RG,S
已收到。?根据消息计算哈希值H
?据寄件人';S公钥K,计算HG/SxK/S,并将计算结果与RG进行比较。如果它们相等,则验证成功。
?公式推论:
?HG/SxK/S=HG/Sx(kG)/S=(HxK)/GS=RG
?在介绍原理之前,先说明ECC满足结合律和交换律,即ABC=ABC=(AC)B.
?下面是WIKI上的一个例子,说明如何生成共享密钥,也可以作为参考。爱丽丝和鲍勃?的例子。
?爱丽丝和鲍勃将要交流。双方的前提是ECC基于相同的参数体系生成的公钥和私钥。所以所有ECC都有一个公共基点g.
?密钥生成阶段:
?Alice使用公钥算法ka=ka*G生成公钥KA和私钥KA,并将公钥KA公之于众。
?Bob使用公钥算法KB=KB*G。,生成公钥kb和私钥KB,并将公钥KB公开。
?计算ECDH阶段:
?爱丽丝用公式Q=ka*KB?计算一个密钥q.
?鲍勃使用公式Q'=kb*KA来计算密钥Q'。
?共享秘钥验证:
?Q=ka?KB=KA*KB*G=KA*G*KB=KA*KB=KB*KA=Q';
?因此,双方计算的共享密钥可以被Q加密而不被泄露。我们称q为共享密钥。
?以太坊采用的ECIEC加密套件中的其他内容:
?1.哈希算法中使用了最安全的SHA3算法Keccak。
?2.签名算法是ECDSA
。?3.认证方式是什么?H-MAC
?4.ECC的参数系统采用secp256k1。其他参数系统参见此处
?ThewholeprocessofH-MACiscalledhash-basedmessageverificationcode.Itsmodelisasfollows:
在以太坊的UDP通信中(RPC通信的加密方式不同),采用并扩展了上述实现方式。
首先以太坊的UDP通信结构如下:
?在…之中,sig是用私钥加密的签名信息。Mac可以理解为整个报文的总结,ptype是报文的事件类型,data是RLP编码的传输数据。
?UDP的整体加密和认证。签名模型如下:
盗币和攻击对于交易所来说应该是一个令人头疼且难以避免的问题。大型交易所一般会组建自己的技术团队开发交易支付系统,中小型交易所可以与第三方技术服务商对接,因此研发和运营成本相对较低。
我熟悉的交易所使用的是货币支付的企业版,这是一种数字资产的安全支付系统。总的原理是将私钥保存在本地,用多重加密绑定交易所的唯一客户端,系统本身不保存私钥,从源头上杜绝了数字货币被盗的可能。。操作也方便,多链多币种统一管理,对账方便。
望采纳。
都看过了吗?相信现在你对区块链交易信息的高度加密已经有了初步的了解!你也可以收集网页,以获得更多的区块链加密知识。