当前位置:首页 » 区块链知识 » 敏感数据区块链交易

敏感数据区块链交易

发布时间: 2025-09-09 03:06:51

㈠ 一张图了解什么是区块链(五分钟带你看懂什么是区块链)

简单易懂地介绍什么是区块链

区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

比特币莱特币、普银、以太币等数字加密货币的底层技术都是区块链,他们都只是区块链的一种应用。

什么是区块链?一幅漫画让你看懂(小白必看)

“区块链”一词其实在早期的密码学圈子里,对于比特币的底层技术就是称为“比特币”,英文则用大写的B开头的Bitcoin指比特币这个网络系统或者网络协议。

但是由于大众的混淆,现在一谈起比特币人们就十分抵触,认为比特币就是违法、骗局、传销的代名词,是互联网金融又一个现象级泡沫!于是乎,人们只好将所有的底层技术(时间戳、工作量证明机制等等等)合并起来,为了跟比特币区分,重新取了个名字叫Blockchain,翻译过来就成了“区块链”,这才有了“区块链”一词的出现。

区块链不是一个单一的技术,而是一系列技术的集合。

那区块链到底应该如何理解呢?我们首先用大家都爱谈的恋爱,举个简单的例子。建立一个简单的区块链模型,那么在这个区块链模型里面谈恋爱将会出现一下情况:

未来所有适龄男女恋爱,结婚的承诺全过程都被其他所有适龄男女共识,两个人在一起发生的所有故事就会形成区块。

其他所有男女就是链,如果有第三者来插足或自身违背另一半,其他人都能看到,以后就再也找不到对象了。

区块链准确的说就是“全中心”体系,就是链上的每个节点都是中心。

试婚男女谈恋爱,晒朋友圈,秀恩爱,承诺相爱一生一世并被其他所有适婚男女所知就是区块链的应用。如果有一天某一方违背诺言,不要以为删除照片就有用,因为桩桩件件都被所有适婚男女记录在案。

不可删除,不可更改,这就是区块链技术。

区块链是什么通俗解释,一张图看懂区块链

区块链是什么通俗解释,一张图看懂区块链

区块链是最近一个比较火热的话题,很多人都在讨论区块链的问题,最近国内也有一些公司开始用区块链的技术开发了一些产品,区块链是用于比特币的一种底层技术,这正式因为比特币的大火让很多人关注到了比特币,但有很多人对于区块链是什么还并不了解,下面就给我来解释一下区块链。

比特币是很多人比较关注的数字货币,而比特币的底层技术就是区块链,区块链是一种计算机技术,是一种新型的应用模式。区块链就好比是一个大的数据库账本,在这个大的账本上记录了所有的交易情况,而记录这个账本的人跟传统的记账有很大区别,传统记账通常是由专门的记账方进行操作,例如淘宝、天猫是阿里巴巴进行记账的,微信交易是由腾讯记账的,而区块链是由全民参与记账,每个参与记账的人入手都有一个账本。

举例来给大家说明,例如A想找B借款1万元,B想将钱借给A,但是又担心A借钱后赖账不还,因此在借钱时会找第三方的公证人,由公证人帮忙B将这笔账给记下来,这种就是传统的记账方式,靠第三方来获取信任,记账的账本是在第三方手中的,这种记账方式存在第三方篡改账本的可能性,而去中心话的意思就是在借款时不需要公证人,不需要依靠第三方来获取信任,去中心化的形势就好比B给A借钱时,B拿着大喇叭喊”A找我借了一万元钱,你们帮我记下账“这个时候,大家都会拿着自己手上的账本将这笔账给记录下来,每个人都有一个账本,可以避免账本被篡改的可能。

什么是区块链概念?区块链究竟是什么?三分钟读懂!

2019年10月25日,新闻联播传递出一个非常重要的信号:国家要大力发展区块链。之后,区块链简直就是网红,大街小巷都飘荡着“区块链“的身影。实际上,很多科技企业早已在区块链技术上布局。

尽管说区块链很火,但是很多人对于区块链并不是很了解。

区块链是什么呢?

我们先看一下度娘是怎么解释的。网络显示:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

区块链为什么会被叫做区块链呢?

