区块链是什么
最近要说什么火,流行什么,相信很多人第一反应就是区块链。
提到区块链大家第一反应就是比特币,之所以有这个反应是因为比特币创造了很多财富自由的神话,小小的价格波动也长期霸占着热搜。
但比特币不是区块链,比特币是区块链的一个应用。
那么作为一个测试工程师,需要掌握哪些区块链知识呢,接下来小编就来带领大家进入区块链的大门。
学过C语言的同学都知道一个数据结构 —— 链表,区块链的结构就类似于单向链表。
其中“区块”相当于链表中的Node节点,Node节点之间相互串联形成“链”。
链表节点可以有增加、删除、插入等操作,但是区块链的区块只能增加。
每个区块生成并挂载到区块链上后(从大家都验证并承认它的身份后开始),它的数据不能再做任何改变。
百度百科上定义:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
嗯,很难懂!
其实目前对区块链还没有一个统一的定义,综合看来,区块链就是基于区块链技术的公开账本(或者公共数据库),其中所说的区块链技术并非一种新兴的技术,而是密码学、P2P(点对点传输)等众多技术的一个技术组合而已,区块链最伟大的地方我想不是发明了什么,而是结合了这些技术并优美地解决了去中心化的进行价值交换、数据交换。
简单来说区块链就是去中心化分布式账本(分布式数据存储)
中心化分布式账本
去中心化的概念是相对于中心化而言的,那首先来看看什么是中心化
每年的双十一都是剁手党的狂欢节,除了买到心仪的宝贝外,天猫总成交额也是人们津津乐道的话题
刚过去的这个双十一成交额达到再创历史纪录的2684亿
但是立刻就有网友质疑2684亿的真实性。
12日一条发于今年4月的微博被扒出,该数据在4月就预测今年双十一销售额为2689亿。
事实证明,该预测神准无比,在未知天猫任何数据的情况下计算出的销售额与现实仅有千分之2的差距。
随后阿里官方紧急辟谣,小编也坚决相信马爸爸不会骗人。
因为阿里可以通过大数据精确地分析商品活跃度,然后通过运营技术来达到控制销售额,既不能让销售额太低打消网友的消费热情,也不能太高让明年难以冲击。
之所以会出现质疑声当然是因为销售数据只有阿里独家一份,其他人想看看不到,只能听阿里说多少就是多少。这就是中心化存储带来的的信任问题。存储这些数据的数据库我们可以看成是中心化账本。当然这么重要的数据天猫肯定是分布式存储的,但即使是分布式,也是阿里一家的分布式,是中心化的分布式存储。
去中心化分布式账本
设想下如果这些销售数据是公开的,事实产生的每笔交易记录所有人的数据库里(当然不可能,数据是机密),人人都能查到总销售额到底是多少,那么信任问题就解决了。这种存储方式就是去中心化的分布式存储。
按照规则一个区块存储只能几十条交易记录,这就需要很多个区块,新的交易记录会被矿工打包到的新区块中,就像链表那样,新的区块头部信息包含前一个区块的Hash,这个Hash是经过不可逆的加密,一旦生成就基本不可能被窜改,每个区块这样就可以唯一找到前一个区块,一环扣一环就形成了链。
如何接触区块链
区块链其实离你很近,下载一个管理加密数字货币的软件imToken,打开区块链的大门。
钱包
真实的钱包是用来放人民币美元的,imToken是用来存放你的加密数字货币的,所以我们称其为加密数字货币钱包,简称钱包。
打开imToken,点击创建身份,输入身份名、密码后即可创建一个你在区块链世界的身份。
创建身份成功后,接下来就是备份助记词
公/私钥
解释什么是助记词前,先来解释下什么私钥
区块链使用的是密码学中的非对称加密,即使用成对的公私钥:公钥加密,私钥解密,私钥签名,公钥验签。
公钥加密,私钥解密。也就是用公钥加密原数据,只有对应的私钥才能解开原数据。这样能使得原数据在网络中传播不被窃取,保护隐私。
私钥签名,公钥验签。用私钥对原数据进行签名,只有对应的公钥才能验证签名串与原数据是匹配的。
可以用锁头,钥匙来比喻公钥,私钥。锁头用来锁定某物品,钥匙来解锁该物品。钥匙所有者是物品的所有者。
事实上就是这样,公私钥对奠定了区块链的账户体系及资产(Token等)的所有权,区块链的资产是锁定在公钥上的,私钥是用来解锁该资产然后使用。比如说我要转让资产给你,就是我用我的私钥签名了一笔我转让资产给你的交易(含资产,数量等等)提交到区块链网络里,节点会验证该签名,正确则从我的公钥上解锁资产锁定到你的公钥上。
我们看到了私钥的作用了吧,跟中心化记账系统(支付宝、微信支付等)的密码一样重要,拥有私钥就拥有了资产所有权,所以我们千万要保管好私钥,不能泄露。
助记词
理解了私钥,那么就好理解助记词了
助记词就是另一种形式的私钥。它通过算法将64位的私钥转换成若干个常见的英文单词,这样记忆起来就方便的多。
助记词由12-24个单词组成,助记词可以生成私钥。一个助记词可以生成无穷个私钥,可以理解成助记词是个树的根,这个根上可以长很多分支,每个叶子是一个私钥,imToken钱包不同币种用的是不同的分支。这也是为何一个助记词可以管理HD账户下所有的钱包地址。
imToken使用的是12位助记词,一套助记词就可以管理不同的链上的资产(比特币、以太坊、EOS)
备份好助记词,至此你就拥有了只属于你自己的区块链身份
下一篇 咱们来说说如何进行区块链上的应用测试