区块链思想的诞生:

区块链技术具备去中心化、防篡改、可追溯等众多金融领域十分需要的特点。

实现多方场景下开放、扁平化的全新合作信任模型,而这些都为实现更高效的资源配置,更具体的说是金融交易,提供有效的技术手段。

新型数字货币、分布式账本技术的支付系统。在清算和结算方面独特优势。

挑战:

1.不影响业务运行的前提下,将区块链系统融合到已有的业务系统;

2.如何让区块链系统的处理性能满足金融交易的苛刻需求;

3.如何设计基于区块链的全新业务运营框架,并对其实现有效的监督。

比特币、以太坊(引入图灵完备的智能合约机制)、超级账本Fabric。

分布式系统技术、密码学安全技术。

9~11章以超级账本Fabric项目为例,具体讲解了安装部署、配置管理、以及使用Fabric CA进行证书管理。

12章讲解Fabric项目的核心架构设计。

13章是开发技巧和示例。

区块链产生的背景:

我们要创造一种货币,来代替实体货币。

主要是信任价值:从最早的实物价值、发行方信用价值、到对科学技术和信息系统的信任价值。

一旦碰到支付系统故障、断网、缺乏支付终端等情况,信用卡无法支付。

并且需要额外的支持机构来完成生产、分发、管理操作,造成伪造、信用卡诈骗、盗刷、转账骗局等安全问题屡见不鲜。

区块链产生的原因:

建立一套可靠的交易记录系统;

形成一套合理的货币发行机制。

方案:

分布式账本:自由访问、无法恶意篡改和控制。--->区块链结构。

比特币协议:货币总量受到控制、发行速度随时间进行调整。

去中心化或多中心化的分布式记账模式。

区块链具有的特点:自带信任、防篡改的分布式账本,彼此相互信任的基础网络设施

1.分布式容错

2.不可篡改:一旦提交不可销毁和篡改

3.隐私保护性:密码学保证数据隐私,即便数据泄露也无法解析。

4.可信任性:无第三方中介机构

5.降低成本:时间、人力以及维护成本更低

6.增强安全:有利于安全、可靠的审计管理和账目清算。

使用场景:所有跟信息、价值(包括货币、证券、专利、版权、数字商品、实际物品等)、信用等相关的交换过程

第二章 核心技术概览

定义:

1.交易--账本的一次操作

2.区块--记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识

3.链--由区块按照顺序串联而成,是整个账本状态变化的日志记录。

原理:

如果把区块链作为一个状态机,则每次交易就是试图改变一次交易,而每次共识生成的区块,就是参与者对于区块中交易导致状态改变的结果进行确认。

分布式数据记录账本,这个账本只允许添加不允许删除,账本底层的基本结构是一个线性的链表,链表由一个个区块串联而成,后继区块记录前导区块的hash值,新的数据要加入,必须要放到新的区块中,而这个块是否合法,可以通过计算hash的方式快速检验出来。任意维护节点都可以提议一个新的合法区块,然而必须经过一定的共识机制来对最终选择区块达成一致。

比特币例子:

比特币客户端发起一项交易,广播到比特币网络中并等待确认。网络中的节点会将一些收到的等待确认的交易记录打包在一起(此外还要包括前一个区块头部的hash值等信息),组成一个候选区块-->找到一个nonce串(随机串)放到区块中,使得候选区块的hash满足一定的条件。一旦节点算出来满足条件的nonce串,这个区块在格式上就认为“合法”了,就可以尝试在网络中将它广播出去。-->其他节点收到候选区,进行验证,发现确实符合约定条件,就承认这个区块是一个合法的新区块,并维护到自己的区块链中-->当大多数的节点都将区块添加到自己维护的区块链结构上时,该区块链被网络接收,区块中所包括的交易也就得到确认。

关键点:比特币的这种基于算力寻找nonce串的共识机制被称为工作量证明。采用的是尝试性暴力计算。尝试的次数越多,算出来的概率越大。

参与者不同分为:公有链、联盟链、私有链

使用目的和场景不同:货币链、产权链、众筹链、通用链

组成部分:网络层、共识层、智能合约、应用层、权限管理机制。

涉及的领域:分布式系统、存储、密码学、心理学、经济论、博弈论、控制论、网络协议等。

关键问题:

1.防止交易记录被篡改:

2.证明交易双方的身份:

3.保护交易双方的隐私:

传统方案:hash算法、加解密算法、数字证书和签名(盲签名和环签名)

但是量子计算等新技术的出现,RSA等目前商用的加密技术,在未来可能无法提供足够的安全性。

经典的技术难题:如何让大多数节点承认,同时这个信息是被确认的、不可推翻的。

公开匿名场景下:基于概率的算法

带权限管理的场景下:确定性算法

区块链不适用于高频交易的场景,如何提高区块链系统的交易吞吐量,降低交易的确认。

