![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
区块链技术
文章平均质量分 78
介绍区块链技术原理及应用
奔跑的蜗牛_Kieasar
不要在奋斗的年纪选择安逸
展开
-
区块链的数据结构(一)——区块、链
区块(block)由区块头(block header)和交易列表(transaction list,tx list)组成,block之间通过block header的hash连接成了一个链表结构。最后一个区块是最近产生的区块,每个区块都包含指向前一个区块的哈希指针,最后一个区块也有一个指向它的哈希指针H()保存在系统里。这样做的好处是:我们不光可以找到这个结构体的位置,同时还能够检测出这个结构体的内容有没有被篡改,因为我们保存了他的哈希值。哈希指针是一个可以指向数据存储位置及位置的数据的哈希值的指针。原创 2023-02-27 09:50:56 · 1747 阅读 · 1 评论 -
区块链技术之P2P网络(二)
注意:Gossip 过程是异步的,发消息的节点不会关注对方是否收到,即不等待响应;异步是它的优点,而消息冗余则是它的缺点。需要解决的问题:节点收到新数据后立刻转发给所有Peer,Peer多的情况下会造成瞬间的网络拥堵。需要解决的问题:网络中两个节点同时发出消息,网络中会对这两个消息顺序暂时无法达成一致。需要解决的问题:当一个节点连上足够多的Peer后,就能知晓消息的生产者是哪个Peer。(2)改变消息的终点,例如Nym,异构网络,加入mix节点,即带加密功能的消息池。解决:分批有序进行广播。原创 2022-11-06 11:10:22 · 1567 阅读 · 0 评论 -
区块链技术之P2P网络(一)
与传统的Client-Server网络模式相比,P2P网络所有节点平等,数据互相传输。P2P(英文全称:Peer-to-peernetworking;简称P2P),也称为对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。存储、带宽资源利用率高,比如最早期的BT下载工具。原创 2022-10-17 20:48:50 · 2658 阅读 · 0 评论 -
密码学基础(四)——数据编解码
特别注意的一点是:如果是数据刚好满足数据块长度,也要在元数据后在按PKCS7规则填充一个数据块数据,这样做的目的是为了区分有效数据和补齐数据。此外,在特定的合规要求下,实际业务系统还需要引入更多的数据预处理环节,如数据脱敏、数据认证等,使得数据在进入密码学协议前,尽早降低潜在的隐私风险。其中满足公式成立的点(x,y)都在椭圆曲线上,椭圆曲线密码通过在限定的点集上定义相关的点运算,实现加解密功能。填充规则:需要填充的部分都记录填充的总字节数,任何长度的原始数据,在最后一个数据块中,都要求进行数据填充。原创 2022-10-12 12:46:14 · 938 阅读 · 0 评论 -
密码学基础(三)——数字签名与证书
PKI是一些列协议的统称,例如RSA公司指定的PKCS系列规范标准,互联网规格RFC中也有很多与PKI相关的文档,X.509规范也是PKI的一种。公钥私钥配对,公钥被窃取,他人就可以冒充,如何保证这个公钥在传输过程中没有被截取替代。证明这个公钥的来源,由第三方权威认证机构认证,数字证书其实就是公钥证书,相当于一张身份证明(包含个人信息)。主要元素:用户(使用PKI的人)、认证机构(颁发证书的人,如CA机构)、仓库(保存证书的数据库)数字证书用来证明公钥拥有者的身份,验证数据来源,验证数据是否被修改。原创 2022-10-09 20:48:00 · 1670 阅读 · 0 评论 -
密码学基础(二)——对称与非对称加密
加密时,使用对方的公钥对通讯数据进行加密,对方收到加密信息后,用自己的私钥进行解密,从而获取明文数据信息。借助数学方法可实现类似手写签名的作用,Alice使用自己的私钥对消息进行签名,然后将结果发送给Bob,Bob收到消息以后,使用Alice的公钥验证它。1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。所以D,N代表私钥(由于N是公钥的一部分,所以也可用说D是私钥)原创 2022-10-07 15:49:23 · 989 阅读 · 0 评论 -
密码学基础(一)——哈希算法
由于哈希算法的单向性,可以从前一个数据块原文计算出下一个数据块所用的哈希值输入,但已知一个哈希值输入,难以反推出所有可能的数据块原文。哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局)哈希加“盐”(salt),所谓加“盐”,就是在明文的随机位置加上一串随机的字符串再进行hash,防止彩虹表攻击。加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA。原创 2022-10-06 20:11:20 · 6274 阅读 · 1 评论 -
以太坊(一)——概述
是一个有智能合约功能的公共区块链平台。允许任何人在平台上建立通过区块链技术运行的去中心化应用。就像比特币一样不受任何人控制的开放源项目,但与比特币不同的是,它解决了扩展性不足的问题,它十分灵巧简便,极具适应性。由很多节点组成,每一个节点就是运行以太坊客户端的计算机,每个节点都可以同步全部的账本可以转账和数据存储以太坊是公有链,所有人都可以随意加入和退出全世界计算器联网,每个节点运行一个以太坊客户端,就组成了以太坊网络。原创 2022-10-04 10:12:17 · 1797 阅读 · 0 评论 -
以太坊(二)——账户
合约账户不是通过公私钥对控制的,除了balance(余额)和nonce(交易次数)之外还有code(代码)、storage(相关状态-存储,包括每个状态的取值),一个合约可以调用另外一个合约,所以要通过nonce值记录一下调用的次数,但是合约账户不能主动发起一个交易,以太坊规定,所有的交易只能由外部账户发起,外部账户发起一个交易如果调用了一个合约账户,这个合约账户可以发送一个message调用另外一个合约,但是它不能自己发起一个交易。• 执行代码时可以操作自己的存储空间,也可以调用其它合约。原创 2022-10-03 12:11:23 · 1836 阅读 · 0 评论