区块链技术架构二

5、区块链模型之激励层

将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中;
在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展;
而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。

  • 比特币的激励
    1、区块第一笔交易:该区块创造者拥有的新的电子货币
    2、激励来源:比特币和交易费(所有输入 - 所有输出);以前是10分钟左右25个,现在减半。
    矿池:联合挖矿,利益均分。
    3、激励作用:有助于鼓励节点保持诚实
    4、节点保持诚实:激励和工作量证明
    5、总量为2100万(20999999.97690000)

  • 以太币的激励
    1、矿前2014年7月/8月间,为众筹大约发行了7200万以太币。这些币有的时候被称之为“矿前”。众筹阶段之后,以太币每年的产量被限制在7200万以太币的25%(每年以太币的矿产量,不高于1800万,除了一次性为crowdsale而发行的7200万以太币)
    2、区块奖励
    目前,每产生一个新区块就会产生5个新以太币。如果每14秒挖出一个区块,每年会产出1130万个以太币。这个数字低于1800万以太币产量的数字,吻合。
    3、叔块奖励
    有些区块被挖得稍晚一些,因此不能称为主区块链的组成部分。如果uncles在之后的区块链中作为叔块被引用,每个叔块会为挖矿者产出大约4.375个以太币(5个以太币奖励的8分之7).
    这被称之为叔块奖励。目前每天有大约500个叔块被创建,为以太币的日产量链,额外加入2000个以太币(以这种速度,每年产量为70万以太币)

6、区块链模型之合约层

合约层:封装各类脚本、算法和智能合约,是区块链可编程特性的基础。

比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写任何功能的应用。

如果把比特币看成是全球账本的话,以太坊可以看作是一台全球计算机,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。

比特币:图灵非完备
以太坊:图灵完备
图灵完备——一切可计算的问题都能计算,这样的虚拟机或者编程语言

1、比特币脚本
比特币交易脚本语言是一种基于逆波兰表示法的基于栈的执行语言,比特币脚本语言包含基本算数计算、基本逻辑(比如if…then)、报错以及返回结果和一些加密指令,不支持循环;
每一个比特币节点会通过同时执行这解锁和锁定脚本(不是当前的锁定脚本,是指上一个交易的锁定脚本)来验证一笔交易,脚本组合结果为真,则为有效交易。

  • 比特币脚本之输出和输入
13194828-dc93ae9a8522e6ac.png
image.png
13194828-f41c1cd934aeb017.png
image.png
13194828-3342344c4ef4cc52.png
image.png
13194828-928db4441ff569ad.png
image.png
  • 比特币脚本之执行——验证交易脚本

解锁脚本运行过程(主要是入栈)

13194828-7039620011a61a3d.png
image.png

锁定脚本运行过程(主要是出栈),最后的结果为真,说明交易有效

13194828-50ea834c8f4142a2.png
image.png
13194828-3c58cb0cfc1e481d.png
image.png
13194828-8b287bd4c2f62d0d.png
image.png

2、以太坊智能合约

  • 以太坊=区块链(数据结构) + 智能合约(算法)
  • 智能合约(Smart Contract):一套以数字形式定义的承诺(Promises)
  • 区块链为智能合约提供可信的执行环境
  • 用了evm虚拟机
13194828-6b6cb6ef4b298f29.png
image.png

3、fabic智能合约
链码(chaincode)是在交易被部署、分发到网络上,并被所有验证 peer 通过隔离的沙箱来管理的应用级代码。尽管任意的虚拟技术都可以支持沙箱,现在是通过Docker容器来运行链码的。

13194828-6276f896465beaaf.png
image.png

7、区块链模型之应用层

应用层封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。
典型的应用有:各类钱包,区块链浏览器

13194828-3d4be79439c4c51b.png
image.png

调用方式:

  • 应用层-RPC(GRPC)远程调用
  • IPC接口调用
  • HTTP(HTTPS)
  • Web socket

为了提高性能可以增加memcached,redis等缓存技术。

8、参考书籍

0.《Peer-to-Peer Electronic Cash System》Satoshi
Nakamotohttps://bitcoin.org/bitcoin.pdf

1.《精通比特币》 Andreas Mantonopoulos
http://book.8btc.com/books/1/master_bitcoin/_book/

2.《区块链——新经济蓝图》Melaneie Swan
https://www.amazon.com/Blockchain-Blueprint-Economy-Melanie-Swan/dp/1491920491

3.《区块链 2.0》 陈刚 谭磊
http://www.cnki.com.cn/Article/CJFDTotal-IGXN201608041.htm

4.《区块链技术指南》邹均 曹寅 刘天喜
http://product.dangdang.com/24147347.html

5.各个区块链平台的白皮书

猜你喜欢

转载自blog.csdn.net/weixin_33824363/article/details/87237917