区块连原理设计与应用读书笔记
区块链思想的诞生:
区块链技术具备去中心化、防篡改、可追溯等众多金融领域十分需要的特点。
实现多方场景下开放、扁平化的全新合作信任模型,而这些都为实现更高效的资源配置,更具体的说是金融交易,提供有效的技术手段。
新型数字货币、分布式账本技术的支付系统。在清算和结算方面独特优势。
挑战:
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.分布式结构 2.建立信任(通过数学原理和程序算法,使系统运作规则公开透明) 3.公开透明 4.时序且不能修改 区块链系统的原理 ...
- Redis 设计与实现 读书笔记(菜鸟版)
Redis 设计与实现 读书笔记(简略版) 写在前面 第一章(内部数据结构) SDS List Dictionary Rehash Rehash 与 COW 渐进式Rehash 字典收缩 Skipli ...
- 《区块链原理与技术》学习笔记(六) — 区块链安全
<区块链原理与技术>学习笔记 第六部分 四.区块链网络层 1. 网络层安全 1.1 分布式拒绝服务攻击(DDos) 1.2 延展性攻击 1.3 日蚀攻击 1.4 分割攻击 1.5 延迟攻击 ...
- 区块链原理设计与应用_我如何设计一个可以在6个月内吸引200K用户的区块链应用...
区块链原理设计与应用 by Rolando Mathias 由Rolando Mathias 我如何设计一个可以在6个月内吸引200K用户的区块链应用 (How I Designed a Blockc ...
- 领域驱动设计DDD之读书笔记
查看文章 领域驱动设计DDD之读书笔记 转载原地址:http://hi.baidu.com/lijiangzj 2007-08-17 16:53 一.当前Java软件开发中几种认识误区 Hibe ...
- 《H5 移动营销设计指南》 读书笔记整理
一个前端工程师最近迷上了营销类的H5页面,被五花八门的H5页面迷的眼花缭乱,兴趣使然,于是买了一本<H5 营销设计指南>,看完以后对营销类的H5页面有了更深的理解,感觉很实在,所以参考读书 ...
- 【软件设计】5本软件设计书籍的读书笔记
文章目录 前言 1.<简约之美:软件设计之道> 1.1 软件设计的准则 1.2 小结 2.<软件设计精要与模式> 2.1 软件架构 2.2 软件设计 2.3 软件设计模式 2. ...
- 《从Paxos到ZooKeeper 分布式一致性原理与实践》读书笔记
一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很 ...
- 《Web设计大全》读书笔记之一
设计者不是用户. 用户不是设计者. 为共性设计,但应该考虑差异. 站点的运行应该接近没有错误. 了解和注意Web及因特网媒体的限制. 适当的时候,Web站点应该遵守GUI原理. 导航系统只不过是达到目 ...
最新文章
- Case when then esle end
- MySQL SELECT:数据表查询语句
- 活动回顾丨从技术创新到行业实践——泛娱乐社交产品专场
- SSH框架整合遇到的错误——org.springframework.beans.NotWritablePropertyException:
- javascript里用php,php中使用javascript - 程序园
- Android开发画布销毁,Android DialogFragment 在页面销毁下的使用方式
- Python3 语法
- 大内存 php 干什么好 centos,解决CentOS7中php-fpm进程数过多导致服务器内存资源消耗较大的问题...
- UVA669 LA5662 Defragment【暴力】
- 如何下载centos7的iso文件
- matlab 传函将s换为jw,2010MATLAB及控制系统仿真_总复习.ppt
- 在 Github 制作在线简历 PDF
- 攻防世界-MISC-练习区-06(坚持60s)
- Red Gate 破解
- JAVA图形界面:加法计算器
- face_recognition人脸识别框架
- 适配 iphone 微信h5页面
- 如何用html5制作3d旋转照片集
- 如何用burpsuite进行攻击
- 一个简单的滑动门效果代码