教程网

您现在的位置是: 首页 > 项目

区块链是比特币网络账本,那这个账本都记录哪些信息?

区块链是比特币网络账本,那这个账本都记录哪些信息?
区块头、交易详情、交易计数器和区块大小…这些都是神马东西?区块链是比特币网络的大账本,而每个区块相当于账本中的一页。那么“账本”内记载了哪些信息呢?目前比特币每个区

区块头、交易详情、交易计数器和区块大小…这些都是神马东西?

区块链是比特币网络的大账本,而每个区块相当于账本中的一页。那么“账本”内记载了哪些信息呢?目前比特币每个区块内主要记载了区块头、交易详情、交易计数器和区块大小等数据。

“区块头”内包含了除交易信息以外的所有信息,主要包括上一区块头哈希值:用于保证区块按顺序串连;时间戳:记录该区块的生成时间;随机数:即全网矿工一起PK的算术题答案;难度目标:该算术题的难度系数打分。

“交易详情”详细记载了每笔交易的转出方、收入方、金额及转出方的数字签名,是每个区块内的主要内容。

“交易计数器”表述每个区块中包含交易的数量。

“区块大小”表示每个区块数据的大小,当前每个区块限定在1MB以内,不排除以后有扩大的可能。

什么是超级账本?超级账本是Linux基金会在2015年发起的“开放式账本”项目,“开放式账本”是为推进区块链技术应用于金融领域及交易验证方向的发展而发起的,“开放式账本”随后被更名为“超级账本”,这个新型的项目受到了全世界范围内30多家大型公司的支持,其中包括英特尔、摩根大通、荷兰银行、富国银行、以及英国投资证券等。

超级账本和以太坊有哪些区别?从以下四个方面来对比超级账本和以太坊

一、以太坊智能合约部署过程

搭建以太坊私链环境,生成私链的创世区块(不详述);

启动私链,生成一个初始的以太币账户,开始挖矿(挖矿需要一个账户接收以太币);

编写智能合约,solidity和mix语言;

币通,提供最专业的数字货币趋势分析,行情分析等多维度,全方位的分析服务。

编译智能合约,单个文件的简单合约可以在线编译,多个文件需要借助solc(编译成字符串,全网同步)

部署,合约部署当作一笔交易记录再链上,需要支付一定以太币,并且运行需要gas。

二、超级账本智能合约部署过程(v0.6)

搭建hyperledger环境(具体看官方文档,不详述);

更改配置文件,启动大于四个节点(pbft共识);

编写合约,编译成二进制文件;

把二进制文件放在每个节点中;

在各个节点部署智能合约;

初始化智能合约。

三、以太坊和超级账本对比

四、智能合约对比

以上就是关于超级账本和以太坊有哪些区别?的相关分析,希望对大家起到参考作用。

谈到区块链我比较认同OKCoin&OKLinK创始人兼CEO徐明星在书中谈到的一个观点:“你一辈子也不需要真正掌握这些高深莫测的技术,但当身边一切的的信息和金融服务都发生在区块链上之时,你今天的一点点阅读时间,将帮助你更好地拥抱一个新的世界,理解一个新的记录历史、登记权利、转移价值的方式。”下面将会从什么是区块链?区块链为什么重要?又会如何改变我们的未来?

一、区块链是什么?它是如何运作的?

区块链是什么?区块链运作的底层架构是什么?

对区块链发展至关重要的来自技术、投资和媒体的五位大神是谁?

1.核心概念:

用一句话解释,区块链是一个去中心化的分布式账本。但这句话并不能代表区块链的全部,因此需要对其核心概念做个了解:

① 区块

区块作为区块链的基本结构单元,由包含元数据的区块头和包含交易数据的区块主体构成。

区块链中的两个区块模型

区块头包含三组元数据:索引自父区块哈希值的数据;挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳;能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。

② 哈希算法

哈希算法是为确保区块链中交易信息不被篡改而设计的单向密码机制。哈希算法可以在接收一段明文后,经一种不可逆的方式将其转化为一段长度较短,位数固定的散列数据。

哈希算法图示(图片来自网络)

它有两个特点:

加密过程不可逆。我们无法使用通过哈希算法输出的散列数据倒推出原本的明文。

输入的明文与输出的散列数据一一对应。任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。

