也许有人会想到,银行中的货币实际上也是数字化的,因为通过电子账号里面的数字记录了客户的资产。说的没错,有人称这种电子货币模式为“数字货币1.0”,它实际上依赖于一个前提:假定存在一个安全可靠的第三方记账机构负责记账,这个机构负责所有的担保环节,最终完成交易。
比特币自身的价值通过背后的计算力进行背书
比特币网络自2009年上线以来,在无人管理的情况下,已经在全球范围内7×24小时运行超过8年时间,成功处理了几百万笔交易,甚至支持过单笔1.5亿美元的交易。更为难得的是,比特币网络从未出现过重大的系统故障
要实现一套去中心化的数字货币机制,最关键的是要建立一套可靠的交易记录系统,以及形成一套合理的货币发行机制。
状态机
后继区块记录前导区块的哈希值(pre hash)
共识机制
nonce
跟传统的记账技术相比,基于区块链的分布式账本应该包括如下特点:·维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改;·去中心化,或者说多中心化,无需集中控制而能达成共识,实现上尽量采用分布式;·通过密码学的机制来确保交易无法被抵赖和破坏,并尽量保护用户信息和记录的隐私性。
2.分布式共识
问题的核心在于如何解决某个变更在分布式网络中得到一致的执行结果,是被参与多方都承认的,同时这个信息是被确定的,不可推翻的。
该问题在公开匿名场景下和带权限管理的场景下需求差异较大,从而导致了基于概率的算法和确定性算法两类思想。
让恶意破坏的参与者损失经济利益,从而保证大部分人的合作
PoW等基于概率的系列算法理论上允许少于一半的不合作节点,PBFT等确定性算法理论上则允许不超过1/3的不合作节点。
区块链在资源共享领域是否存在价值,还要看能否比传统的专业供应者或中间方形式实现更高的效率和更低的成本,同时不能损害用户体验
不一致
共识则描述了分布式系统中多个节点之间,彼此对某个状态达成一致结果的过程
一致性描述的是结果状态,共识则是一种手段
一般地,把出现故障(crash或fail-stop,即不响应)但不会伪造信息的情况称为“非拜占庭错误”(non-byzantine fault)或“故障错误”(Crash Fault);伪造信息恶意响应的情况称为“拜占庭错误”(Byzantine Fault),对应节点为拜占庭节点。
针对常见的非拜占庭错误的情况,已经存在一些经典的解决算法,包括Paxos、Raft及其变种等。这类容错算法往往性能比较好,处理较快,容忍不超过一半的故障节点。
对于要能容忍拜占庭错误的情况,一般包括PBFT(Practical Byzantine Fault Tolerance)为代表的确定性系列算法、PoW为代表的概率算法等。
科学告诉你什么是不可能的;工程则告诉你,付出一些代价,可以把它变成可行。这就是科学和工程不同的魅力。
CAP原理:分布式计算系统不可能同时确保以下三个特性:一致性(Consistency)、可用性(Availability)和分区容忍性(Partition),设计中往往需要弱化对某个特性的保证。
·一致性:任何操作应该都是原子的,发生在后面的事件能看到前面事件发生导致的结果,注意这里指的是强一致性;·可用性:在有限时间内,任何非失败节点都能应答请求;·分区容忍性:网络可能发生分区,即节点之间的通信不可保障。
ACID原则指的是:Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性),用了四种特性的缩写。
数字摘要是对数字内容进行Hash运算,获取唯一的摘要值来指代原始完整的数字内容
PKI体系提供了一套完整的证书管理的框架,包括生成、颁发、撤销过程等。
1.快速比较大量数据
2.快速定位修改
3.零知识证明
布隆过滤器(Bloom Filter)
交易费用越高,越多矿工愿意包含该交易,也就越早被放到网络中。
一旦失败,这些算力都会被没收掉,成为沉没成本。
以太坊的早期发明者Vitalik Buterin提出应该能运行任意形式(图灵完备)的应用程序,而不仅仅是比特币中受限制的简单脚本。
以太币最小单位是wei,一个以太币等于10\(^{18}\)个wei。
节点之间彼此通过gRPC消息进行通信。
深入理解LINUX内核(第三版) 内容简介 为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交...
DonBox是微软公司的架构师,主要研究方向为下一代Web服务协议和程序设计模型。Don是软件集成技术方面的权威。在上世纪90年代,他
“融合与开放的下一代网络丛书”系统地描述了作者在国家973计划、国家863计划、国家杰出青年科学基金和国家自然科学基金等项目的
《第三代移动通信网络系统技术应用及演进》涵盖了现代移动通信,主要是第三代移动通信(3G、E3G和B3G,简称3G)主流技术的基本理
游戏开发中的物理学-第二版-(影印版) 本书特色 如果你打算丰富游戏中现实意义上的物理体验,《游戏开发中的物理学(影印版第2版)》这本经典书籍的扩展版本...
Newmediathrivesoncyclesofobsolescenceandrenewal:fromcelebrationsofcyber-everythi...
《中国有文化》内容简介:本书意在呈现南怀瑾先生对于中国文化总体脉络、特色和价值的概述。南怀瑾先生对于中国历史文化有很多独到
Spring MVC学习指南 本书特色 spring mvc是spring框架中用于web应用快速开发的一个模块,其中的mvc是model-view-contr...
《深入理解分布式事务》内容简介:本书的广度与深度兼备、理论与实战兼顾的分布式事务专著,它从基础知识、解决方案、原理分析、源
《物联网渗透测试》内容简介:本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web
《进阶理解版式设计(附盘)》装帧精美,附赠1CD和可撕式字体卡。内容可操作性强,理论扎实,案例新颖。后勒口可以撕下来,增加了读
《趣学Python编程》内容简介:python是一款解释型、面向对象、动态数据类型的高级程序设计语言。python语法简捷而清晰,具有丰富和
《赢家智慧》内容简介:本书是庄恩岳先生的最新力作。在本书中,作者结合亲身管理实践经验及大量鲜活的案例,将自己在工作与生活中
《投资中简单的神奇公式》内容简介:无论是A股还是美股,各国的资本市场总是由于它们的跌宕起伏,让无数的投资者着迷。股市每天都有
《对比Excel,轻松学习SQL数据分析》内容简介:本书是《对比Excel,轻松学习Python数据分析》的姊妹篇,同样采用对比的方法,降低学
InTheSemioticEngineeringofHuman-ComputerInteraction,ClarisseSieckeniusdeSouzapro...
版式设计的原理已经存在了几个世纪,除平面设计外,建筑设计、时装设计等很多领域都广泛地运用这些原理。本书通过挖掘日常生活中
FreeBSD操作系统设计与实现,ISBN:9787115136855,作者:(美)(Marshall,K.M.)著目录 第一部分综述第1章BSD系统的历史和目...
本书针对Photoshop用户在学习过程中遇到的困惑,深入剖析了Photoshop图像处理的原理和方法。本书以颜色理论和选择(道)两条主线,
《徐肖冰传》内容简介:在摄影机后面观察历史的人,他用镜头定格20世纪中国的烽火硝烟、恩怨情仇,用影像鲜活了一段中国现代革命史