也许有人会想到,银行中的货币实际上也是数字化的,因为通过电子账号里面的数字记录了客户的资产。说的没错,有人称这种电子货币模式为“数字货币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消息进行通信。
《清华新闻传播学前沿讲座录(2021)》内容简介:“新闻与传播前沿讲座”是清华大学新闻与传播学院面向研究生开设的一门专业课程,
《用户体验草图设计工具手册(全彩)》是《用户体验草图设计》的配套阅读图书,将指导你如何一步一步地用草图来表达你的设计理念
《O2O来了——餐饮、零售、车市场、旅游、家政、短租行业必读的50个经典案例》系统地介绍了新兴商业模式O2O概念及最新相关理论,
我们生活在一个信息爆炸的时代,每一分、每一秒,我们都能从电视、报纸或互联网上获得信息。我们甚至来不及思索,就已经被这些信
Linux 本书特色 《完全傻瓜·Linux(第2版)》:简便方法:让你*大限度地掌握Linux简易步骤:教你安装、配置Linux,使用K桌面环境,将您的计算机...
《Python青少年趣味编程》内容简介:Python是现在非常流行的计算机编程语言,它功能强大,应用场景广泛,但其语言却简洁,非常适合
杭间,1961年生于浙江义乌,文学博士,清华大学美术学院副院长,教授,博士生导师。毕业于中央工艺美术学院艺术史论系,1996年至2
《Head First Go语言程序设计》内容简介:Go是为高性能网络和多处理而设计的,但与python和javascript一样,该语言易于阅读和使用。
【有关家居的一期】2014年KINFOLK春季刊旨在探究“家的意义”。比如,家的理想模样,因人而异的家居布置风格以及美好的家所共享的
《百万在线》内容简介:本书首部分:学以致用(第1-4章)。这部分介绍了Skynet引擎的使用方法及注意事项,以《球球大作战》的案例贯
《苏东坡新传》内容简介:苏东坡,天赋异禀的大文豪,无可救药的乐天派…… 他的标签很多,却难以被标签定义。居高处为翰林学士,落
《烹饪原料》内容简介:本书重点介绍了各类烹饪原料的形态特征、性质特点、产地与产季、组织结构、品质检验、贮存与保管、烹饪运用
本书是著名作者Tanenbaum关于分布式系统的最新力作,是分布式系统的权威教材。本书分成了两大部分。第2~9章讨论的是分布式系统的
《看·听·读(精装)》内容简介:本书为《列维-斯特劳斯文集》之一。在岁月的长河中,作者看过许多画,听过许多音乐,读过许多书,
《体验营销(修订版)》:商家赢利新法宝,销售的革命!今天,运用体验营销开展商业竞争已成为商家赢利的法宝。体验营销是个新概念
Humansperceivethethree-dimensionalstructureoftheworldwithapparentease.However,de...
《见微知著:从软件实践到软件工程》以一个非常典型的软件系统——酒店信息管理系统的开发为例,站在欠缺经验的IT学生的角度,介绍
《工作一年拉开差距:逻辑思考》内容简介:刚工作一年,总是感觉思路混乱? 刚接手新的业务压力很大,对新项目的思考总觉得不够深入
本书简要介绍了Verilog硬件描述语言的基础知识,列举了大量实例,每个实例都经过精心选择,非常利于读者掌握Verilog硬件描述语言
《最新考博英语命题人高分策略:翻译强化特训》内容简介:博士研究生入学英语考试主要测试听力、语法、词汇、阅读理解、完形填空、