区块链技术简介
- 前言
- 一、区块链技术简介
- 二、区块链的特点
- 1.去中心化
- 2.去信任
- 3.不可篡改和伪造
- 4.可溯源
- 5.匿名性
- 三、区块链用到的技术
- 1.非对称密码算法
- 2.哈希函数
- 3.P2P网络
- 4.安全多方计算
前言
比特币与区块链的关系:
2008年中本聪(Satoshi Nakamoto)在P2P foundation网站上发布了论文《比特币:一种点对点的电子现金系统》。随后比特币出现在人们的视野中。和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币。比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造。
比特币的底层技术是区块链技术。比特币通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题。区块链技术实现了挖矿与交易。比特币是基于区块链的一种产品表现。
一、区块链技术简介
上图来自于《高博士区块链观察》
上面这张图可以理解为一个区块链系统。
区块链系统中的每一个节点相当于一个单独的计算机。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。
区块相当于计算机中的存储空间,在区块中存储了一段时间内的交易记录。区块和区块之间通过时间戳和哈希函数来保证节点上存储的数据不可篡改性。
区块链是一个分布式的链接账本。
区块链中的分布式存储是参与的节点各自都有独立的、完整的数据存储。
二、区块链的特点
1.去中心化
区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制。任一节点停止工作都不会影响系统的运行。去中心化是区块链最突出最本质的特征。
2.去信任
在区块链系统中,所以节点通过数字签名进行验证,无第三方认证也可交易。
3.不可篡改和伪造
通过哈希函数来实现数据的不可篡改和伪造,如果数据发生了篡改和伪造可以发现。
4.可溯源
可以从任何一个结点,通过其前后的两个节点将两个区块串联起来。借助区块链的链条找到该数据的前世今生。
5.匿名性
除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。
三、区块链用到的技术
区块链不是一个单项的技术,而是一个集成了多方面研究成果基础之上的综合性技术。主要包括了非对称密码算法、哈希函数、P2P对等网络、共识算法。
1.非对称密码算法
加解密的密钥不同,使用其中一个密钥进行加密,则使用另一个密钥进行解密。公开的密钥称之为公钥,没有公开的密钥为私钥。数字签名使用私钥进行签名,公钥进行验签。
比特币的非对称性加密算法采用的是椭圆曲线加密算法(ECC)。
2.哈希函数
哈希函数可以将任意长度的数据进行加密变成固定的数据长度。
在区块链系统中的数据并不是原始的数据,而是经过处理的数据,数据处理部分使用到了哈希函数,使用哈希函数加密过的数据有很多的优点:
- 单向性,不能由输出值推出输入值。
- 经过哈希函数加密后的数据长度是一致的。
- 抗碰撞性:即使输入值变化很小,输出值会发生很大的变化
3.P2P网络
点对点技术,没有中心服务器。区块链网络的去中心化来自于P2P的组网方式。网络中的每个节点都是对等的。
4.安全多方计算
安全多方计算是解决一组互不信任的参与方之间保护隐私的协同计算问题。