区块链是由一个个的区块链接而成,而区块是一个一个的存储单元,记录了各区块节点的交流信息,区块很像数据库的记录,每次写入数据,就是创建一个区块。而随着信息交流的扩大,一个区块与一个区块相继续,形成的结果就叫区块链。

区块链的特点有哪些呢?

区块链主要有以下几个方面的特点:

1、去中心化:在区块链的系统中,每一个节点都有同等的权利和义务,这里没有中心管制。去中心化很好的建立了彼此之前的信任联系,尽管没有一个中央管理机构,但是人们之间可以相互协作相互信任。这主要应用了区块链分布式账本技术。

2、开放性:区块链的数据对所有的人是开放的,除了一些加密的信息不被开放之外,所有人都可以在这里查到数据。

3、独立性:整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。

4、安全性:区块链具有一定的安全性,不可篡改性。因为区块链系统中大家手里都是一样的账本,如果有人想篡改的话,那么只有在控制了超过51%的记账节点,才有可能伪造出一条不存在的记录。当然了,这基本上是不可能的。这主要是源于区块链的核心技术:共识机制,共识机制具备“少数服从多数”以及“人人平等”的特点。

5、匿名性:很多人觉得区块链这么开放,这么透明,是不是我们就没有隐私了?其实不是,虽然说在区块链中的交易信息是公开透明的,但是账户的身份信息是被进行加密的,只有得到了授权,才能访问。

现在给大家讲一个故事,帮助大家更好的理解区块链。

家里一共三口人,爸爸妈妈和哥哥弟弟。去年的时候,家里的账本是由爸爸来负责的,家里所有的进账以及支出都是爸爸一个人在负责。

然而双十一那天,一向节俭的妈妈想在某宝上给自己买一件漂亮的衣衣,一查账本,发现不对劲儿。按理说除了存银行和理财的一些钱,家里的日常消费的的钱的去向都在这个账本上,但是怎么看怎么都不对。有的消费明明没有,却被记录在内。

后来,爸爸主动招供,说是自己忍不住买了一包烟。

后来妈妈改了策略,全家人都记账,每个月的消费支出大家都记在自己的账本上。每当家里产生了一笔交易或者消费的时候,妈妈都会喊一声,记账啦,大家就都把交易记载自己的账本上。这就是去中心化记账模式,人人都是中心,人人手里都有账本。

而之前的爸爸记账模式就是中心化记账,如果爸爸一个人想做手脚,很难有人看得出来,而去中心化记账模式很好的解决了中心化记账的弊端,如果爸爸想篡改账本的话,非常难。

比如说,爸爸如果想从账本里拿点儿钱再偷偷买烟的话,钱的数量是有限的,而想拿钱就得改改账本,但是光篡改自己的账本是不行的,他得把包含他在内的三个人的账本都改掉。而这无疑是比登天还难。

所以,很多次爸爸动了抽烟的念头之后,但是无奈现状如此,只得放弃这个念头。

区块链和比特币是不是一回事儿呢?

实际上,区块链和比特币并不是一回事儿,它只是比特币的底层技术,比特币是区块链第一个应用的数字货币而已。

2008年中本聪第一次提出了区块链的概念,随后几年,成为了电子货币比特币的核心组成部分,作为所有交易的公共账簿。而区块链首先被应用于比特币。

区块链的缘起是解决信任问题,而且,区块链最成功的一个应用是数字货币。比特币可以说是到目前为止区块链最成功的一个应用。

区块链的应用有哪些?

区块链的应用其实很广泛,除了数字货币,比特币未来的应用还是非常广泛的,区块链技术目前已在不同行业得到了广泛的应用。如商品溯源、版权保护与交易、支付清算、物联网、数字营销、医疗等,推动不同行业快速进入“区块链+”时代。

1、支付清算:区块链可摒弃中转银行的角色,实现点到点支付,减少中转费用,加速资金利用率。

2、商品追溯:比如我们在某宝上买一件衣服,我们可以看到这件衣服的前世今生。

3、证券交易:传统的证券交易需要经过四大机构协调工作,效率低、成本高。区块链技术可独立地完成一条龙式服务。

4、供应链:将区块链技术引入供应链系统,系统内部同步信息、可做到对各个环节把控,更好的完成分工协作,便于事后追责。

5、知识产权:版权上链,我们的摄影作品、音乐作品、文学作品等都会成为我们的信息,信息所有权将得以确认,成为我们的财产。

