第二课
区块链是分布式的账本,由每一个区块(每一页账)构成。区块当中装载着处理的交易进行打包上链,以下主要介绍区块链和交易之间的关系,如何保障上传的交易的安全性、效率性。
1、区块链的分类
针对于可以加入网络当中的用户级别的限制,将区块链分为三类:公有链、联盟链和私有链。也相当于应用场景的区别。
区块链的发展受社会大背景限制和影响。最初的比特币系统,公链的代表,每个人都具有平等的记账权,大家提供CPU来公平记账获得挖矿权。只要做事,就能获得等价的利益。
然而没了剥削,在这个资源信息不对称,人分为三、六、九等的社会是不现实的,因为所谓的大佬会没大钱赚,于是乎联盟链诞生,多中心化区块链出现。EOS在我的理解当中属于联盟链,并不属于公有链,不能把代码开源作为公链的评价标准,因为记账的权利掌握在少数人手中。前段时间EOS也因为利益的纠纷出现了很多闹剧。这并不代表联盟链不可行。安全可靠的联盟链至少需要满足一下要求:
(1)节点数量适当,且为奇数;
(2)各节点之间应该是利益相互冲突的关系,可以相互监督。
所以可以发现,在各类银行当中建立联盟链是一个比较可靠的应用场景。
私有链就是记账权掌握在一个组织手中。链的分类也是去中心化的之争,也是社会现实反应的演变。传统的等级制度想要改变,至少现阶段是不可能。所有大家会发现区块链的发展再从公链去中心化往私链多中心化、中心化发展。
人分三、六、九等,可能大家会反驳我,但是社会的种种现实:户口、教育、家庭、权利、机遇、资源、信息等等的不公平性,也是这种不对称性间接将人分了等级。大家需要注意公有链不仅仅是代码开源,去中心化在慢慢在大佬的忽悠当中慢慢被人们不重视,所以个人最佩服的是传销组织,混淆概念,忽悠世人。接下来将定义去区别介绍一下:
2、区块的结构
区块相当于账本中的每一页,那么区块当中的参数和账本又是如何对应的的?
3、交易的处理流程(BTC)
对于区块链存储的数据有两类,一类是数据库当中的数据存储的交易,一类是在平台系统上面进行的交易。二者均需要通过智能合约来登记,作为未处理的交易存放在内存池。通过智能合约的交易均会消耗手续费,矿工会优先选择交易费高的或者块龄高的优先处理。被处理的交易通过Merkle树连接,使用hash函数最终保存根哈希放在区块当中。矿工通过暴力破解,猜字谜的方式,去不断尝试随机数,直到满足挖矿公式,则获得挖矿权利。将区块打包并广播,经过6个块的验证成功之后,则为挖到矿,奖励一定的数字货币。
l手续费:交易过程当中给矿工的辛苦费;
l块龄:当交易均未给少量手续费,那么排队时间长的交易会优先处理。
会出现几个问题:
Q1:这么多交易,区块的容量用吗?不给高手续的交易会被处理吗?交易效率是否高?
到2016年,区块的容量已经接近1M了,当手续费给的低的交易,有很大可能可能是不会被处理的,交易持久有限但是会一直放在内存池当中,不去处理。2016年7月,数据显示:2016年5月4 日到11日这几天交易入块情况,结果发现:其中20%的交易在30天后仍未被记录。这也是为什么比特币社区会出现两派争执:扩容和分叉。扩容是可以解决交易效率,但是矿工消耗的成本也会随之增加,这也是人们觉得比特币系统是资源浪费而反感的原因之一。
Q2:区块链上物的交易形成
将实物配置二维码,通过二维码将其数字化,形成数字化产品,才可以在区块链上面进行交易。根据区块链的可追溯的特性,使得物流数据可以追溯,安全也很好的得到了保障。
4、基于fabric的交易大致流程
注意:节点分类
lEndorser:(模拟)执行Chaincode。分离计算任务,减轻consensus节点负担,增加吞吐量。支持endorsement policy,更加灵活。
lOrderer:对chaincode执行结果consensus。支持solo/kafka/sBFT不同的ordering策略。
lCommitter:将chaincode执行结果写进ledger。
Step1:客户端发送交易,寻找背书节点endorsing peer
Step2:背书endorsing节点(模拟)交易和产生背书签名
Step3:提交客户端收集交易背书并通过排序服务广播它给orderers
提交客户端一直等待直到它在(TRANSACTION-ENDORSED, tid,,)上收集到“足够”的消息和签名来推断出交易提案已背书。
Step4:Orderers执行共识过程,并生成Block, 通过消息通道批量的将Block发布给endorsingPeer节点;
Step5:各个endorsingPeer节点验证交易,并提交到本地账本中;
Step6:committing peer节点将执行结果写入代码当中。
5、挖矿(详细描述见文档2)
刚说了,每个区块有一个随机数,大家去尝试找到这个随机数,当满足一定的条件的时候,就获得了记账权。
6、区块链和物联网的区别
l区块链:改变生产关系,合伙制,人人获得股权
l物联网:雇佣制
物联网上面的交易都是存在一个可信的第三方,也就是仲裁者,来维护交易的执行,就是交钱和拿货不是同步的,买家钱交到一个第三方手上,然后第三方告诉卖家,对方钱给我了,可以发货了,卖家收到货之后,没啥怨言,固定时间之后,第三方会把钱给卖家。
如果这个第三方把钱带跑了,咋办?这么长的验证时间,效率这么低,有啥解决的办法?区块链的出现很好的解决了这些问题,可以做到一手交易一首交货,没有中间商赚差价。
7、区块链的思考
区块链具备数据不可篡改性,这是好处还是坏处?
8、钱包相关名词
私钥:比特币的私钥是由64位十六进制的字符组成;
地址:地址是由公钥计算而来,但不等价于公钥,有了私钥可以推出公钥和地址,反之不行;
助记词:利用某种算法可以将64位私钥转换成十多个常见的英文单词,这些单词都来源于一个固定词库,根据一定算法得来。私钥与助记词之间的转换是互通的,助记词只是你的私钥的另一种外貌体现。助记词就等于私钥。
请扫描下方小程序码进入讨论或留言
领取专属 10元无门槛券
私享最新 技术干货