也许有人会想到,银行中的货币实际上也是数字化的,因为通过电子账号里面的数字记录了客户的资产。说的没错,有人称这种电子货币模式为“数字货币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消息进行通信。
《这里是故宫》内容简介:只露声音的宫殿君称得上是行走的“故宫资料库”,他以特别“接地气”的方式讲述故宫的建筑黑科技、超级神
《普通语言学纲要》内容简介:普通语言学及其研究领域;语言学史,包括传统语言学、历史比较语言学和现代语言学;语言学流派及其理
《西方左翼学者的马克思主义观》内容简介:本书主要反映西方左翼学者(其中既包括西方马克思主义和后马克思主义思潮与流派的代表人
《大盘时代:中国泛地产革命》内容简介:1999年,一条从广州南直通番禺的华南快速干线将普通的岭南小镇南村,变成了中国房地产史上
UI设计入门一本就够 本书特色 本书紧扣用户界面设计趋势,主要讲解了什么是UI设计,UI设计的原则与理念,UI的文字、图片和图标设计,网页UI设计,移动端UI设...
《JavaScript框架设计(第2版)》内容简介:本书全面讲解了JavaScript框架设计及相关的知识,主要内容包括种子模块、语言模块、浏览
《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简
TheIBMStyleGuidedistillsIBMwisdomfordevelopingsuperiorcontent:informationthatisc...
《许倬云说美国:一个不断变化的现代西方文明》内容简介:客居美国六十余载,华人史学大家许倬云分享自己的亲身经历,以历史学、社
宇宙如何誕生,又將如何結束?宇宙誕生後長成什麼形狀?如何演變成現今這般大小?我們的宇宙是不是獨一無二?本書針對這些問題提
《15天学会JavaScript(视频教学版)》内容简介:本书从技术和实际应用场景相结合的角度出发,结合当下热门技术(JavaScript、ECMA
本书对移动通信网络的视频通信业务以及技术体系进行了详细的介绍。全书介绍了基于JP的H.323视频通信系统、基于SIP的软交换视频通
《设计思维:整合创新、用户体验与品牌价值》是由30位行业专家共同撰写而成的,主要分三部分:为创新、品牌建设而做的设计,一种新
当前正在全球兴起的数字网络,并不仅仅是一种传输电子函件、万维网网页和数字电视的通信系统,而是一种全新的城市基础设施,一种
《贴地飞行:中国自主创新发展磁浮交通纪实》内容简介:本书是一部记述中国磁浮交通自主创新的纪实文学作品。该书作者近20多年来一
《梁庄十年》内容简介:2010年,《中国在梁庄》首次出版,向我们展现了一个急速变化的时代下的中国村庄的变迁。十年之后,作者梁鸿
Scratch是可视化的编程语言,其丰富的学习环境适合所有年龄阶段的人。利用它可以制作交互式程序、富媒体项目,包括动画故事、读书
不能说的秘密-Photoshop风光摄影后期创意调色圣经-含光盘1张 本书特色 介绍风光摄影后期常见问题处理阐述风光摄影后期各种创作思路解析众多风光摄影后期调色...
《马克思主义中国化进程中经典著作编译与传播研究(1949—1978)》内容简介:新中国成立70年以来,马克思主义经典著作在中国的编译
自万维网络中出现商业站点以来,基于Web的商业需求和用户的隐私权利之间就存在着不断的斗争。Web开发者们需要收集有关用户的信息