精华内容
下载资源
问答
  • 区块链基本原理

    2020-01-05 17:48:03
    区块链基本原理 区块 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DsGnfwcW-1578217668493)(E:\buaa-learn\区块链\images\block.jpg)] 区块高度:区块唯一ID,创世块高度为0,每生成一...

    区块链基本原理

    区块

    在这里插入图片描述

    • 区块高度:区块唯一ID,创世块高度为0,每生成一个块,块高度加1;
    • 头哈希:每个区块有唯一一个哈希值,依据上一个区块的头哈希+数据块哈希+随机数生成;
    • 父哈希:上一个高度区块的哈希值;
    • merkle根:区块中每一笔交易对应一个哈希,呈树状结构,代表了该区块中的交易;
    • 难度:随网络算力变化自动调节;
    • Nonce:挖矿所要达到的目标值;
    • 区块体:一定时间内的交易信息,即账本。

    交易过程

    • 公钥:类似银行卡号

    • 私钥:类似密码

    • 转账过程:

      1.使用私钥对即将发生的交易进行签名;

      2.从客户端将交易发送到区块链网络;

      3.矿机将这笔交易打包进一个区块;

      4.矿机取大量不同的随机数,计算哈希值,直到算出小于等于目标数,且以一串0开头的哈希值,完成打包,广播区块信息;

      5.每个区块包含一个coinbase的初始交易,作为挖矿奖励。

    在这里插入图片描述

    • 区块链、比特币相关概念及工作原理解释:

    在这里插入图片描述

    展开全文
  • 区块链基本原理简介

    千次阅读 2019-02-24 21:12:00
    一个简单的区块链模型,学习区块链的笔记,使用python3 实现了区块链基本原理。使用Flask 构建 peer to peer 网络,项目地址 简单区块链系统实现之使用方法 简单区块链系统实现之程序开发 比特币简介: 比特币...

    简单区块链系统实现之原理讲解

    一个简单的区块链模型,学习区块链的笔记,使用python3 实现了区块链的基本原理。使用Flask 构建 peer to peer 网络,项目地址

    简单区块链系统实现之程序开发

    简单区块链系统实现之程序运行

    完整项目地址

    比特币简介:

    • 比特币是一种基于分布式网络的数字货币。比特币系统(广义的比特币)是用来构建这种数字货币的网络系统,是一个分布式的点对点网络系统。

    • 比特币底层的技术:点对点网络,时间戳,加密技术,工作量证明,共识机制不仅可以用于比特币系统,还可以用于其他领域,比特币底层技术的集合称为区块链技术,可见,区块链是一系列技术的集合。

    • 比特币不等于区块链,区块链开发也不等于就是炒币

    • 比特币又称为区块链1.0,是区块链的典型应用。

    比特币运行原理

    区块链记账方法

    假设有一个账单交易记录如下:

    账号 入账 出账 余额 备注说明
    王炸 100 190 收到货款
    张三 100 30 ……
    李四 120 90 170 ……

    记账时间为:2019-02-24 14:50:01

    区块链在记账是会把账单信息(包含账单号、记账时间、交易记录)作为原始信息进行Hash, 得到一个Hash值,如:787635ACD, 用函数表示为:

    Hash(序号0,记账时间,交易记录)=787635ACD
    

    比特币系统里约10分钟记一次账,即每个区块生成时间大概间隔10分钟

    在记第2个账单的时候,会把上一个块的Hash值和当前的账单信息一起作为原始信息进行Hash,即:

    Hash(上一个区块的Hash值,序号1,交易时间,交易记录)=456635BCD
    

    这样第2个区块不仅包含了本账页信息,还间接的包含了第一个区块的信息。依次按照此方法继续记账,则最新的区块总是间接包含了所有之前的账页信息。

    所有这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只要验证最后一个区块的Hash值就相当于验证了整个账本),不可更改(任何一个交易信息的更改,会让所有之后的区块的Hash值发生变化,这样在验证时就无法通过)的总账本。

    哈希函数补充知识

    • 简介

      哈希函数:Hash(原始信息) = 摘要信息,原始信息可以是任意的信息, hash之后会得到一个简短的摘要信息

    • 特点
      • 同样的原始信息用同一个哈希函数总能得到相同的摘要信息

      • 原始信息任何微小的变化都会哈希出面目全非的摘要信息

      • 从摘要信息无法逆向推算出原始信息

    • 举例:

      Hash(张三借给李四100万,利息1%,1年后还本息 ……) = AC4635D34DEF,账本上记录了AC4635D34DEF这样一条记录。

    • 哈希函数作用

      • 简化信息:哈希后的信息变短了。

      • 标识信息:可以使用AC4635D34DEF来标识原始信息,摘要信息也称为原始信息的id。

      • 隐匿信息:账本是AC4635D34DEF这样一条记录,原始信息被隐匿。

      • 验证信息:假如李四在还款时欺骗说,张三只借给李四10万,双方可以用AC4635D34DEF来验证原始信息

    区块链工作量证明(挖矿原理)

    比特币系统记账需要把交易记录,交易时间,账本序号,上一个块的哈希值等信息计算Hash并打包,需要消耗一定计算资源个存储资源,需要付出成本,所以为了让网络可以运行,需要有一定的奖励措施,当节点完成记账工作后系统会给一定的奖励,这个奖励就是比特币的发行过程,因此形象的将记账的过程称为挖矿

    协调记账工作

    既然记账工作会有收益,那就会有很多人来争相记账,但是这样会造成记账不一致的问题,所以引入了比特币工作量证明来解决这个问题,有如下规则

    • 一段时间内(大约是十分钟左右产生一个区块) 只有一个人可以记账成功

    • 节点之间通过解决密码学难题来竞争唯一的记账权

    • 其他没有货的记账权的节点直接复制记账节点的结果并验证就好

    在进行工作量证明之前,记账节点会首先做好如下准备工作:

    • 收集广播中还没有被记录在账本中的原始交易信息

    • 检查交易是不是合法(例如一个地址不可以转比余额更大数量的比特币到其他地方)

    • 验证交易是否正确的签名

    • 验证通过的交易进行打包

    • 添加一个奖励交易给自己(比特币的发行)

    如果节点争夺记账权成功的话,就可以得到相应数量的比特币

    工作量证明

    从记账方法中可知,每次记账的时候只需要计算一个Hash值就好,只要知道了上一个块的哈希值,待挖块的交易信息就可以很快的计算出哈希值,这样没有办法争夺记账权了,为了确保十分钟左右(这与密码学问题难度有关)只有一个区块产生,必须要提高记账的难度。

    现在采取的措施是要求生成的哈希值前边有若干个连续的0,当前区块链系统中要求有18个0,在计算哈希的时候再加入一个随机数,使得哈希值满足要求,但是这个随机数是无法直接计算出来的,没有捷径可走,只能从0开始一个一个尝试,直到哈希值满足要求。率先找到满足要求的随机数的节点就获得了记账的权利

    • 难度分析:

      哈希值每一位有26个大写字母,26个小写字母,10个数字,一共有62个字符,按照每个字符出现的概率均等来计算,第一位是0的概率是1/62,18个0的概率就是18个1/62相乘,理论上需要计算62的18次方哈希才可以找出来,所以如果一个节点计算出来这个值,需要投入很大的电力和算力,现在计算出这个值太难,一般没有单独的矿工挖矿了,通过加入矿池,按照算力来分收益比较常见。

    验证

    在节点成功找到满足的Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。

    如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块打包,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。

    网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,这样就保证了整个账本的唯一性。

    假如节点有任何的作弊行为,都会导致网络的节点验证不通过,直接丢弃其打包的区块,这个区块就无法记录到总账本中,作弊的节点耗费的成本就白费了,因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了整个系统的安全。

    共识机制

    在挖矿过程中,人人都想要争夺记账权得到收益,为了确保收益的合法性,只有当一个节点的工作量证明被其他节点认同的时候才会验证通过,这个节点才会获得收益,也就是只有遵守协议才可以得到其他节点的认同,这样,促使了数以万计的节点都遵守一个简单的规则,那么这个规则就是一个共识,就是一个大家共同遵守的一个协议规范

    在没有一个中心化服务器的状况下,所有节点如何达成一个共识呢?

    实际上,比特币的共识机制由所有节点的4个独立的过程相互作用产生:

    • 每个节点(挖矿节点)依据标准对每个交易进行独立验证

    • 挖矿节点通过完成工作量证明,将交易记录独立打包进新区块

    • 每个节点独立的对新区块进行校验并组装进区块链

    • 每个节点对区块链进行独立的选择,在工作量证明机制下选择积累工作量最大的区块链就是权威的公共总账本

    前三条在工作量证明和记账工作部分已经说过,对于第四条,累计工作量最大的区块链就是最长的一个区块链,一个节点和自己的邻居节点进行数据比对,如果数据不一致,则要进行冲突的解决,最终达到和邻居节点的链数据一致的结果,当然,节点的每一个邻居节点也会做同样的操作,最终达到网络上存储的账本一致

    解决冲突可以分为以下几类:

    • 节点的链比邻居节点的链长:很好,这个节点不需要自己存储的链进行操作,只需要告诉邻居节点,哥们,你的链少东西呀,赶紧同步一下

    • 节点的链和邻居节点的链一样,啥都不用作,继续检查其他邻居节点

    • 节点比邻居节点的链短:检查邻居节点的链是不是合法的链(哈希值对不对,工作量证明对不对)链合法的话用就用邻居的链替换自己的链,否则不替换,并告诉邻居节点链错了

    共识机制的第四条保证了链条的增长只在最长的链上进行。

    展开全文
  • @区块链基本原理(数据结构、节点如何工作、密码学原理) 前言 区块链技术是在多方无需互信的环境下,通过密码学技术让系统中所有参与方协作来共同记录维护一个可靠的数据日志的方式。 (本) 1 数据结构 从狭义的...

    前言

    区块链技术是在多方无需互信的环境下,通过密码学技术让系统中所有参与方协作来共同记录维护一个可靠的数据日志的方式。

    1 数据结构

    从狭义的定义来说区块链是一个可以记录多方资金的往来记录、物品交换记录的公共账本,是包含一系列交易和信息的数据块以顺序相连的方式组合成的链式数据结构

    1.1 哈希指针(Hash Pointer)

    链上各个区块通过哈希指针相连,除了第一个被最早构建的区块(Genesis Block),每个区块都有指向前一个区块的哈希指针,它不仅指向前一个区块的地址,还存储其哈希值。一个简单的区块链如图1所示,H()是把前面整个区块的内容取哈希包括它的哈希指针。通过这样的数据结构能够实现防篡改日志(tamper-evident log),好处是只要记录最后的哈希值,就可以检测出区块链中任何部位的修改,不论是在哪个部位做了改动,最后都会导致最后的哈希值发生变化。
    图1 简单的区块链

    1.2 区块

    每个区块的大小不能超过1M,包括两个部分:区块头(Block Header)和区块体(Block Body)。

    1.2.1 区块头

    区头包括以下6个部分:
    1)版本号(Version):4个字节,用来标识交易版本和所参照的规则,例如Windows7、安卓9.0。
    2)前一区块的哈希值(Hash of previous block header):32个字节,通过对前一个区块的区块头数据进行哈希计算得出,使得每个新挖出的区块都按秩序接在前一个区块的后面。
    3)根哈希值(Merkle root hash):32个字节,区块链中的交易被组织成为默克尔树结构,交易均被存储在默克尔树的叶子节点上,通过两两合并哈希直至得到根节点的哈希值。
    4)时间戳(Time):4个字节,用于记录区块的封装时间,保证数据的不可篡改性,具备数据溯源功能。
    5)随机数(Nonce):4个字节,挖矿就是找对应的随机数,它是矿工完成工作量证明算法时的输入,也是矿工获取奖励的凭证。
    6)难度值(Target):4个字节,挖出区块的难度目标,通过输入不同的随机数,使生成区块的哈希值小于等于目标域值。

    1.2.2 区块体

    区体主要包括一系列的交易列表,所有交易均被组织成默克尔树结构(Merkle Tree)。树的叶子节点存储的是数据信息的哈希值,非叶子节点的存储是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。默克尔树结构可以快速验证交易的有效性,并大幅减少节点的存储空间。

    1.3 比特币(BTC)系统中的数据结构

    图2 比特币系统中的数据结构

    2 节点

    区块链具有去中心化的特性,去中心化的应用就是由很多台服务器管理存储信息,并且相互验证。节点就是去中心应用中的服务器。节点的数据一般存储在磁盘中,区块链通过特定的数据库来访问磁盘中的数据。

    2.1 节点的分类

    比特币网络中区块链的节点分为全节点(Full node)和轻节点(Light node)。

    2.1.1 全节点

    全节点包含区块头和区块体,职责如下:
    1)一直在线。
    2)在本地磁盘上维护完整的区块链信息。
    3)在内存里维护UTXO(Unspent Transaction Output)集合,以便快速检验交易的正确性。
    4)监听网络上的交易信息,验证每个交易的合法性(有无合法的签名,是不是双花攻击)。
    5)决定哪些交易会被打包到区块里。
    6)监听别的矿工挖出来的区块,验证其合法性,从三个方面验证:每个交易是否合法、区块头的难度目标域值是否设置正确、检查这个区块是否在延伸最长合法链。
    7)挖矿,沿着最长合法链挖;当出现分叉时,选择最先听到的分叉挖下去。

    2.1.2 轻节点

    轻节点只包含区块头,职责如下:
    1)不是一直在线。
    2)不用保存整个区块链,只保存每个区块的块头。(跟存整个块大概差1000倍)
    3)不用保存全部交易,只保存与自己相关的交易。
    4)无法检验大多数交易的合法性,只能检验与自己相关交易的合法性。
    5)无法检测网上发布的区块的正确性。(因为职责4)
    6)可以验证挖矿的难度。
    7)只能检测哪个是最长链,不能检测哪个是最长合法链。(因为职责4)

    2.2 节点的小结

    网络上大部分节点都是轻节点,只需转账,无需挖矿。轻节点默认全节点挖出的块里的交易都是合法的,因为挖矿的代价太大,需要大量的工作证明,如果区块里有非法的交易,就相当于白挖了。

    3 密码学原理

    为保证账本的完整性、公开性、隐私保护、不可篡改、可校验等一系列特性,区块链技术高度依赖密码学。

    3.1 哈希函数

    哈希函数是将任意长度的字符串映射为固定长度的较短字符串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。
    主要有两个特性:
    1)抗碰撞性(collision resistance)
    有必要说下什么是哈希碰撞,哈希碰撞就是两个不同的输入,算出的哈希值是一样的。如:x!=y,H(x)==H(y)。理论上,不同输入有可能得到同一哈希值,但是概率极低,所以近似认为不可能发生。
    2)不可逆性(Hiding)
    x→H(x),单向不可逆。已知H(x), 得到x的概率极低。

    挖矿就是找nonce,使得H(block header)<=target(目标域值),目标域值和整个输出空间如图3所示:
    图3 目标域值范围

    3.2 加解密

    比如:发一份邮件,我用你的公钥加密,你收到后再用你的私钥解密,同样的回复邮寄,你用我的公钥加密,我接收后再用自己的私钥解密。

    3.3 数字签名

    签名用的是私钥,验证签名用的是公钥。具体来说是指私钥持有者对消息m进行哈希运算得到H(m),并用私钥对H(m)加密生成签名s,将消息m和签名s发送给其他人,其他人用发送者的公钥对签名s解密,得到H’(m),对消息m进行哈希运算H(m),然后通过对比H’(m)与H(m)是否一致判断验签是否成功。

    3.4 身份管理

    公钥或公钥哈希被视为用户在区块链中的身份,从用户的角度来看,私钥是一串杂乱无章的字符串。
    创建比特币账号只需本地创建一对公私钥(比特币系统采用椭圆曲线数字签名算法产生用户的公私钥对),公相当于银行卡号,私钥相当于密码。

    展开全文
  • 区块链基本原理系列: Part-1:拜占庭容错Part-2:工作量证明和权益证明 一段时间以前,我们讨论了共识机制的工作方式(即本系列 Part-1)并了解了工作量证明(PoW)和权益证明(PoS)的基础(即本系列 Part-2)...

    区块链基本原理系列:

    Part-1:拜占庭容错
    Part-2:工作量证明和权益证明


    1.png

    一段时间以前,我们讨论了共识机制的工作方式(即本系列 Part-1)并了解了工作量证明(PoW)和权益证明(PoS)的基础(即本系列 Part-2)。

    要点在于,PoW 提供了迄今为止被证明最强的安全性,但需要耗费大量电力。PoS,作为主要的替代方案,移除了 PoW 的能源要求、以“验证者”代替矿工,给他们与其权益相对应的权重来验证(“挖出”)下一个区块。

    另一种经常被讨论的共识机制是委托权益证明(DPoS)。这是一种权益证明的变体,以限制网络中验证者的数量为代价,它可以提供很强的可扩展性。

    在本文中,我们会了解 DPoS 的工作方式,它的好处和代价,以及为实现更高强度的可扩展性、规避审查与双花风险,我们能如何减少这些代价。

    DPoS 简介

    DPoS 是一种区块链系统,在其中,一组数量固定的被选举实体(被称之为 区块生产者 或是 见证人)会轮流创建区块。区块生产者的权力是由网络中的用户投票赋予的,这些用户拥有的票数是与他们持有的网络原生代币数量(也即他们的 权益)成比例的。

    或者,选举人也可以将他们的权益 委托(Delegate) 给另一位选举人,这位代理人可以代表他们在区块生产者选举中投票。

    Dan Larimer 还为 DPoS 与 PoS 的术语区别写了一条注释:[1]

    • 区块生产者 是由选举人选举出来的,在数量上有限;他们的责任在于创建和签名新区块。
    • 区块验证者 在 DPoS 系统中指的是那些验证区块生产者创建的区块是否遵循了共识规则的全节点。任何用户都可以运行验证程序并验证网络。(人们可能会弄混,因为在 PoS 的 Casper 实现中(编者注:中译本见文末超链接《Casper 101》),“验证者”指的是 创建 区块的节点)。

    在委托权益证明网络中,区块生产者数量是由该链的共识规则决定的。下面是一些最广为人知的委托权益证明链及其规定的生产者数量:

    • EOS: 21
    • BitShares: 101
    • Steemit: 21
    • Lisk: 101
    • Ark: 51

    一个有 N 名区块生产者的 DPoS 链运行流程如下:

    1. 从区块生产者候选人池中选出 N 名区块生产者。
    2. 第 i 名区块生产者为第 i 个区块签名,直至 i = N。

    只要一个区块获得多于 2/3 的区块生产者签名,该区块就被最终化(亦即不可再回滚)。此外,区块生产还遵循最长链规则。若要实现链间互操作,最终性(Finality)是一种极其重要的属性。

    DPoS 实现的区块奖励和通胀机制取决于具体项目的奖励机制,讨论这些机制超出了本文的范围。Dan Larimer 曾撰文深度剖析 DPoS 在多种条件下的运行方式 [2]

    好得有点玄乎了?

    正如我们之前写过的那样,DPoS 是一种牺牲了去中心化来换取吞吐量的协议,因为它规定了少数的区块生产者。

    所以,虽然 DPoS 对许多要求高可扩展性的应用来说是有意义的,我们(以及大多数其他严肃的区块链开发者)相信,DPoS 不够去中心化,不能够作为价值储存的基础层以及记录 Web3 应用所有权的账本。

    一个可以转移金融价值的区块链基础层必须充分地去中心化并且安全。这种要求是不可让步的。

    有趣的是,虽然许多项目鼓动起来势汹汹的市场营销,宣称 DPoS 要“优越”于像以太坊这样的 PoW 区块链,在最近一次 Twitter 投票中,880 名投票者中的 50% 都意识到 DPoS 是以牺牲去中心化为代价的。

    2.png

    许多人已经撰文指出以 DPoS 建构去中心化系统会产生的弊病,其中一位是 Vitalik Buterin, 他指出这个系统会激励产生卡特尔和贿选现象 [3]

    只要我们不接受除完全去中心化系统以外的事物作为基础层、也不假设网络参与者的诚实,DPoS 似乎就不适合用于处理金融交易(当然也包括其它事物)的区块链

    那么拿 DPoS 用于特定用例呢?

    我们不是第一个这么想的人。正如 Myles Snider 解释的那样:

    “如果 DPoS 系统可以提供去中心化数据库必要程度的抗审查性、无需许可性以及免信任性,那么 DPoS 对很多去中心化应用来说都是更好的选择。

    对特定用例来说,比如完全抗审查的电子黄金、点对点的电子货币,等等,牺牲性能来支持去中心化也许是有意义的。

    但对于绝大部分应用来说,选择可扩展性更加务实。” [4]

    对于想社交网络或是游戏这样的应用来说,并不是每一个评论以及游戏内操作都要求一个完全去中心化的网络来提供完全的安全性,但它们确实都需要高吞吐量。因此,DPoS 看起来完美契合这些应用的需要。

    甚至我们还可以做的更好——如果我们工作量证明网络如以太坊来做安全基础层,然后在 Layer 2 上开发我们的 DPoS 链,我们就在一个高度可扩展的 DPoS 链上运行一个应用的大部分组件,同时仍然为要求高安全性的部分组件(比如游戏内金钱及资产所有权)使用安全基础层。

    正如 Vitalik Buterin 指出的:

    “如果你的应用真的需要非常快的交易确认速度,并且希望这些快速确认也是可靠的,那么在我看来,开发此类系统的正确方式就是假设在以太坊这样的安全基础层平台之上的 level-2 平台。

    这些 level-2 可以依赖 Layer 2 来提供性能,但安全性较欠(参见:状态通道枢纽、Plasma 运营者)。当然,声誉以及未来的收益可以作为激励,让他们在当前表现良好,运行失败造成的成本也可以得到缓解。” [5]

    这样做的话,即便发生黑天鹅事件,也总可以选择退到安全的 PoW 机制中。

    举个例子,即便恶意行动者有能力控制 DPoS Layer-2 上的大多数区块生产者,放在 Layer-1 上的用户代币(可能价值数百万甚至几十亿美元)仍是安全的。

    Layer 2 链上的硬分叉

    在一条 DPoS 链上,如果敌对者通过获得大量权益掌控了网络,为抗击敌对者区块链可以推行硬分叉。

    在一条包含了账本、记录了代币以及其它电子资产所有权的区块链上(例如大多数 Layer 1 区块链),硬分叉会是灾难性的。它会破坏人们对将该网络作为长期的价值储存手段的信心(例如,一个人可能在此中投入了毕生积蓄)。

    但若 Layer 2 上运行的是非金融应用,所有有价值之物都储存在安全的 Layer 1 上,硬分叉就不是个事了。

    若一个应用或游戏运行在 Layer 2 上,只要底层数据的完整性得到了保护,硬分叉也变成了可行的方案

    使用 Plasma Cash 进一步提升 Layer 2 安全性

    3.png

    Plasma 是一种让资产可以通过区块链安全转移的技术,其中系统的安全性是由“根链”来保证的,即便“Plasma 链”让拜占庭奸细占领

    使用 Plasma,用户可以在 Layer 2 上转移代币,同时仍只依赖于 Layer 1 的安全性。如果敌对者控制了 Layer 2,用户可以将他们的代币“撤退”到 Layer 1 上。

    即便没有 Plasma,将 DPoS 链假设在安全的 Layer 1 上也能提供更多的安全性,因为 DApp 开发者可以将存储在安全基础层上的部和安置在可扩展侧链上的分离开来。但有了 Plasma,开发者可以有更多的灵活性,因为他们可以在侧链上执行额外的交易,同时只依赖于基础层来获得安全性。

    迄今为止,所有 Plasma 链的例子用的都是使用单个 Plsama 运营者 权威的权威证明(Proof of Authority),探究的也是该运营者变成敌对者的情形。这种威胁模型只考虑一条侧链上只有一个 Plsama 运营者 的情况,需要非常严格的安全证明来保证侧链与主链间的资金转移。

    然而在 DPoS 侧链中,可以有多个侧链社区选举出来的区块生产者,威胁模型会完全不一样。我们相信通过 Plasma 在 DApp 链与以太坊 PoW 主链间创建安全连接会是更简单的,因为来自一组恶意区块生产者的攻击因素是非常不同的。

    在 Loom Network 中,我们正推进我们的支持 ERC721 代币的 Plasma Cash 实现,预计本月晚些时候就会发布;这样,游戏开发者就可以在 Loom DAppChains 上存储他们的 ERC721 代币并且在游戏中使用它们。

    结论

    为在区块链上运行大型游戏和 DApp,有必要牺牲一部分去中心化来换取更高的性能和效率——而 DPoS 似乎是这些用例的绝佳选择。

    我们同样认识到,DPoS 算法可能不是价值储存的理想解决方案,当网络中只有少数验证者时就要求信任关系。

    因此,我们认为,运用一个去中心化的网络(即以太坊)作为 Layer 1,并在高度可扩展的侧链上运行 DApp 提供了最好的解决方案。

    参考文献

    [1]:Response to Cosmos white paper’s claims on DPOS security
    [2]:DPOS Consensus Algorithm — The Missing White Paper
    [3]:Governance, Part 2: Plutocracy Is Still Bad
    [4]:Delegated Proof of Stake: Features and Tradeoffs
    [5]:Comment on Medium by Vitalik Buterin


    原文链接: https://medium.com/loom-network/understanding-blockchain-fundamentals-part-3-delegated-proof-of-stake-b385a6b92ef 
    作者: Georgios Konstantopoulos 

    展开全文
  • 本系列内容包含:基本概念及原理、密码学、共识算法、钱包及节点原理、挖矿原理及实现。 1. 概述 区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,或称之为公共账本,其每一个区块记录一段时间内...
  • 认识区块链,让我们从最开始的比特币开始。 比特币本质上来讲,是一个全球统一的分布式账本,记录着所有的交易记录。只要根据你所有的交易记录,就能知道你现在有多少钱了。 弄一个账本很简单,但是要让全世界都...
  • 哈希再哈希,哈希连成串,一串接一串,就是区块链。 有一种来自东方的暗含着数据结构和经济模型的神秘食物,名为糖葫芦。 我们暂时不用把比特币和区块链分开来讲,因为比特币背后的技术之一是区块链,而区块链这个...
  • 区块链本质上是分布式系统,其中包含不同的参与者,基于各自动机和可用信息行动。 每当一笔新交易在网络中广播出来,节点有权选择将该交易纳入其持有的账本副本之中,或者将其忽略。当网络中的大部分参与者选定某一...
  • 这一系列文章主要是自己学习区块链的一个记录,没基础又对区块链感兴趣的朋友可以看看。 This series of articles are mainly about my own experience in studying Blockchain, whoever interested in it could ...
  • 在第一节中,我们探讨了拜占庭将军问题的概念,如何实现拜占庭容错,以及二者与区块链之间的关系。 上一篇文章中提到的算法实际上是实现拜占庭容错的一种解决方案。然而,该方案还不够有效,其变化方案又存在局限性...
  • 区块链基本原理--如何建立去中心化

    千次阅读 2016-06-08 18:09:00
    账本结构: 共识机制: 工作量证明机制(Proof ...做法是将交易资料经由数位签章加密并经由Hash函数得出一串代表此交易的唯一Hash值后,再将这个Hash值广播(Broadcast)给比特币区块链网络中的其它参与节点进行验证。
  • 关于比特币 为什么要探讨比特币?...所以作为区块链技术的第一个成功应用,要探讨区块链技术大概是绕不开它的。这篇文章只是给大家一个初步的概念,相关内容我会在后面会详细点和大家讲。 Why should we disc...
  • 关于数字签名 "数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么?  帐本和电子签名,一本公共帐本是个很简单的支付系统 , 协议看起来是这样的,谁都能在帐本...
  • 区块链技术原理精讲

    千人学习 2019-12-16 10:49:04
    并针对常听到的一些区块链基本问题做了详细的原理解释. (另外由于本人第一次录制视频课程,对于视频内容讲解可能不够到位,大家在学习课程中有任何问题或者觉得讲的不够细致的都可以在评论中提出来,我会追加成新的...
  • 区块链技术基本原理

    2020-12-02 10:12:59
    区块链技术基本原理要理解清楚就必须去深入的了解它,区块链技术基本原理也是随着各方面的应用而越来越清晰,区块链概念在国内逐渐热了起来。具有去中心化、无须中心信任、不可篡改和加密安全特点的区块链技术正在...
  • 区块链挖矿原理

    千次阅读 2018-03-31 13:28:43
    区块链挖矿原理 目录 区块链挖矿原理 目录 导言 1.ICO 2.数字货币的发行模式 3.挖矿原理 3.1工作量证明函数 3.2区块 3.3难度值 3.4工作量证明的过程 导言 提起比特币和区块链,很多人都觉得...
  • 区块链技术原理

    2018-07-03 11:19:59
    区块链技术原理 区块链是什么? “区块链”技术最初是由一位化名中本聪的人为比特币(一种数字货币)而设计出的一种特殊的数据库技术,它基于密码学中的椭圆曲线数字签名算法(ECDSA)来实现去中心化的P2P系统设计...
  • 第二章 区块链技术原理 整个区块链与密码学大体内容介绍安排如下【这篇博客中可以找到所有章节的链接内容】: https://blog.csdn.net/qq_43479839/article/details/114630163 第二章的目录如下: 目录第二章 区块链...
  • 区块链运行原理

    2019-11-07 23:05:53
    区块链的工作流程 严格来讲,区块链是一种信息组织结构,我们不妨将其看作是一条由存有交易信息的各个区块按照交易发生的时间先后顺序...以比特币为例,作为区块链基本结构单元,区块由包含元数据的区块头和一系...
  • 区块链笔记2-区块链技术原理 本学习笔记为本人从正规合法信息来源获取的信息,且为个人学习笔记,未用于商业用途。并且是关于IT领域区块链知识的介绍,并非违法违规内容。主要信息来源于清华大学出版社 《区块链技术...
  • 读书笔记——区块链原理、设计与应用(一)第二章 核心技术概览交易性能认识误区第三章 典型应用场景第四章 分布式系统核心问题一致性问题共识算法FLP不可能原理CAP原理ACID原则 第二章 核心技术概览 交易性能 高...
  • 区块链记账原理

    2019-01-24 02:36:27
    想知道更多区块链技术,请搜索【链客区块链技术问答社区】 链客,有问必答!! 很多人只了解过比特币,不知道区块链,比特币实际是一个使用了区块链技术的应用,只是比特币当前太热,把区块链技术的光芒给掩盖了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,949
精华内容 4,379
关键字:

区块链的基本原理