漫画图解什么是区块链

漫画图解:什么是区块链

什么是区块链?

区块链,英文Blockchain,本质上是一种去中心化的分布式数据库。任何人只要架设自己的服务器,接入区块链网络,都可以成为这个庞大网络的一个节点。

区块链既然本质是数据库,里面究竟存储了什么东西呢?让我们来了解一下区块链的基本单元:区块(Block)。

一个区块分为两大部分:

1.区块头

区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash),以及时间戳(TimeStamp)等等。

2.区块体

区块体存储着这个区块的详细数据(Data),这个数据包含若干行记录,可以是交易信息,也可以是其他某种信息。

刚才提及的哈希值又是什么意思呢?

想必大家都听说过MD5,MD5就是典型的哈希算法,可以把一串任意长度的明文转化成一串固定长度(128bit)的字符串,这个字符串就是哈希值。

而在我们的区块链中,采用的是一种更为复杂的哈希算法,叫做SHA256。最新的数据信息(比如交易记录)经过一系列复杂的计算,最终会通过这个哈希算法转化成了长度为256bit的哈希值字符串,也就是区块头当中的Hash,格式如下:

区块与Hash是一一对应的,Hash可以当做是区块的唯一标识。

不同的区块之间是如何进行关联的呢?依靠Hash和PreHash来关联。每一个区块的PreHash和前一个区块的Hash值是相等的。

为什么要计算区块的哈希值呢?

既然区块链是一个链状结构,就必然存在链条的头节点(第一个区块)和尾节点(最后一个区块)。一旦有人计算出区块链最新数据信息的哈希值,相当于对最新的交易记录进行打包,新的区块会被创建出来,衔接在区块链的末尾。

新区块头的Hash就是刚刚计算出的哈希值,PreHash等于上一个区块的Hash。区块体的Data存储的是打包前的交易记录,这部分数据信息已经变得不可修改。

这个计算Hash值,创建新区块的过程就叫做挖矿

用于进行海量计算的服务器,叫做矿机

操作计算的工作人员,叫做矿工。

计算哈希值究竟难在哪里?咱们来做一个最粗浅的解释,哈希值计算的公式如下:

Hash=SHA-256(最后一个区块的Hash+新区块基本信息+交易记录信息+随机数)

其中,交易记录信息也是一串哈希值,它的计算涉及到一个数据结构MerkleTree。有兴趣的小伙伴可以查阅相关资料,我们暂时不做展开介绍。

这里关键的计算难点在于随机数的生成。猥琐的区块链发明者为了增大Hash的计算难度,要求Hash结果的前72bit必须都是0,这个几率实在是太小太小。

由于(最后一个区块的Hash+新区块基本信息+交易记录信息)是固定的,所以能否获得符合要求的Hash,完全取决于随机数的值。挖矿者必须经过海量计算,反复生成随机数进行“撞大运”一般的尝试,才有可能得到正确的Hash,从而挖矿成功。

同时,区块头内还包含着一个动态的难度系数,当全世界的硬件计算能力越来越快的时候,区块链的难度系数也会水涨船高,使得全网平均每10分钟才能产生出一个新区块。

小伙伴们明白挖矿有多么难了吧?需要补充的是,不同的区块链应用在细节上是不同的,这里所描述的挖矿规则是以比特币为例。

区块链的应用

比特币(BitCoin)的概念最初由中本聪于2008年提出,而后根据这一思路设计发布了开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。

什么是P2P网络呢?

传统的货币都是由中央银行统一发行,所有的个人储蓄也是由银行统一管理,这是典型的中心化系统。

而比特币则是部署在一个全世界众多对等节点组成的去中心化网络之上。每一个节点都有资格对这种数字货币进行记录和发行。

至于比特币底层的数据存储,正是基于了区块链技术。比特币的每一笔交易,都对应了区块体数据中的一行,简单的示意如下:

交易记录的每一行都包含时间戳、交易明细、数字签名。

表格中只是为了方便理解。实际存储的交易明细是匿名的,只会记录支付方和收款方的钱包地址。

至于数字签名呢,可以理解为每一条单笔交易的防伪标识,由非对称加密算法所生成。

接下来说一说比特币矿工的奖励:

