赞
踩
应用层和实现层:
应用层:从用户需求出发。
实现层:内在的技术原理和如何实现。
功能性和非功能性
功能性:能够做什么事情,完成什么任务
非功能性:做的怎么样,外观。其中重点关注安全性和完备性。
完备性:
- 数据完备性:软件系统中的数据要完整、正确且无冲突
- 行为完备性:软件系统要可顺序运行,并且保证不存在逻辑错误。
大多数软件错误,比如数据丢失,或者陌生人访问资源,都是缺乏完备性。
安全性:软件系统只对认证用户授权有限的数据访问和使用功能。
去中心化系统的优势:
- 计算能力强——系统中所有互联计算机计算能力之和
- 成本低——相比于超级计算机和服务器
- 可靠性更高——单个节点被破坏,系统可以正常工作
- 自增长的能力——向系统中加入新的计算机,可以提高去中心化系统的计算能力
去中心化系统的劣势:
- 节点之间的协调——协调过程有额外开销,占用计算资源
- 节点间冗余通信
- 对网络过度依赖——节点间的通信需要网络
- 系统编程要求较高的复杂度
- 安全问题
去中心化的点对点网络系统
具有中心化和去中心化优势的混合系统:
识别去中心化系统:如果系统中存在一个单独节点,关闭这个节点就可以切断整个系统,则这个系统不是去中心化 的。
区块链的作用:去中心化系统中用来实现并确保系统完备性的工具。——实现并保持去中心化系统的完备性。
Napster改变音乐产业——人们可以不依赖唱片公司获得音乐资源,并分享自己的音乐文件。
点对点系统相对于中心化系统的优势在于其直接在交易双方之间进行交互,而不通过中间人,因此处理时间更短,成本更低。
点对点系统:是由若干个节点(个人计算机)组成的分布式软件系统,系统中单一节点的计算资源(CPU处理能力、存储容量)可直接被其他节点调用。加入点对点系统时,用户按照权限和角色,将计算机转化为系统的节点。每个节点贡献资源可能不同,但是系统中节点有相同的功能和责任。
点对点系统的架构:
中心化的点对点系统
完全分布式的点对点系统
点对点系统和区块链之间的关系:分布式的点对点系统可使用区块链技术来实现和维护系统的完备性。
在一个点对点系统中,这意味着人们如果相信这个点对点系统,并且这个系统运作的结果增强了他们的信任,他们就会进一步进入这个系统,并且持续给这个系统作出贡献。整个点对点系统通过系统的完备性来满足用户的预期,并且增强他们对系统的信任。如果因为系统缺乏完备性使得用户没有对这个点对点系统增加信任,那么用户就会抛弃这个系统,进而使得这个系统走向终结。意识到信任对点对点系统的重要性之后,核心的问题就变成了:我们如何在一个完全去中心的点对点系统中提供并确保完备性?
确保完全去中心化系统的完备性的最重要的两个条件:
- 了解系统中的节点数目。
- 了解节点的可信任程度。
点对点系统中的完备性威胁:
- 技术性故障——一个节点故障或者系统运行错误
- 恶意节点——有人出于私利剥削整个系统,或者占据系统的主要资源——信任危机
区块链解决的问题:通过区块链技术,让一个不知道内部节点数量,也不知道节点可信度的点对点系统也可以实现并确保整个系统的完备性。
拜占庭将军问题:在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。
- 一种数据结构的名称:
将数据整合进一个个区块里面,一个个区块之间互相连接起来得到了区块链。
- 一种算法的名称
在一个完全去中心化的点对点系统中,将大量特定数据结构的数据妥善协调组织在一起的算法,类似于完美的民主投票方法。
- 一个完整的技术方案名称
将区块链数据结构、区块链算法、密码学以及安全技术综合在一起,来确保完全去中心化点对点系统完备性的一个完整的技术方案。
- 普通应用场景下完全去中心化点对点系统的一个概括性术语。
利用区块链技术方案实现完全去中心化点对点分布式账本系统的方法。
“加密货币”的所有权管理是区块链一个重要的使用场景,由于理解起来最简单,解释最容易。和这个使用场景对经济产生巨大影响,故而得到最为广泛的讨论。但是不是区块链唯一的使用场景。
区块链核心设计思想:有越多的独立见证人能够证明同一件事,这件事越有可能是真实的。
所有权证明的三要素:
- 对所有者的证明
- 对事物被拥有的证明
- 提供一个所有者和事物之间的连接
所有者和被所有事物之间的关联会象征性的通过一个账本记录,这个账本并不是生成之后就一成不变的,每一次所有权的变更都会在账本中进行登记,一个过期了的账本会失去证实所有权的公信力。
管理所有权的软件系统:
区块链中与安全有关的概念:
- 身份认证——通过提供可以作为标识符的相关信息来确认使用者的身份。
- 鉴定——阻止有人冒充他人。
- 授权——根据对应人的身份特征准许其访问特定资源或使用特定服务。
身份认证是确认使用者的身份。鉴定似乎证明你确实是你所声称的那个人。授权是让你根据之前的身份鉴定能访问特定的资源或者得到特定的服务。
账本的性质和意义:
账本必须同时履行的两种功能:1通过读取账本中的数据来证明所有权。2需要记录每一次所有权的转移。
区块链是一个能够被任何人访问,拥有类似账本功能的巨大去中心化的点对点系统——是一个去中心化的账本。
所有权和区块链:
在节点之间传递信息并更新各节点上的账本都需要时间,直到系统的最后一个结点收到最新的信息并完成自己的账本更新后,系统才达到一个稳定的状态。在过程中,有些节点会比其他节点更早的之后最新一次所有权转移的信息,并可以利用这一信息。
双花问题的3种含义:
- 复制数字商品引起的问题——一台计算机上的数据可以不受限制地进行复制,使得本该同一时间只有一个所有者的“加密货币”或其他数据出现多个所有者的问题。
- 去中心化的点对点分布式账本可能存在的问题——将信息同步到整个去中心化系统上需要花费时间,这导致了在同一个时间并不是所有的节点上都记录了完全一致的所有权信息。因为,不是所有节点都拥有最新的信息,同步信息慢的节点就可能会被其他拥有最新信息的节点所利用,导致在这个系统中出现同一个所有权在同一时间内的多次转移,
- 完全分布式点对点系统中违反完备性的一个例子。——去中心化点对点系统中数据一致性的问题。
复制数字商品引起的双花问题——数字商品映射到所有者
解决去中心化的点对点分布式账本中潜在的双花问题——区块链
解决分布式点对点系统中违反完备性的双花问题——设计数据结构和特殊算法
案例描述:
- 完全去中心的点对点系统,所有计算资源由系统用户提供。
- 点对点系统的节点通过互联网连接
- 系统的节点数量,节点是否值得信任,以及节点的可靠性都是未知的。
- 这个点对点系统设计初衷是为了管理数字资产的所有权。
需要完成的任务:
- 描述所有权——第九讲
交易是描述所有权转移的好方法,交易的完整历史记录是识别当前所有者的关键。
- 保护所有权
密码技术(第十讲和第十一讲介绍哈希值的生成,12讲13讲解释)
- 存储交易数据
14讲和15讲解释了为了充当数字账本,区块链数据结构必须满足的一些要求以及如何实现这些要求。
- 准备将账本分发到一个不值得信任的环境
区块链数据结构面临的挑战:一方面想要无法被恶意改变,一方面想要添加新的交易记录。16讲技术解决这个问题,可以添加新的区块,但是几乎不可能改变过去已经添加在区块内的数据。
- 分发账本
17讲介绍了系统中的节点如何交互,以及它们之间交互什么样的信息
- 向账本中增添交易记录
允许点对点系统的所有成员添加新的数据记录,并且将点对点系统每个节点变为相连节点。18讲详细解释设计方法,以及系统如何激励其中的节点履行职责并给予对应的奖励。
- 决定哪些账本代表了真相——真实的交易记录
针对双花问题,对于有不同交易记录的节点,应该信任哪个节点信息的问题。19将详细说明设计标准。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。