区块链通过哈希算法对一个交易区块中的交易信息进行加密,并把交易信息压缩成由一串数字和字母组成的散列字符串。

区块链的哈希值能够唯一准确地标识一个区块,区块链中任意节点通过简单的哈希计算可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。

③ 公钥和私钥

公钥是给大家用的,可以通过电子邮件发布,可以通过网站让别人下载。私钥是给自己用的,必须非常小心地保密和保存,最好加上密码。

公钥和私钥原理(图片来自网络)

公钥和地址的生成都依赖于私钥,有了私钥就能够消费对应地址上的比特币。私钥花费比特币的方式就是对这个私钥所对应的未花费的交易进行签名。

④ 时间戳

区块链的时间戳从区块生成的那一刻起就存在于区块之中,时间戳是直接写在区块链中的,而区块链中已经生成的区块是不可篡改的,一旦篡改,生成的哈希值就会发生变化,从而变成一个无效的数据。

每一个时间戳都会将前一个时间戳也纳入其随机哈希值中,这一过程不断重复,依次相连,最后会生成一个完整的链条。

⑤ Merkle树结构

区块链是利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。

Merkle树结构图示(图片来自网络)

Merkle树的叶子节点存储的是数据信息的哈希值,非叶子节点存储的是对其下面的所有叶子节点的组合进行哈希计算后得出的哈希值。

区块中任意一个数据的变更都会导致Merkle树结构变化,在交易信息验证比对中,Merkle树结构能够大大减少数据的计算量。

2.区块链的工作原理、四大特征和底层架构

区块链技术实际上是一个分布式数据库,记账不是由个人或者某个中心化的主体来控制的,而是所有节点共同维护、共同记账的。

单一节点无法篡改记录,只有同时控制整个网络超过51%的节点或算力才可以篡改记录。通过无数次记账,区块链成为一个可信赖、超容量的公共账本。

区块链具有以下四个特征:

① 去中心化:在一个去中心化的金融系统中,没有中介机构,所有节点的权利和义务都相等,任意节点停止工作都不会影响系统整体的运作。

去中心化图示(图片来自网络)

② 去信任:系统中所有节点之间无须信任也可以进行交易,因为数据库和整个系统的运作是公开透明的,在系统的规则和时间范围内,节点之间无法欺骗彼此。

③ 集体维护:系统是由其中具有维护功能的所有节点共同维护的,系统中所有人共同参与维护工作。

④ 可靠的数据库:系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。

区块链基础架构分为6层:数据层、网络层、共识层、激励层、合约层和应用层。每层分别完成一项核心功能,各层之间相互配合,实现一个去中心化的信任机制。

3.区块链的基本类型

公有链、私有链、联盟链(图片来自网络)

① 公有链:是指所有人都可以读取、任何人都能发送交易且交易能获得有效确认,任何人都能参与共识过程的区块链。

公有链的特点是:保护用户免受开发者影响;访问门槛低;所有数据默认公开。

② 私有链:是指其写入权限仅在一个组织手里的区块链。目的是对读取权限或者对外开放权限进行限制。私有链的特点是,交易速度非常快;为隐私提供更好的保障;交易成本大幅降低甚至为零;有助于保护产品不被破坏。

③ 联盟链:是指共识过程受到预选节点控制的区块链。可将联盟链视为“部分去中心化”的形态。

随着区块链技术的日益发展,区块链的技术架构不再简单地划分为私有链和公有链,界限正在越来越模糊,复杂链和混合链的概念在以后会越来越多。

4.区块链的发展脉络

按照区块链科学研究所创始人梅兰妮·斯万的观点,区块链技术发展可分为三个阶段:

区块链1.0:以比特币为代表的可编程货币。更多是数字货币领域的创新;

区块链2.0:基于区块链的可编程金融,更多涉及合约方面的创新,如以太坊的智能合约;

区块链3.0:区块链在其他行业的应用。

5.区块链共识机制

① 工作量证明

工作量证明(Proof of Work,简称PoW)依赖机器进行数学运算来获取记帐权。要得到合理的区块哈希值需要经过大量的尝试计算,计算时间取决于机器的哈希运算速度,寻找合理的哈希值是一个概率事件。