比特币协议规定,挖到新区块的矿工将获得奖励,从2008年起是50个比特币,然后每4年减半,目前2018年是12.5个比特币。流通中新增的比特币都是这样诞生的,也难怪大家对挖掘比特币的工作如此趋之若鹜!

区块链的优势和劣势

区块链的优势:

1.去中心化

区块链不依赖于某个中心节点,整个系统的数据由全网所有对等节点共同维护,都可以进行数据的存储和检验。这样一来,除非攻击者黑掉全网半数以上的节点,否则整个系统是不会遭到破坏的。

2.信息不可篡改

区块内的数据是无法被篡改的。一旦数据遭到篡改哪怕一丁点,整个区块对应的哈希值就会随之改变,不再是一个有效的哈希值,后面链接的区块也会随之断裂。

区块链的劣势:

1.过度消耗能源

想要生成一个新的区块,必须要大量服务器资源进行大量无谓的尝试性计算,严重耗费电能。

2.信息的网络延迟

以比特币为例,任何一笔交易数据都需要同步到其他所有节点,同步过程中难免会受到网络传输延迟的影响,带来较长的耗时。

几点补充:

1.本漫画部分内容参考了阮一峰的博文《区块链入门教程》,感谢这位大神的科普。

2.由于篇幅有限,关于MerkleTree和非对称加密的知识暂时没有展开细讲,有兴趣的小伙伴们可以查阅资料进行更深一步的学习。

㈡ 区块链是什么意思   区块链的应用场景有哪些

区块链是一种难以篡改和造假的分布式账本系统,其应用场景广泛

区块链的定义:- 狭义上:区块链是按照时间顺序将数据块以链条的方式组合成特定的数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。- 广义上:区块链技术运用数据块构造来验证和存储信息,利用分布式节点的共识算法来创建和更新数据,同时采用密码学手段确保数据传输和访问的安全性。此外,它还可以结合智能合约(由自动化脚本代码构成)来编写和使用数据,形成一种新的分布式基础设施和计算范式。

区块链的应用场景:- 虚拟货币:区块链技术是比特币等加密货币的基础,用于记录交易历史、验证交易的有效性和确保货币的安全转移。- 大宗商品交易清算:区块链技术可以提高大宗商品交易的透明度和效率,降低交易成本,同时确保交易的不可篡改性。- 数据政府事务:政府可以利用区块链技术来存储和共享敏感数据,同时确保数据的安全性和隐私性。这有助于提升政府服务的透明度和效率。- 验证防伪标识:区块链技术可以用于创建和管理数字身份和防伪标识,确保信息的真实性和可信度。这在知识产权保护、商品溯源等领域具有广泛应用。- 网络服务:区块链技术还可以用于构建去中心化的网络应用和服务,如去中心化金融(DeFi)、去中心化社交等,这些应用和服务具有更高的安全性和隐私保护水平。

㈢ 区块链如何加密数据(区块链如何加密数据)

区块链以什么方式保证网络中数据的安全性

区块链保证网络中数据的安全性的方式:

在区块链技术中,数字加密技术是其关键之处,一般运用的是非对称加密算法,即加密时的密码与解锁时的密码是不一样的。简单来说,就是我们有专属的私钥,只要把自己的私钥保护好,把公钥给对方,对方用公钥加密文件生成密文,再将密文传给你,我们再用私钥解密得到明文,就能够保障传输内容不被别人看到,这样子,加密数据就传输完毕啦!

同时,还有数字签名为我们加多一重保障,用来证明文件发给对方过程中没有被篡改。由此可见区块链的加密技术能够有效解决数据流通共享过程中的安全问题,可谓是大有施展之处。

区块链的密码技术有

密码学技术是区块链技术的核心。区块链的密码技术有数字签名算法和哈希算法。

数字签名算法

数字签名算法是数字签名标准的一个子集,表示了只用作数字签名的一个特定的公钥算法。密钥运行在由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所示,为比特币从公钥生成地址的流程。

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

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

在学习的过程中主要是采用单个模块了学习了解的,包括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-.其模型如下:

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

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

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

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

区块链技术如何保障信息主体隐私和权益

隐私保护手段可以分为三类:

一是对交易信息的隐私保护,对交易的发送者、交易接受者以及交易金额的隐私保护,有混币、环签名和机密交易等。

二是对智能合约的隐私保护,针对合约数据的保护方案,包含零知识证明、多方安全计算、同态加密等。

