当前位置:首页 - 第25页

10月02日

第3章 区块链架构剖析

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

前面几章介绍了区块链背景以及相关的基础知识,本章将为读者介绍区块链的架构。区块链源于支持BitCoin虚拟货币系统的底层基础架构,在支撑BitCoin平稳运行三四年后,以其独特的去中心化架构逐渐吸引IT业界的关注,使得业界的关注点逐渐从虚拟货币转移到区块链平台上,并被认为是目前呼声最高的下一代互联网——“价值互联网”的颠覆性技术。本章将深入剖析区块链基础架构(区块链1.0),阐述其架构属性和特点,同时也详细分析从基础架构上延伸扩展的区块链2.0和区块链3.0架构,最后介绍用来集成整合不同区块链的互联链架构。3.1 基本定义在详细讨论区块链之前,为了便于准确地把握区块链的架构,我们先给出区块链的定义。由于目前在业界并没有统一的区块链定义,我们将用渐进逼近的方式来定义区块链,以求完整、准

10月02日

3.2 区块链1.0架构:比特币区块链

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 2088次
3.2 区块链1.0架构:比特币区块链

区块链1.0的典型应用是比特币应用。比特币是第一个解决“双花”问题的去中心化虚拟货币系统。下面我们来详细剖析比特币系统的架构。中本聪在发表比特币白皮书后的第2年,就发布了比特币的第一版实施系统。据普林斯顿大学出版的《BitcoinandCryptocurrencyTechnologies》作者们推测,中本聪很可能是先写好了比特币系统,才写比特币的白皮书的[1]。从最初的比特币源代码可以看出,比特币系统没有很明确的模块划分,很多不同功能都放在一个5000多行的Main程序中实现。因此,当初中本聪并没有从架构上考虑太多,而是用简单直白的办法一气呵成地把比特币系统写了出来。当参与开源项目的开发者多起来的时候,一个清晰的架构就显得愈来愈重要,这样对代码的重用、维护和扩展非常重要。

09月30日

3.3 区块链2.0架构:以太坊区块链

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 1935次
3.3 区块链2.0架构:以太坊区块链

比特币的区块链架构主要围绕支持虚拟货币的实现,虽然它有一定的灵活性,但用来支撑虚拟货币以外的应用场景还显得非常局限。近年来,区块链逐渐引起IT业界的关注,并逐渐成为独立于比特币的一个平台架构,其重要性越来越受到重视。区块链2.0的概念也随之产生。其核心理念是把区块链作为一个可编程的分布式信用基础设施,支撑智能合约应用,以与过去比特币区块链作为一个虚拟货币支撑平台区别开来。具体说来就是,不仅仅把区块链作为一个去中心化的虚拟货币和支付平台,而是通过增加链上的扩展性功能,把区块链的技术范围扩展到支撑一个去中心化的市场,交易内容可以包括房产的契约、权益及债务凭证、知识产权,甚至汽车、艺术品等。区块链2.0提供一套新的协议(区块链2.0协议)支撑新型的去中心化应用。如果用互联网协议来做

09月30日

3.4 区块链3.0架构:超越货币、金融范围的区块链应用

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 1771次
3.4 区块链3.0架构:超越货币、金融范围的区块链应用

《区块链:新经济蓝图及导读》一书的作者MelanieSwan把超越货币、金融范围的区块链应用归为区块链3.0,特别是在政府、健康、科学、工业、文化和艺术领域的应用。它支持广义资产、广义交换,支持行业应用。支持行业应用意味着区块链平台必须具备企业级属性。具体说来就是安全性的考虑会更为突出,在很多企业级应用场景需要有授权才能访问区块链,也就是权限控制链(PermissionedChain),一般来说企业级的区块链的部署模式是联盟链或私有链。另外区块链3.0也需要图灵完备的智能合约平台,同时对网络和共识算法的性能、每秒交易数(TPS)都有比较高的要求。因此,区块链3.0架构是分布式架构,但可以不是完全去中心化的架构,最有可能是在不同场景下的混合架构,也就是在部分场景,特别需要消

09月30日

3.5 互联链架构剖析

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 1511次
3.5 互联链架构剖析