工作量证明的缺点:区块链应用很难获得相同的算力来保障自身的安全;挖矿会造成大量的资源浪费;共识达成周期较长。

② 权益证明

权益证明(Proof of Stake,简称PoS)是PoW的一种升级,主要理念是节点的记帐权的获得难度与节点持有的权益成反比。

它根据每个节点所占代币的比例和时间,等比例地降低挖矿的难度。在一定程度上减少了数学运算带来的资源消耗,性能也得到了相应的提升,但是依然是基于哈希运算,竞争获取记帐权。

PoS的优点是:在一定程度上缩短了达成共识需要的时间,不再需要大量消耗能源去解密码挖矿。

PoS的缺点是:依然需要挖矿而且有安全性隐患。

③ 股份授权证明

股份授权证明(简称DPoS)机制,与PoS的主要区别在于节点选举若干代理人,由代理人验证和记帐。

DPoS的工作原理:

每个股东按其持股比例拥有相应的影响力,51%股东投票的结果将是不可逆且有约束力的。

每个股东可以将其投票权授予一名代表,获票最多的前100位代表按既定的时间表轮流产生区块,每位代表分配到一个时间段来产生区块。

所有代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。

DPoS的投票模式可以在每30秒产生一个新的区块,并且在正常的网络条件下,区块链分叉的可能性极其小。每位代表的标识是其公钥而非IP地址,因此受到攻击威胁的程度被大大地减轻了。

书中同时还对投注共识、瑞波共识机制、Pool验证池、实用拜占庭容错、授权拜占庭容错、帕克索斯算法等其他六种共识种类进行了介绍,在此不再一一展开。

6.比特币的扩容、分叉和双花问题

① 比特币的扩容

比特币分叉是由扩容方案意见不一致引起的。

中本聪设计比特币时是2009年,比特币中的一个区块的容量是1M,一笔交易大概是250字节,甚至更多。现在一些交易基本达到了500个字节。

1M=1024KB=1048576字节;

那么一个区块包含的交易总数为:1048576 250 4194.3(笔)

比特币中一个区块确认的时间是10分钟,那么一个区块每秒能处理的交易数为:4194.3 600 7(个)

这种交易确认的速度已经跟不上时代发展的需求,交易拥堵及系统崩溃是在所难免的事情。因此扩容也是势在必行。

但是采用哪种扩容方案呢?一个区块的容量扩展到2M、扩展到20M、还是扩展到无限大,到底应该听谁的?

每一方都认为自己的方案是可行的,但是却难以达成共识,升级又是必须的。各个方案间无法统一,分叉就不可避免地发生了。

② 硬分叉和软分叉

比特币分叉后升级的版本由于兼容性不同,就产生了硬分叉和软分叉的问题。简单的来说,软分叉是暂时的,硬分叉是永久的。

硬分叉是指:比特币的区块格式和交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,但是已经升级的节点可以验证未升级节点生产的区块,然后大家各自延续自己认为正确的链,所以分成了两条链。

软分叉是指:比特币交易的数据结构发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。

之前版本的部分功能可用,在相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存。区块链层面没有分叉的链,只是组成链的区块有新区块和旧区块之分。

③ 双花问题

双花问题是指一笔数字现金在交易中被重复使用的现象。比特币是采取什么方法避免双花问题的发生呢?

在交易发生的那一刻起,比特币的交易数据就被盖上了时间戳,而当这笔交易数据被打包到一个区块中后,就算完成了一次确认。

在连续进行6次确认之后,这笔交易就不可逆转了。每一次的确认都需要“解决一个复杂的难题”,也就是说一次确认都需要一定的时间。

在这种情况下,如果一笔资金想要进行两次支付交易的话,因为确认的时间较长,后一笔交易想要与前一笔交易同时得到确认几乎是不可能的。而且这笔资金在第一次确认有效后,第二次交易时就无法得到确认了,双花问题也就不可能产生了。

7.区块链人物篇

① 传奇人物中本聪

中本聪(传闻)

中本聪不仅有才华,还把神秘主义原则诠释得彻彻底底,比特币发展初期他匿名参与指导,后来区块链概念越来越火,中本聪却完全消失,连提名诺贝尔经济学奖候选人都没能让他现身。

 1/5    1 2 3 4 5 下一页 尾页