资讯专栏INFORMATION COLUMN

区块链学习之核心技术概览(二)

zhangwang / 280人阅读

摘要:关键步骤完成对一批交易的共识新区块添加到区块链结构上,被大家认可,确保未来无法被篡改比特币的这种基于算力寻找串的共识机制称为工作量证明。

定义与原理 定义

维基上给出定义: 一种分布式数据库技术,通过维护数据块的链式结构,可以维持增长的、不可篡改的数据记录

基本原理

区块链包括三个概念:

交易: 一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录

区块: 记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识

链: 由区块按照发生顺序串联而成,是整个账本状态变化的日志记录

以比特币为例理解区块链工作过程

首先比特币客户端发起一项交易,广播到比特币网络中并等待确认。网络中的节点会将一些收到的等待确认的交易记录打包在一起(此外还要包括钱已给区块头部的哈希值等信息),组成一个候选区块。然后,试图找到一个nonce串(随机串)放到区块里,使得候选区块的哈希结果满足一定条件(比如小于某个值)。这个nonce串的查找需要一定的时间去进行计算尝试。一旦节点算出来满足条件的nonce串,这个区块在格式上就被认为是"合法"了,就可以尝试在网络中将它广播出去。其他节点收到候选区块,进行验证,发现确实符合约定条件了,就承认这个区块是一个合法的新区块,并添加到自己维护的区块链上。当大部分节点都将区块添加到自己维护的区块链结构上时,该区块被网络接受,区块中包括的交易也就得到确认。

关键步骤:

完成对一批交易的共识

新区块添加到区块链结构上,被大家认可,确保未来无法被篡改

比特币的这种基于算力寻找nonce串的共识机制称为工作量证明(PoW )。目前,要让哈希结果满足一定条件,只能进行尝试的暴力计算,尝试的次数越多(工作量越大),算出来的概率就越大。

技术的演化与分类 区块链的演化

比特币区块链已经支持了简单的脚本计算,但仅限于数字货币相关的处理。除了支持数字货币外,还可以将区块链上执行的处理过程意义不泛华,即提供智能合约。智能合约可以提供除了货币交易功能外更加灵活的合约功能,执行更为复杂的操作。

从计算特点上,可以看到现有区块链技术的三种典型演化场景:

区块链与分布式记账

跟传统的记账技术相比,基于区块链的分布式账本应该包括如下特点:

维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改

去中心化,或者说多中心化,无需集中控制而能达成共识,实现上尽可能采用分布式

通过密码学的机制来确保交易无法被抵赖和破坏,并尽量保护用于信息和记录的隐私性

分类

根据参与者的不同,可以分为公开链、联盟链、私有链:

公有链: 任何人都可以参与使用和维护,比如比特币区块链,信息是完全公开的。如果进一步引入许可机制,可以实现私有链和联盟链两种类型

私有链: 由集中管理者进行管理限制,只有内部少数人可以使用,信息不公开

联盟链: 介于两者之间,由若干组织一起合作维护一条区块链,该区块链的使用须是带有权限的限制访问,相关信息会得到保护,如供应链机构或银行联盟。

根据使用目的和场景的不同,又可以分为以数字货币为目的的货币链,以记录产权为目的的产权链,以众筹为目的的众筹链,也有不局限特定应用场景的通用链。

关键问题和挑战 抗抵赖与隐私保护

怎么防止交易记录被篡改?

怎么证明交易双方的身份?

怎么保护交易双方的隐私?

密码学的发展为解决这些问题提供了不少手段。

分布式共识

共识问题的核心指标将包括容错的节点比例、决策收敛速度、出错后的恢复、动态特性等。PoW等基于概率的系列算法理论上允许少于一半的不合作节点,PBFT等确定性算法理论上则允许不超过1/3的不合作几点。

交易性能