3.5.1 互联链背景虽然作为虚拟货币的比特币非常成功,但金融行业更看重的是区块链技术在支付领域中的应用前景。现在的支付系统很多是竖井型,互不连接。如果在一个国家内,或者支付参与方账户同在一个支付网络或同一个账本中,支付还相对容易,如图3-11所示。但如果用户试图在不同账本体系间支付,就没有这么容易,如图3-12所示。比如说支付宝的用户想向微信支付里的账户转账,就没有这么容易。虽然账本之间存在连接,但这些连接都需要人工干预,交易的确认非常慢和昂贵。这里面碰到的首要问题就是一个信用的问题。也就是说,用户首先要信任在两个账本起连接作用的连接机构,相信它们不会卷款而逃。这些连接机构目前一般是大的银行,或支付组织,像Visa、万事达、银联等。而这些大的机构往往要靠非常高的成本来建立信

09月30日

第4章 区块链中的密码学技术

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

为保证存储于区块链中的信息的安全与完整,区块及区块链的定义和构造中使用了包含密码哈希函数和椭圆曲线公钥密码技术在内的大量的现代密码学技术,同时,这些密码学技术也被用于设计基于工作量证明的共识算法并识别用户。

09月30日

4.1 哈希算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 2024次
4.1 哈希算法

密码哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值称为哈希值,也称为散列值。以哈希函数为基础构造的哈希算法,在现代密码学中扮演着重要的角色,常用于实现数据完整性和实体认证,同时也构成多种密码体制和协议的安全保障。碰撞是与哈希函数相关的重要概念,体现着哈希函数的安全性,所谓碰撞是指两个不同的消息在同一个哈希函数作用下,具有相同的哈希值。哈希函数的安全性是指在现有的计算资源(包括时间、空间、资金等)下,找到一个碰撞是不可行的。在比特币系统中使用了两个密码学哈希函数,一个是SHA256,另一个是RIPEMD160。RIPEMD160主要用于生成比特币地址,我们着重分析比特币中用得最多的SHA256算法。SHA256属于著名的SHA家族一员

09月30日

4.2 Merkle树

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

Merkle哈希树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值通常为数据块的哈希值,而非叶子节点上的值是将该节点的所有子节点的组合结果的哈希值。如图4-4所示为一个Merkle哈希树,节点A的值必须通过节点C、D上的值计算而得到。叶子节点C、D分别存储数据块001和002的哈希值,而非叶子节点A存储的是其子节点C、D的组合的哈希值,这类非叶子节点的哈希值被称作路径哈希值,而叶子节点的哈希值是实际数据的哈希值。在计算机领域,Merkle树大多用来进行完整性验证处理。在处理完整性验证的应用场景中,特别是在分布式环境下进行这样的验证时,Merkle树会大大减少数据的传输量以及计算的复杂度。例如,以图4-4为例,若C、D、E和F存储了一组数据块的哈希值,当把这些数据从Ali

09月30日

4.3 公钥密码算法

发布 : xiaohuanglv | 分类 : 区块链精品文章 | 评论 : 0 | 浏览 : 1886次
4.3 公钥密码算法

公钥密码算法是现代密码学发展过程中的一个里程碑。这类密码算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法也可叫作非对称密码算法。区块链中所使用的公钥密码算法是椭圆曲线算法,每个用户都拥有一对密钥,一个公开,另一个私有。利用椭圆曲线密码算法,用户可以用自己的私钥对交易信息进行签名,同时别的用户可以利用签名用户的公钥对签名进行验证。在比特币系统中,用户的公钥也被用来识别不同的用户,构造用户的比特币地址。下面我们将介绍区块链中所涉及的椭圆曲线算法以及所采用的椭圆曲线。4.3.1 椭圆曲线密码算法

09月30日

第5章 共识算法详解

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

在本书第3章我们提到,区块链架构是一种分布式的架构。其部署模式有公共链、联盟链、私有链三种,对应的是去中心化分布式系统、部分去中心化分布式系统和弱中心分布式系统。分布式系统中,多个主机通过异步通信方式组成网络集群。在这样的一个异步系统中,需要主机之间进行状态复制,以保证每个主机达成一致的状态共识。然而,异步系统中,可能出现无法通信的故障主机,而主机的性能可能下降,网络可能拥塞,这些可能导致错误信息在系统内传播。因此需要在默认不可靠的异步网络中定义容错协议,以确保各主机达成安全可靠的状态共识。利用区块链构造基于互联网的去中心化账本,需要解决的首要问题是如何实现不同账本节点上的账本数据的一致性和正确性。这就需要借鉴已有的在分布式系统中实现状态共识的算法,确定网络中选择记账节点的机制,以及

网站分类

标签列表

最近发表

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

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