目前公开的区块链只能支持每秒7笔,而对于大额交易来说,交易确认时间为一小时左右,以太坊的区块链的吞吐量略高一些,但交易性能也被认为是较大的瓶颈。

方案是将高频的交易放到链外来,只用区块链记录最终交易信息。

核心是解决多方的互信问题。

可以使用以太坊、超级账本快速设计复杂的分布式账本应用。

区块连原理设计与应用读书笔记相关推荐

  1. 《区块链技术与应用》读书笔记

    <区块链技术与应用>读书笔记 第一章 概论 区块链的特点 1.分布式结构 2.建立信任(通过数学原理和程序算法,使系统运作规则公开透明) 3.公开透明 4.时序且不能修改 区块链系统的原理 ...

  2. Redis 设计与实现 读书笔记(菜鸟版)

    Redis 设计与实现 读书笔记(简略版) 写在前面 第一章(内部数据结构) SDS List Dictionary Rehash Rehash 与 COW 渐进式Rehash 字典收缩 Skipli ...

  3. 《区块链原理与技术》学习笔记(六) — 区块链安全

    <区块链原理与技术>学习笔记 第六部分 四.区块链网络层 1. 网络层安全 1.1 分布式拒绝服务攻击(DDos) 1.2 延展性攻击 1.3 日蚀攻击 1.4 分割攻击 1.5 延迟攻击 ...

  4. 区块链原理设计与应用_我如何设计一个可以在6个月内吸引200K用户的区块链应用...

    区块链原理设计与应用 by Rolando Mathias 由Rolando Mathias 我如何设计一个可以在6个月内吸引200K用户的区块链应用 (How I Designed a Blockc ...

  5. 领域驱动设计DDD之读书笔记

    查看文章   领域驱动设计DDD之读书笔记  转载原地址:http://hi.baidu.com/lijiangzj 2007-08-17 16:53 一.当前Java软件开发中几种认识误区 Hibe ...

  6. 《H5 移动营销设计指南》 读书笔记整理

    一个前端工程师最近迷上了营销类的H5页面,被五花八门的H5页面迷的眼花缭乱,兴趣使然,于是买了一本<H5 营销设计指南>,看完以后对营销类的H5页面有了更深的理解,感觉很实在,所以参考读书 ...

  7. 【软件设计】5本软件设计书籍的读书笔记

    文章目录 前言 1.<简约之美:软件设计之道> 1.1 软件设计的准则 1.2 小结 2.<软件设计精要与模式> 2.1 软件架构 2.2 软件设计 2.3 软件设计模式 2. ...

  8. 《从Paxos到ZooKeeper 分布式一致性原理与实践》读书笔记

    一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很 ...

  9. 《Web设计大全》读书笔记之一

    设计者不是用户. 用户不是设计者. 为共性设计,但应该考虑差异. 站点的运行应该接近没有错误. 了解和注意Web及因特网媒体的限制. 适当的时候,Web站点应该遵守GUI原理. 导航系统只不过是达到目 ...

最新文章

  1. Case when then esle end
  2. MySQL SELECT:数据表查询语句
  3. 活动回顾丨从技术创新到行业实践——泛娱乐社交产品专场
  4. SSH框架整合遇到的错误——org.springframework.beans.NotWritablePropertyException:
  5. javascript里用php,php中使用javascript - 程序园
  6. Android开发画布销毁,Android DialogFragment 在页面销毁下的使用方式
  7. Python3 语法
  8. 大内存 php 干什么好 centos,解决CentOS7中php-fpm进程数过多导致服务器内存资源消耗较大的问题...
  9. UVA669 LA5662 Defragment【暴力】
  10. 如何下载centos7的iso文件
  11. matlab 传函将s换为jw,2010MATLAB及控制系统仿真_总复习.ppt
  12. 在 Github 制作在线简历 PDF
  13. 攻防世界-MISC-练习区-06(坚持60s)
  14. Red Gate 破解
  15. JAVA图形界面:加法计算器
  16. face_recognition人脸识别框架
  17. 适配 iphone 微信h5页面
  18. 如何用html5制作3d旋转照片集
  19. 如何用burpsuite进行攻击
  20. 一个简单的滑动门效果代码

热门文章

  1. 元宇宙让新的商业模式找到了商业闭环
  2. 小小图标功能大,10个最佳Material Design 图标资源你不可错过
  3. Android实现微信好友列表,实现微信好友列表
  4. 三星Note2(N7100)刷机
  5. sd卡图片损坏怎么修复?
  6. Java通过file的API实现命令行dir文件夹的功能
  7. 算法与数据结构实验题 4.17 Maze
  8. 如何用公式编辑器打大大于符号?
  9. 杨辉三角(Pascal‘s Triangle)
  10. JS基础知识--arguments是什么?