zoukankan      html  css  js  c++  java
  • 第二章 核心技术概念

    一、定义与原理
    1. 定义
    Wikipedia上给出的定义中,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。
    1. 基本原理
    首先假设存在一个分布式的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表,这也是其名字“区块链”的来源。链表由一个个“区块”串联组成(如下图所示),后继区块记录前导区块的哈希值(pre hash)。新的数据要加入,必须放到一个新的区块中。
    1. 工作过程(以比特币为例)
    a. 比特币客户端发起一项交易
    b. 网络中的节点收到后,开始计算,试图找到一个nonce串(随机串),使得候选区块的哈希结果满足一定条件(比如小于某个值)。
    c. 找到这个nonce串后,就会广播出去,其他节点收到后,验证此串的合法性,如果发现确实符合约定条件了,就承认这个区块是一个合法的新区块,并添加到自己维护的区块链上。当大部分节点都将区块添加到自己维护的区块链结构上时,该区块被网络接受,区块中所包括的交易也就得到确认。
     
    上面计算查找nonce串的过程称为工作量证明 (Proof of Work,PoW)。目前,要让哈希结果满足一定条件,并无已知的快速启发式算法,只能进行尝试性的暴力计算。尝试的次数越多(工作量越大),算出来的概率越大。
     
    二、技术的深化与分类
    1. 区块链的演化
    1. 区块链与分布式记账
    跟传统的记账技术相比,基于区块链的分布式账本应该包括如下特点:
    a. 维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改;
    b. 去中心化,或者说多中心化,无需集中控制而能达成共识,实现上尽量采用分布式;
    c. 通过密码学的机制来确保交易无法被抵赖和破坏,并尽量保护用户信息和记录的隐私性。
    1. 分类
    根据参与者的不同,可以分为公开(public)链、联盟(consortium)链和私有(private)链。
     
    三、关键问题和挑战
    1. 抗抵赖与隐私保护
    2. 分布式共识
    3. 交易性能
    4. 扩展性
    5. 安全防护
    6. 数据库和存储系统
    7. 集成和运营
     
    四、趋势与展望
     
    五、认识上的误区
    1. 区块链不等于比特币
    2. 区块链不等于数据库
    3. 区块链并非一门万能的颠覆性技术
  • 相关阅读:
    如何通过CSS3实现背景图片色彩的梯度渐变
    提升网站页面打开速度的12个建议
    DIV+CSS高手必知的15个CSS常识
    飞机订票-1注册用户脚本
    需求不明的测试
    职业发展-外包公司考虑项
    Linux-Apache+Mysql+PHP+PHPWind(重点Apache+PHP集成环境)
    LR11-更改licence
    Linux-服务排查
    C语言-删除重复字符
  • 原文地址:https://www.cnblogs.com/yahb/p/8983540.html
Copyright © 2011-2022 走看看