“区块链工程师大讲堂”第一期第三讲回顾------区块链基础
2020年7月20日,“区块链工程师大讲堂”第一期第三讲在腾讯会议上成功举办。“区块链工程师大讲堂”是由泰岳区块链和清华大学互联网产业研究院携手举办的一个系列公益培训课程。自从去年,我国把区块链纳入为未来的基础设施之一,区块链一直都是火热的话题之一,但是具体什么是区块链,区块链又能给我们带来什么,还是有很多人无法回答出来。区块链工程师大讲堂系列分享会意在提供一个知识分享的平台,邀请行业一线专家,分享区块链相关的知识,让大家去更加地了解区块链。
本期分享会嘉宾是田明老师,他是区块链底层技术专家,多年区块链底层开发实战经验,泰岳联盟链技术总负责人。他分享的主题是“区块链基础”,整个分享分为三个部分:共认识区块链,密码学工具理解和密码学在区块链中的应用。下面是他分享的精彩回顾,以下:
共认识区块链
首先,田明老师深入浅出地分享了区块链的代表—币特币是如何运转的。Alice想转给Bob一个比特币,首先双方需要各自创建一个自己的比特比地址;随后Alice需要构建一笔转账交易。等交易被广播到所有的比特币网络饥饿点之后,Gary等矿工开始打包交易并构建区块。所有的矿工需要不停地进行哈希运算,直到满足条件。等矿工完成出块后,会收获挖矿奖励和交易手续费,并广播区块。交易在经过几个区块后被确认,交易完成。整个挖矿过程也可以看作为是一个争夺公共账本的“记账权”的一个过程。
从上面可以看出,所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全。一个交易一旦发生那么就是对所有人都公开的,每个交易的历史可以最终追溯到相应的比特币最初被挖出来的那个点。
密码学工具理解
密码学中经典的工具就是哈希算法和椭圆曲线。其中,哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。其特点就是不可逆性,当你知道x的HASH值,无法反推出x的值;无冲突性:当你知道x,无法求出一个y,使x与y的HASH值相同。
将用的哈希算法包括MD5,SHA1,SHA2,SHA256,SHA512,SHA3,RIPEMD160。比特币所使用的是SHA256算法。
椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全性。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。
哈希算法和椭圆曲线在密码学中都有着非常重要的使用,基本覆盖了大多数主流的区块链项目。是区块链技术的根基。
密码学在区块链中的应用
密码学在区块链中主要有三方面的应用:用户体系上的应用,交易体系上的应用,网络通讯上的应用。
用户体系上的应用:主要包含区块链的地址的生成,KeyStore和钱包,保证用户的资金安全。
交易体系上的应用:交易过程是整个区块链最重中之重的部分,在保证安全交易和合法性的同时,保证交易的不可逆性和匿名性。
网络通讯上的应用:主要体现在可信加密通讯通道。
“区块链工程师大讲堂”系列分享会会持续举办,每周六下午3点在腾讯会议上举办。关注公众号”清华大学互联网产业研究院”,关注更多相关的信息。