区块链系统和传统分布式系统不同,其处理性能很难通过单纯增加节点数来进行横向扩展。实际上,传统区块链系统的性能,在很大程度上取决于单个节点的处理能力。高性能、安全、稳定性、硬件辅助加解密能力,都将是考察节点性能的核心要素。

扩展性

常见的分布式系统可以通过增加节点来横向扩展整个系统的处理能力。对于区块链网络系统来说,根据共识机制的不同,并没有那么简单。

安全防护

世界上没有绝对安全的系统

数据库和存储系统 集成和运营

基于区块链的新业务系统必将与已有的中心化系统集成共存

趋势与展望

区块链技术的进一步发展,将会使区块链技术大放异彩

认识上的误区

区块链不等于比特币

区块链不等于数据库

区块链并非一门万能的颠覆性技术

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24101.html

相关文章

  • 区块链学习之区块链思想的诞生(一)

    摘要:区块链最早出现在比特币开元项目中。了不起的社会学实验比特币的诞生年化名中本聪的人发布比特币白皮书,并在年公开了实现代码比特币的意义和价值比特币首次真正从实践意义上实现了安全可靠的去中心化数字货币机制。 区块链最早出现在比特币开元项目中。比特币在诞生和发展过程中,借鉴了来自数字货币、密码学、博弈论、分布式系统、控制论等多个领域的技术成果,作为核心支撑结构的区块链技术大放异彩。 从实体货币...

    rozbo 评论0 收藏0
  • 区块链学习之以太坊(七)

    摘要:基于以太坊项目,以太坊团队目前运营了一个公开的区块链平台以太坊网络。主要特点以太坊区块链底层也是一个类似比特币网络的网络平台,智能合约运行在网络中的以太坊虚拟机里。以太坊采用交易作为执行操作的最小单位。 以太坊将比特币针对数字交易的功能进一步进行了拓展,面向更为复杂和灵活的应用场景,支持了智能合约这一重要特性。 以太坊项目简介 以太坊:项目最初的目标是打造以个智能合约的平台,该平台支持...

    xiongzenghui 评论0 收藏0
  • 区块链学习之比特币(六)

    摘要:侧链侧链协议允许资产在比特币区块链和其他区块链之间互转。实现了比特币区块链的扩展证明在比特币系统中验证交易时,涉及交易合法性检查双重花费检查脚本检查等。 比特币项目简介 比特币是基于区块链技术的一种数字货币实现,比特币网络是历史上首个经过大规模、长时间检查的数字货币系统 比特币网络在功能上具有如下特点: 去中心化: 意味着没有任何独立个体可以对网络中的交易进行破坏,任何交易请求都需要...

    xingpingz 评论0 收藏0
  • node调取区块链学习之以太坊(eth)主币和代币余额查询

    摘要:查询以太坊的主币可以直接公钥地址查询,使用其里面的方法。币种名称币种余额小数位以上的几个方法可以获取其代币信息。但是获取的余额同样是以以太坊最小单位为单位的数值,所以需要对其进行处理。 这段时间有幸能接触到区块链,这对于一个前端来说是一个全新的世界。同时,也特别感谢领导给我机会,能让我接触学习这方面的东西。以下是这段时间的学习总结,可能认识比较浅薄,但是觉得写出来也是对自己学习的一个交...

    qieangel2013 评论0 收藏0
  • 区块链学习之密码学安全技术(五)

    摘要:非对称加密算法的安全性往往需要基于数学问题来保障,目前主要有基于大数质因子分解离散对数椭圆曲线等经典数学难题进行保护。消息认证码基于对称加密,可以用于对消息完整性进行保护。 Hash 算法与数字摘要 Hash (哈希或散列)算法它能将任意长度的二进制明文串映射为较短的(通常是固定长度的)二进制串(Hash值),并且不同的明文很难映射为相同的Hash值。 Hash 定义 Hash (哈希...

    aboutU 评论0 收藏0

发表评论

0条评论

zhangwang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<