当前位置:首页 - 第117页

08月25日

3.3 编码/解码算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 895次
3.3 编码/解码算法

众所周知,计算机存储和处理的都是二进制数据。为了简洁,实际上使用最多的是二进制的一个变种——十六进制。比如笔者的名字叫嘉文,中文拼音是jiawen(全小写),在计算机里存储的就是6A696177656E。很明显,人类容易记住jiawen,而其相应的十六进制代码6A696177656E就很考验人的记忆力了。同样,人类很难记住十六进制的数据,但如果是十六进制编码的文本字符串,就相对好记好读一些了。以下是一张ASCII码表的一部分。DEC OCT HEX  BIN    Symbol HTMLNumber HTMLNameDescription0&nbs

08月25日

3.4 应用场景

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 911次

密码算法在区块链系统中的重要性,相当于整个体系的骨骼,如果没有骨骼会怎样?毫无疑问,整个大厦将会坍塌,我们来举一些例子,看看都起哪些作用。(1)账户地址生成这个其实就是对公开密钥算法的巧妙使用,首先生成一对密钥,即私钥和公钥,由于公钥是可以公开的,因此可以作为自己对外的一个账号,而又由于公钥必须和对应的私钥匹配才能验证通过,因此这种方式生成的地址,先天就具备可验证性。(2)价值转移保卫我们不展开对价值转移本身经济意义的论述,就说实现方式,这又是公开密钥算法的一个用武之地了。无论是比特币、以太坊、超级账本Fabric还是其他区块链系统,要想在一个分布式的公网上发送一笔代表价值的数据(比如数字货币、证券、资产所有权等),必须解决掉两个基本的问题:1)证明这笔数据确实是发出者的,不是篡改或

08月25日

3.5 知识点导图

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 839次
3.5 知识点导图

08月25日

第4章 区块链灵魂:共识算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 881次

区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统的中心化账本系统相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”目前主要有几大类共识机制:Pow、Pos、DPos、Pool、PBFT1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;优点:完全去

08月25日

4.1 分布式系统的一致性

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 954次
4.1 分布式系统的一致性

所谓一致性,就是指数据要完整、要同步。比如,我们在网上下了个订单,付了款,商城系统会记录下这些数据,之后无论我们在哪里访问自己的订单,都能看到同样的结果,即便商城系统出了故障,那一般也会返回一个错误提示而不是给我们一个不一样的结果。再比如银行,我们存了一笔钱进去,无论到哪里,我们查询银行账户的时候金额也不会变。也就是说,在这些系统中,数据的结果总是一致而同步的,即便这些系统的服务器不止一台,但都属于同一个中心集群,在内部是可以高效一致同步的。区块链系统本质就是一个分布式应用软件。分布式系统的首要问题就是如何解决一致性的问题,也就是如何在多个独立的节点之间达成共识。要注意的是,这里说的是要达成一致,而没有说保证一定要结果正确,比如所有的节点都达成失败状态也是一种一致,说白了就是

08月25日

4.2 Paxos算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 925次
4.2 Paxos算法

首先,Paxos算法解决的是非拜占庭将军问题,也就是说仅仅是指分布式系统中的节点存在故障,但是不存在恶意节点的场景,在这种情况下如何达成共识。1998年Lamport提出Paxos算法,后续又增添多个改进版本的Paxos,形成Paxos协议家族。Paxos协议家族有一个共同的特点就是不易于工程实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。除了经典Paxos(又名BasicPaxos),以下均为Paxos的变种,基于CAP定律,侧重了不同方向。·CheapPaxos·EgalitarianPaxos·FastPaxos·Multi-Paxos·ByzanetinePaxosPaxos算法实在是太晦涩难懂,上面所列的Paxos算法分支就不详细介绍了。如

08月25日

4.3 Raft算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 892次

由于Paxos太难懂、太难以实现,Raft算法应运而生。其目的是在可靠性不输于Paxos的情况下,尽可能简单易懂。斯坦福大学的DiegoOngaro和JohnOusterhout以易理解为目标,重新设计了一个分布式一致性算法Raft,并于2013年底公开发布。Raft既明确定义了算法中每个环节的细节,也考虑到了整个算法的简单性与完整性。与Paxos相比,Raft更适合用来学习以及做工程实现。下面,笔者将以通俗易懂的方式来描述这个过程。百花村村长一人负责对外事务。比如,县和乡两级的公文来往,公粮征收,工务摊派,税收等。Raft是一个强Leader的共识协议。我们想象百花村是一个服务器集群,而这个集群的Leader就是村长,村里的每户人家(follower)对应一个服务器,每

08月25日

4.4 PBFT算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 1332次

1999年Castro和Liskov提出的PBFT(PracticalByzantineFaultTolerance)是第一个得到广泛应用的BFT算法。在PBFT算法中,至多可以容忍不超过系统全部节点数量的1/3的拜占庭节点“背叛”,即如果有超过2/3的节点正常,整个系统就可以正常工作。早期的拜占庭容错算法或者基于同步系统的假设,或者由于性能太低而不能在实际系统中运作。PBFT算法解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。也许就是出于效率的考虑,央行推出的区块链数字票据交易平台用的就是优化后的PBFT算法。腾讯的区块链用的也是PBFT。在PBFT算法中,每个副本有3个状态:pre-prepar

08月25日

4.5 工作量证明——PoW

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 900次

工作量证明(ProofofWork,以下简称PoW)机制随着比特币的流行而广为人知。PoW协议简述如下:1)向所有的节点广播新的交易;2)每个节点把收到的交易放进块中;3)在每一轮中,一个被随机选中的节点广播它所保有的块;4)其他节点在验证块中的所有的交易正确无误后接受该区块;5)其他节点将该区块的哈希值放入下一个它们创建的区块中,表示它们承认这个区块的正确性。节点们总是认为最长的链为合法的链,并努力去扩大这条链。如果两个节点同时广播各自挖出的区块,其他节点以自己最先收到的区块为准开始挖矿,但同时会保留另一个区块。所以就会出现一些节点先收到A的区块并在其上开始挖矿,同时保留着B的区块以防止B的区块所在的分支日后成为较长的分支。直到其中某个分支在下一个工作量证明中变得更长,之前那些

08月25日

4.6 股权权益证明——PoS

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 880次

股权权益证明(ProofofStack,以下简称PoS)现在已经有了很多变种。最基本的概念就是选择生成新的区块的机会应和股权的大小成比例。股权可以是投入的资金,也可以是预先投入的其他资源。PoS算法是针对PoW算法的缺点的改进。PoS由QuantumMechanic2011年在bitcointalk首先提出,后经Peercoin和NXT以不同思路实现。PoS不像PoW那样,无论什么人,买了矿机,下载了软件,就可以参与。PoS要求参与者预先放一些代币(利益)在区块链上,类似将财产存储在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。用户只有将一些利益放进链里,相当于押金,用户才会更关注,做出的决定才会更理性。同时也可以引入奖惩机制,使节点的运行更可控,同时更

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!