三是对链上数据的隐私保护,主要有账本隔离、私有数据和数据加密授权访问等解决方案。

拓展资料:

一、区块链加密算法隔离身份信息与交易数据

1、区块链上的交易数据,包括交易地址、金额、交易时间等,都公开透明可查询。但是,交易地址对应的所用户身份,是匿名的。通过区块链加密算法,实现用户身份和用户交易数据的分离。在数据保存到区块链上之前,可以将用户的身份信息进行哈希计算,得到的哈希值作为该用户的唯一标识,链上保存用户的哈希值而非真实身份数据信息,用户的交易数据和哈希值进行捆绑,而不是和用户身份信息进行捆绑。

2、由此,用户产生的数据是真实的,而使用这些数据做研究、分析时,由于区块链的不可逆性,所有人不能通过哈希值还原注册用户的姓名、电话、邮箱等隐私数据,起到了保护隐私的作用。

二、区块链“加密存储+分布式存储”

加密存储,意味着访问数据必须提供私钥,相比于普通密码,私钥的安全性更高,几乎无法被暴力破解。分布式存储,去中心化的特性在一定程度上降低了数据全部被泄漏的风险,而中心化的数据库存储,一旦数据库被黑客攻击入侵,数据很容易被全部盗走。通过“加密存储+分布式存储”能够更好地保护用户的数据隐私。

三、区块链共识机制预防个体风险

共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保障最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉,可以抵御恶意攻击。区块链的价值之一在于对数据的共识治理,即所有用户对于上链的数据拥有平等的管理权限,因此首先从操作上杜绝了个体犯错的风险。通过区块链的全网共识解决数据去中心化,并且可以利用零知识证明解决验证的问题,实现在公开的去中心化系统中使用用户隐私数据的场景,在满足互联网平台需求的同时,也使部分数据仍然只掌握在用户手中。

四、区块链零知识证明

零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,即证明者既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界的“知识”为“零”。应用零知识证明技术,可以在密文情况下实现数据的关联关系验证,在保障数据隐私的同时实现数据共享。

㈣ 一文说清区块链的“链上”和“链下” | 区块链


区块链的“链上”与“链下”概念深入解析:



  • 链上:区块链的核心概念,数据链和节点链构成。数据链用于存储和验证,通过共识算法确保数据一致性,节点链则连接多个节点共享信息。交易一旦“上链”,即达成分布式、不可篡改的执行。

  • 上链:交易、数据和逻辑需满足共识和存储条件,如完整执行、多方认可和存储。非全局性、无需共识的数据和计算在“链下”处理。

  • 链下:包括链上不直接相关的业务服务,如文件存储、复杂计算和隐私敏感数据。这些服务不直接参与共识,但可能通过链上接口进行交互。

  • 链上链下协作:区块链应用通常结合链上和链下,形成混合架构,以平衡性能、成本和隐私。


在实际操作中,例如:



  • 文件上链:一般只存储文件摘要而非文件本身,通过验证数字指纹确保文件的完整性和可信性。

  • 数据查询分析:复杂查询在链下处理,利用链外数据库进行高效分析。

  • 逻辑复杂性:智能合约设计要精简,避免不必要的全网共识,如密集计算可放链下。

  • 即时消息:结合链下通道提供快速响应,减少链上交互的延时。


总的来说,区块链的运用在于利用其优势(如可信性和不可篡改性)同时,灵活地结合其他技术,实现业务的无缝协作和数据安全。


热点内容
三点钟区块链怎么进 发布:2025-09-09 09:05:04 浏览:278
海南自贸易区块链货币 发布:2025-09-09 08:57:39 浏览:492
trx设置与固定 发布:2025-09-09 08:55:08 浏览:782
eth最低gas费转账多久 发布:2025-09-09 08:52:02 浏览:835
请保姆还是去月子中心好 发布:2025-09-09 08:39:49 浏览:329
第二届区块链游戏峰会 发布:2025-09-09 08:38:04 浏览:580
trx安装流程 发布:2025-09-09 08:33:40 浏览:862
btc交易哈希值 发布:2025-09-09 08:33:25 浏览:890
trx开发c 发布:2025-09-09 08:16:53 浏览:79
为什么比特币价格猛涨 发布:2025-09-09 07:56:00 浏览:977