主页 > imtoken官网下载 > 区块链技术的核心概念和原理
区块链技术的核心概念和原理
第一章 区块链技术简介
1.1 区块链的前世今生
1.1.1 密码朋克
邮件组:密码学、数学、计算机技术等。
维基解密创始人:阿桑奇
BitTorrent 作者:Bram Cohen
万维网创始人:蒂姆·伯纳斯-李
智能合约概念提出者:Nick Szabo
Facebook 联合创始人:肖恩·帕克
比特币创始人:中本聪(比特币白皮书:一种点对点的电子现金系统——去中心化)
1.1.2 区块链:技术的集合
功能:存储信息。 任何需要保存的信息都可以写入区块链并从中读取比特币分叉币有哪些,就像数据库一样。
比特币系统中的数据是一个一个地存储在区块中,通过哈希的方法将区块链接在一起形成区块链。
特征:
1.1.3 应用场景
资产:ICO数字资产发行、支付、交易、结算
记账:股权交易、供应链金融、商业积分
不可篡改(区块链不可篡改特性):溯源、报酬、医疗证明、存在证明
点对点特征:共享经济、物联网
隐私:匿名交易
1.2 区块链前景
任何人都可以架设服务器,加入区块链网络,成为节点之一。 您可以向任何节点写入/当前数据,因为最终所有数据都会同步到区块链网络以保持一致性。
1.3 什么是比特币
1.3.1 比特币
比特币:数字货币每 10 分钟计费一次
货币:货币是可以承载价值的一般等价物
一般等价物:任何可用作贸易价值的物品
金属货币—>纸币—>法币—>一串数字(虚拟货币)
数字货币:具有共识的共识虚拟货币
1.3.2 特点
信任:财产只由你自己掌控(私钥)
无通胀:不因发行过多而贬值
总比特币不变性:2100万
无假钞:
流通:良好的流通性,全球无缝流通。消除中间商和中心化直接点对点交易
去中心化会计系统:
中央服务器存储所有数据! =》存在于比特币网络的每一个节点
1.4 比特币原理
1.4.1 如何验证账本
散列
哈希函数:哈希(原始信息)=摘要信息
哈希是指计算机可以为任何内容计算出一个相同长度的特征值。
区块链长度:256位,不同原始信息对应的Hash值一定不能相同!
解析:原始信息经过Hash运算后,对任意原始信息得到一个简短的摘要信息
哈希特征:
汇总信息保存成块
堵塞
区块链由单独的块组成。 块与数据库记录非常相似。 每次写入数据时,都会创建一个块。
ex:区块头(序列号、时间戳、Nonce值、Hash值、当前区块体的哈希值、前一个区块的哈希值等...)+区块体(交易记录)
Nonce值:记录Hash重新计算的次数。 第100000个区块的NOce值为274148111,即需要计算2.74亿次才能得到一个有效的Hash值。
区块链计算公式:
hash = SHA256(区块头)
hash值由区块头唯一确定,SHA256是区块链的Hash算法
ps:如果当前区块的内容发生变化,或者前一个区块的哈希值发生变化,肯定会导致当前区块的哈希值发生变化。
意义:如果有人修改了一个区块,那么这个区块的哈希值就会发生变化。 为了让后面的区块继续链接到它,必须同时修改所有后续的区块比特币分叉币有哪些,否则被修改的区块就脱离了整个区块链。
基于这种联动机制,区块链保证了自身的可靠性,数据一旦写入就不可篡改。
合并两个账本:将第一个账本的Hash值作为原始信息的一部分,与第二个账本的原始信息进行Hash运算。
比较验证第二个Hash值是否一致。 说明第二个分类账的信息和第一个汇总的信息是正确的。
第二个账本:描述另一个区块((序号、时间戳、哈希值)+交易记录)
区块链:每个节点在检查数据时,只需要检查最后一个区块的摘要信息。 可以查到信息,说明整个区块链的账本是正确的。 完成高效的账本验证。
1.4.2 所有权问题
帐号:地址表示
1.4.2.1 转账记录:
{ "收款地址": "xxxxx"
"收货地址": "yyyyy"
“金额”:“2比特币”
}
1.4.2.2 密码 —> 私钥
一个地址对应一个私钥
谁拥有这个私钥,谁就可以用它来支付。 如果私钥泄露,比特币就会丢失。
无法找回,账号和密码无法相互推导出来。
1.4.4.3 非对称加密技术(交易签名)
———在不泄露私钥的情况下证明您拥有某个地址的私钥
1.4.4.4 签名流程:
使用摘要信息和私钥进行签名操作sign——获取签名信息
支付节点:
循环广播交易内容:原始交易信息、交易签名信息、交易金额
与相邻节点广播验证后:
验证签名信息是否为付款人使用私钥对原始信息进行签名生成
1.4.4.5 验证
验证操作:
原始交易信息的摘要共识声明由地址私钥所有者发布
验证通过并写入账本并再次广播
1.4.4.6 签名和验证
签名和验证是逆向操作
支付地址为公钥
签名的过程就是对抽象进行加密的过程:通过抽象和私钥得到签名信息
验证过程是一个解密过程:对付款人地址和签名信息进行解密,得到交易摘要
ps:账本不包含任何个人信息
1.4.3 为什么要记账(挖矿)
记账:哈希打包过程
记账需要消耗资源,记账完成后系统会奖励12.5btc
采矿 - 工作量证明
1个比特币相当于4万+人民币,记账一次相当于打赏50万+人民币
1.4.3.1 规则
为了保证节点间的同步,添加区块链的速度不能太快。
1.4.3.2 工作证明
Hash(之前的哈希值,交易记录集)=新的哈希值
增加难度:
hash(之前的hash值,交易记录集合,随机数)=0000..开头的一个新的hash值[直到找到一个以几个0开头的hash值]
先找到满足条件的哈希值,即可获得唯一的记账权
交易记录集
哈希值是一个十六进制字符串
得到0的概率是1/16
得到两个0的概率是16*16
得到18个0的概率是16的18次方的哈希运算
1.4.4 什么是基准-共识机制
思考:两个节点同时完成工作量证明,使用谁的区块?
一个节点的工作负载只有在其他节点同意它有效时才有效
1.4.4.1 区块链分叉
上面提到的问题,如果双方同时向区块链写入数据,并且双方都链接到前一个区块,就会形成分叉。 这个时候会用到哪个block?
答:新节点总是使用最长的区块链。 如果出现分叉,则参考分叉点后面是哪个分支,首先达到6个新块(“六确认”)。新块的生成速度由算力决定,选择算力最大的分支chain 位链,未被选为替代链。
1.4.4.2 共识机制
累计工作量最大的区块链是主链或难度最大的区块链
机制:
保证区块链比特币在最大的链上运行
1.5 比特币其他