建议和反馈

请填写你的反馈内容

区块链的核心算法介绍

2019-06-30 ·3718次阅读 ·读完需要8分钟

区块链核心算法一:拜占庭协定

拜占庭的故事大概是这么说的:拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。

在这个分布式网络里:每个将军都有一份实时与其他将军同步的消息账本。账本里有每个将军的签名都是可以验证身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些将军。尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。

由此,在一个分布式的系统中,尽管有坏人,坏人可以做任意事情(不受protocol限制),比如不响应、发送错误信息、对不同节点发送不同决定、不同错误节点联合起来干坏事等等。但是,只要大多数人是好人,就完全有可能去中心化地实现共识

区块链核心算法二:非对称加密技术

在上述拜占庭协定中,如果10个将军中的几个同时发起消息,势必会造成系统的混乱,造成各说各的攻击时间方案,行动难以一致。谁都可以发起进攻的信息,但由谁来发出呢?其实这只要加入一个成本就可以了,即:一段时间内只有一个节点可以传播信息。当某个节点发出统一进攻的消息后,各个节点收到发起者的消息必须签名盖章,确认各自的身份。

在如今看来,非对称加密技术完全可以解决这个签名问题。非对称加密算法的加密和解密使用不同的两个密钥.这两个密钥就是我们经常听到的”公钥”和”私钥”。公钥和私钥一般成对出现, 如果消息使用公钥加密,那么需要该公钥对应的私钥才能解密; 同样,如果消息使用私钥加密,那么需要该私钥对应的公钥才能解密。

区块链核心算法三:容错问题

我们假设在此网络中,消息可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。我们的算法对由共识节点组成的共识系统,提供的容错能力,这种容错能力同时包含安全性和可用性,并适用于任何网络环境。

区块链核心算法四:Paxos 算法(一致性算法)

Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。 节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。

区块链核心算法五:共识机制

区块链共识算法主要是工作量证明和权益证明。拿比特币来说,其实从技术角度来看可以把PoW看做重复使用的Hashcash,生成工作量证明在概率上来说是一个随机的过程。开采新的机密货币,生成区块时,必须得到所有参与者的同意,那矿工必须得到区块中所有数据的PoW工作证明。与此同时矿工还要时时观察调整这项工作的难度,因为对网络要求是平均每10分钟生成一个区块。

区块链核心算法六:分布式存储

分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。所以,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放100个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是100个。


评论(0)问答(0)
请先登录或注册

请先登陆或注册

相关推荐

Fabric 链码 Chaincode 的安装、初始化、调用、升级

什么是 chaincodechaincode 是 fabric 的智能合约,又叫做链码。Chaincode 是生成交易 transacton 的唯一方式,是外界与区块链系统交互的唯一渠道,开......
Mecoooo · 2020-06-04
1039阅读 · 0赞赏 · 0问答

Hedera共识服务:超越智能合约

数字领域由集中式的应用程序服务和集中式的数据服务器主导。我们希望运营这些服务的组织是值得信赖的,并且是诚实地对待他们的用户。例如,我们相信服务提供者按照接收到的顺序处理交易,交易不会被删除或延迟,不会......
区块链技术 · 2020-04-30
1046阅读 · 0赞赏 · 0问答

2020年5个值得关注的去中心化金融项目

多年来,区块链技术已在不同行业中调整了其功能,以利用拥有去中心化系统的优势。其中最主要的是金融业,区块链建设者一直在不断开发创新产品来创建去中心化金融项目,也就是所谓的去中心化金融项目,从而将金融服务......
币圈老王 · 2020-04-02
539阅读 · 0赞赏 · 0问答

Hyperledger Fabric 简介、特性、架构与核心组件

Hyperledger Fabric 简介Hyperledger Fabric,中文称超级账本,原来主要由 IBM 和 Data Asset 发起,现在由 Linux 基金会管理。IBM 和 Data......
Ethan · 2020-03-24
1911阅读 · 0赞赏 · 0问答

Hyperledger Fabric源码解读(七) - COMMON通用包之配置类型包config

核心包之COMMON通用包之配置类型包config首先,我们看其代码结构:  这里主要是包含各种策略定义工具包、编译工...核心包之 COMMON 通用包之配置类型包 config......
链客 · 2020-03-16
790阅读 · 0赞赏 · 0问答

Hyperledger Fabric源码解读(六) - BSSCP包之UTILS工具包

四,核心包之 BSSCP(区块链加密服务提供者)包之 UTIL 工具包包内容简介:本包主要是和 BCCSP(区块链加密服务提供者)相关的各核心文件的接口文件,主要是提供一些密码学相关的操作实现的借口,......
链客 · 2020-03-16
856阅读 · 0赞赏 · 0问答

米区块

686

LK币

0

粉丝

6

笔记

感谢"米区块"

这篇精彩的笔记,目前已经帮助

  • 0
  • 3
  • 7
  • 1
  • 8
喜欢0
链客社群 加入

微博进入

商务合作>

广告投放>

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

感谢您的提问,问题被社区永久收入以便新人查看。一定要记得采纳最佳答案哦!加油!

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!