【虾说区块链】区块链术语及密码学基础解析

【虾说区块链】区块链术语及密码学基础解析_第1张图片
image

欢迎收听「虾说区块链」。现在区块链这个概念在互联网上相当火热,这里简单做一个普及,不涉及项目推广投资,单纯地对区块链相关基础知识概念作一个说明讲解。本人区块链技术爱好者,结合相关区块链资料总结整理了「虾说区块链」,也是自己一个学习笔记,涉及相关内容如理解有误,也请及时指正。

1

相关术语

区块链:Blockchain,分布式存储、加密算法、共识机制、P2P传输等计算机技术结合的新型应用模式。

区块:Block,用于记录区块链系统中数据的存储。

链:chain,区块头中通过引用哈希值链接。

区块链服务:BAAS,blockchain as a service,区块链即服务。

分布式:Decentralized,不依赖中心服务器,分布的计算机资源进行计算处理的模式。

共识机制:consensus,区块链中事务达成的分布式共识算法。

P2P传输:peer-to-peer P2P,对等互联网网络技术。

加密算法:针对数据加密使其成为不可读的一段密文,通过密钥加解密。

哈希算法:将任意长度的二进制值映射为较短固定长度的二进制值的一种算法。

对称加密:加密解密使用同一密钥。

非对称加密:加解密通过公钥私钥,配对使用。

公有链:PublicBlockChains,公共网络中任何个人团体接入,任何节点均可参与共识过程。

联盟链:ConsortiumBlockChains,共识过程由预选节点控制,一般为各企业机构互联形成。

私有链:privateBlockChains,私有区块链,数据记录在单一组织机构中,分权限对外开放,一般是单一企业机构构建。

图灵完备:turing complete图灵完备是指计算机中一切计算的问题都可以计算,这样的虚拟机或者编程语言称为图灵完备。

智能合约:smart contract,部署在区块链系统中,一段合约代码,或一套以数字形式定义的承诺,包括合约参与方可以在其上执行承诺的协议。

匿名:unlinkability,中文解释为无关联性。

软分叉:当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。

硬分叉:区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,产生硬分叉。

EVM:以太坊虚拟机。

POW:proof of work,工作量证明。

POS:proof of stake,权益证明。

DPOS:delegate proof of stake,股份授权证明。

PBFT:practical Byzantine fault tolerance,实用拜占庭容错。

ECC:椭圆加密算法,一种公钥加密算法。

SHA:secure hash algorithm,安全散列算法,NIST发布一系列密码散列函数。

SPV:Simplified Payment Verification,简单支付验证。

Merkle tree:梅克尔树,merkle tree是计算机数据结构中的一种树。

DAG:计算机数据结构中有向无环图。

DAPP:去中心化应用。

Double spending:双重支付,也称为“双花”。

BIP:bitcoin improvement proposals,bitcoin改进协议。

2

密码学发展的三个阶段

密码经常能够听到,密码学应用也极为广泛,简述密码学发展的三个阶段。

古典密码学

古典密码学诞生至少有两三千年的历史了,这个阶段核心思想为:置换(permutation)。

说起古典密码最经典的两个例子。

斯巴达人的塞塔式密码:把一个长条羊皮螺旋地斜着绕在一个多棱棒上,然后水平方向从左到右写字,写一个字绕一圈。这长条羊皮拿下来看上去杂乱无章的,但是加上同尺寸的多棱棒就能看到准确的信息了。如图:

【虾说区块链】区块链术语及密码学基础解析_第2张图片
image

在古代中国,藏头诗,藏尾诗早就被那些文人墨客玩坏了,如水浒传中,拉卢员外下水的那首卦歌:芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。之后又出现了一种古老的对称加密算法,凯撒算法,这类算法的基本实现原理是通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文,这种加密方式一旦掌握足够密文可以通过逆推的方式得到加密规则,但在当时这种理念还是很先进的。电影达芬奇密码中使用的密码道具,如图:

【虾说区块链】区块链术语及密码学基础解析_第3张图片
image

古典密码学针对字符,对字符本身不做修改,通过位置的改变或者替换来隐藏信息,这种加密方式比较简单,主要通过工作或者机械的操作来加解密,一旦掌握了解密工具或者找到解密规律,信息马上就被破解了,整体安全性不高。

现代密码学

1948年10月香农Shannon(信息论之父)的信息论诞生,信息论将信息的传递作为一种统计现象来考虑,香农给出了信息熵的定义:香农

image

信息论,论文《A Mathematical Theory of Communication》(通信的数学理论)链接:http://vdisk.weibo.com/s/aGbbFyM3Q12eh同时这也标志着密码学进入了第二阶段,现代计算机科学和信息技术的发展,之前对复杂计算的密码可以通过计算机来完成,密码学成为了一门科学。

加密算法一般通过密钥来加解密,信息通过密钥加密后明文通过二进制的方式传播,一般的理解,你的密钥越长就越难破解,但是这个时候你会发现你的密钥只有一把,而且别人要解密你的信息,你必须把密钥也给对方,这种方式称为“对称加密算法”,你的密钥很关键,怎么保存,怎么传输就会很头疼。当然后来演变出来的哈希算法、公钥密码学、其实都是以现代密码学为基础。对称密钥原理图:

【虾说区块链】区块链术语及密码学基础解析_第4张图片
image

公钥密码学

1976年后,公钥密码学出现,这个也可以称为非对称加密,和之前的对称加密最大的区别就是,加解密分别使用公钥(publickey)和私钥(privatekey),密钥以一对的方式出现。196年W.Diffie和M.Hellman发表的New Direction in Cryptography,提出了非对称密码体制的概念。非对称密码体制一般依据两类类数学问题:大整数分解问题和离散对数问题。公钥密码学原理图:

【虾说区块链】区块链术语及密码学基础解析_第5张图片
image

3

加密算法概括

数据加密:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

【虾说区块链】区块链术语及密码学基础解析_第6张图片
image

那么根据数据加密的定义,我们会发现数据加密是需要一个解密过程中,那么有些算法在加密后变成密文,但是无法逆推的那种就不能被真正定义为加密算法。

解释下MD5的特点,MD5(Message Digest Algorithm MD5),消息摘要算法第五版,这个消息摘要算法之前在讲数字签名时候也有涉及。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。那么在计算开始就对信息进行了填充,并且压缩,最简单的例子,你在网络上下载东西是通过MD5验证,那么下载源何其多,但是MD5是128位,你可以计算MD5值的总数,无限对有限,这就是一个不可逆的过程,所以严格来说MD5就是一种算法而不是加密算法。

【虾说区块链】区块链术语及密码学基础解析_第7张图片
image

大致介绍到这里,谢谢。

(音频内容来源:“投河自尽的鱼”)

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

【虾说区块链】区块链术语及密码学基础解析_第8张图片
image

你可能感兴趣的:(【虾说区块链】区块链术语及密码学基础解析)