01起源篇
1.账本演变:一本账的兴衰发展史
区块链是一个分布式共享的账本系统,有以下三个特点:
1.可以无限增加的巨型账本——每个区块可视为这个账本的一页,每增加一个区块链账本就多了一页,这一页中可能会包含一条或多条记录信息;2.加密且有顺序的账本——账目信息会被打包成一个区块并加密,同时盖上时间戳,一个区块按时间戳顺序链接形成一个总帐本;3.去中心化的账本——由网内用户共同维护的,去中心化的。
在后面作者又归纳了四个特点╭(╯^╰)╮:
1.去中心化:在一个去中心化的金融系统中,没有中介机构,所有节点的权利和义务都相等,任意节点停止工作都不会影响整体系统运作;2.去信任:系统中所有节点之间无需信任也可进行交易,因为数据库和整个系统的运作是公开透明的,在系统规则和时间范围内,节点之间无法欺骗彼此; 3.集体维护:系统是由其中具有维护功能的所有节点共同维护的,系统中所有人共同参与维护工作; 4.可靠的数据库:系统中每一个节点都拥有最新完整的数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为出现次数最多的相同记录为真。
价值转移:互联网之后还有什么
价值转移:某一部分价值从A地址转移到B地址,那么需要A地址精确地减少了这部分价值,B地址精确地增加了这部分价值。这个操作必须同时得到A和B的认可而且结果不受任何一方操纵。目前互联网协议不支持价值转移功能,所以需要中心化第三方背书。
解决办法:区块链在无第三方背书的情况下,在一个开放式平台上进行远距离安全支付。在全球各地节点保存所有交易记录,网络中所有授权的参与者都保存这一份完全相同的账本,一旦修改,全部副本快速更改完毕。分布式账本每笔交易都有独一无二时间戳,防止重复支付的发生。区块链构建了一周点对点的纯粹的价值体系,无需各节点互信的情况下,可以保证系统内数据记录的完整性和安全性,可以脱离第三方机构背书,有效降低交易复杂性和风险性。
信用成本:你能记住多少人的脸
信用成本:区块链的实质是一个不断增长的分布式结算数据库,其中信息产权明晰,可设定保护条件,自动发自和强制实施合约,无需担心信任验证和信任执行。
技术创新:从比特币到区块链
公信力:区块链把公信力抽象出来成为一个独立的而非由政府或第三方组织掌控的存在,形成政府、大众、区块链、公信力相互监督的新格局,可以被多方交叉验证和监督。区块链用基于共识的数学算法,在机器之间建立信任并完成信用创造。
区块链公信力特点:1.分布式,区块链公信力在网络上有许多独立的节点,每一节点都有备份信息。每个有授权的人都可以从任意一个节点下载全部的信息,同时,区块链公信力网络不可篡改,任何节点企图更改信息都会被其它节点发现,而更改的节点不会被确认,就会立刻丧失公信力。2公证人角色,不制定政策,不变的可复制的数据库。
比特币的几个基本原则:
《比特币:一种点对点的电子现金系统》——中本聪
1.一种存粹的点对点的电子现金系统,使在线支付能够直接由另一方发起并支付给另一人,中间不需任何金融机构;2.不需要授信的第三方支持就能防止双重支付,点对点的网络环境是解决双重支付的一种方案;3.对全部交易加上时间戳,并将它们并入一个不断延展的基于哈希算法的工作量的证明的链条作为交易记录。除非重新完成全部的工作量证明,形成的交易记录将不可更改;4.最长的链条不仅将作为被观察的事件序列的证明,而且被视为来自CPU的计算能力最大的池。只要大多数CPU的计算能力不被合作攻击的阶段所控制,那么就会生成最长的、长度超过攻击链的链条;5.此系统本身需要的基础设施很少,节点尽最大努力在全网传播信息即可,节点可以随时离开和重新加入网络,并将最长的工作量证明作为该节点离线期间发生交易的证明。
02原理篇
讲一个故事:什么是区块链
区块链包含三组元数据:1.用于连接前面的区块,索引自父区块哈希值的数据;2.挖矿难度、Nonce(用于工作量证明算法的计数器)、时间戳;3.能够总结并快速归纳校验区块中所有交易数据的Merkle树根数据
哈希算法:区块链中保证交易信息不被篡改的单项密码机制。哈希算法接受一段明文之后,以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。1.加密过程不可逆;2。输入的铭文和输出的散列数据一一对应。区块链中通常使用SHA-256进行区块加密。
公钥和私钥:信息发送者:私钥对信息进行签名,使用信息接收方的公钥对信息加密。信息接收者:用信息发送者的公钥验证信息发送者的身份,使用私钥多加密信息解密。
时间戳:从区块生成级存在于区块之中,对应每次交易记录的认证,证明交易记录真实性。每个时间戳把前一个时间戳纳入其随机哈希值中。
Merkle树结构:区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle树的叶子节点存储的是数据信息的哈希值,非叶子节点存储的是对其下面所有的叶子节点的组合进行哈希计算后得出的哈希值。同样的,区块中任意一个数据的变更都会导致Merkle树结构发生变化。在交易信息验证过程中,Merkle树结构能够大大减少数据计算量,只需验证Merkle树生成的统一哈希值就可以了。
讲一下原理:区块链如何运作
比特币的工作流程:1.所有节点向上回溯到达源头,即区块链中的第一个区块“创世区块”;2.“创世区块”诞生后,比特币用户通过不断“做题”,即通过计算寻找满足特定SHA-256哈希值对应的数值解,这个过程就是比特币中的“挖矿”。3.任意一个用户优先计算出符合要求的数值解时,就会在全网范围内广播,而网络中其它节点收到此信息会进行验证。若通过验证,其它节点放弃计算,并将新创建的区块加到前一个区块的后面。4.不断重复,新的区 块不断生成、验证,最终形成一个主链。同时,哈希算法调整难度。
硬分叉和软分叉:硬分叉是永久性分歧,新共识规则发布后,部分未升级节点无法验证已升级节点生产的区块,通常硬分叉就会产生。1.没有向前兼容性,之前的版本将不可用,需要强制升级;2.区块链层面会有分叉的两条链,一条旧链一条分叉新链;3.需要在某个时间点全部统一分叉升级,不同意的进入旧链。软分叉是比特币交易的数据结构改变时,未升级节点可以验证已升级节点生产的区块,反之亦然。1.有较好的兼容性;2.区块链层面没有分叉的链,只是组成链的区块有新旧之分;3.相当长的时间里,可允许不进行升级,继续使用原版本生成就区块,与新版本并存。
讲几个问题:区块链底层架构
一、数据层:描述区块链技术的物理形式(数据区块、链式结构、时间戳、哈希函数、Merkle树、非对称加密);二、网络层:实现区块链网络中节点之间的信息交流(P2P网络、传播机制、验证机制);三、共识层:让高度分散的节点在去中心化的系统中高效地针对区块数据的有效性达成共识(PoW、PoS、DPoS);四、激励层:鼓励节点参与区块链的安全验证工作(发行机制、分配机制);五、合约层:规定了比特币的交易方式和过程中涉及的种种细节(脚本代码、算法机制、智能合约);六、应用层:封装了区块链的各种场景和案例(可编程货币、可编程金融、可编程社会)。
区块链基本类型:一、公有链:全世界任何人都可读取、任何人都能发送交易且能获得有效确认,任何人都能参与共识过程的区块链——共识过程决定哪个区块链可被添加到区块链中,同时明确当前状态。1.保护用户免受开发者影响;2.访问门槛低;3.所有数据默认公开。二、私有链:写入权限在一个组织手里的区块链。1.交易速度非常快;2.为隐私提供更好的保障;3.交易成本大幅降低;3.有助于保护基本产品不被破坏。三、联盟链:共识过程收到预选节点控制的区块链。
区块链的共识机制:问题一:类两军问题 问题二:拜占庭将军问题。两个问题的解释和网络层面的解决办法 常见的共识机制主要有工作量证明、权益证明和股份证明三种。
一、工作量证明(PoW)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。优点:完全去中心化,节点自由进出;缺点:除比特币难获得相同算力保障自身安全
二、权益证明(PoS):节点记账权的获得难度和节点持有的权益成反比,相比PoW,一定程度上减少数学运算带来的资源消耗,性能也得到相应提升,但依然基于哈希运算,可监管性弱。容错性和PoW相同。优点:缩短共识达成的时间,节约能源;缺点:还是需要挖矿。
三、股份授权证明(DPoS),和PoS区别在选取若干代理人,由代理人验证和记账,其余和PoS类似。股东授予一名代表投票权,前100个代表按既定时间轮流产生区块。51%股东投票权不可逆且具有约束力。基本步骤:1.成为代表;2.授权投票;3.保持代表诚实;4.抵抗攻击。优点:大幅缩小参与验证和记账节点的数量;;缺点:整个共识机制仍依赖于代币。
其它共识机制:投注共识、瑞波共识机制、Pool验证池、实用拜占庭容错、授权拜占庭容错、帕克索斯算法
实用拜占庭容错:(1)取一个副本作为主节点,其他的副本作为备份;(2)用户端向主节点发送使用服务操作的请求;(3)主节点通过广播将请求发送给其他副本;(4)所有副本执行请求并将结果发回用户端;(5) 用户端需要等待F+1个不同副本节点发回相同的结果,作为整个操作的最终结果。
授权拜占庭容错(这个说的比较形象)
03人物篇&04应用篇:略
05装备篇
比特币简史:略
区块链词条
(只选取技术性并且之前没介绍过的词条)
哈希值:任意长度二进制映射成固定长度较小二进制值,是一段数据唯一且及其紧凑的数值表示形式。找到同一哈希值两个不同输入,从计算上来说不可能。
区块:信息块,三要素:本区块ID、若干交易单、前一个区块ID。一直倒推就成了区块链。
智能合约:一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
信用共识:区块链分布式结构以及基于数学算法的低成本信任共识机制,为金融领域相关问题和优化提供新思路和路径。