区块链原理及js实现区块链钱包例子

区块链原理及js实现区块链钱包例子

<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子

最近区块链又火了,上升到国家战略层面,那么区块链到底是啥?

一、啥是区块链

区块链,曾被誉为“具有改变世界潜力的颠覆性新兴技术”。从学术角度来解释,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库。懂了吗,如果还不懂,那么有个通俗的解释,

区块链可以视作一个账本,每个区块可以视作一页账,其通过记录时间的先后顺序链接起来就形成了“账本”。在商业领域,假账错账是十分头疼的事情。而通过区块链技术,则每一笔交易通过分布式留存,任何节点想要篡改几乎没有可能。即使单一区块数据损坏,链上其他区块也有完整且真实的数据留存。区块链在构筑现代商业社会的交易、安全、信用等体系上意义重大。区块链的特点1、异常安全:不同于公司或政府机构拥有的集中化数据库,区块链不受任何人或实体的控制,数据在多台计算机上完整地复制(分发)。与集中式数据库不同,攻击者没有一个单一的入口点,数据的安全性更有保障。

<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子2、不可篡改性:一旦进入区块链,任何信息都无法更改,甚至管理员也无法修改此信息。一个东西一旦出现就再也没法改变,这种属性对于人类目前所处的可以更改、瞬息万变的网上世界而言意义重大。<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子3、可访问:网络中的所有节点都可以轻松访问信息。

<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子4、无第三方:因为区块链的去中心化,它可以帮助点对点交易,因此,无论您是在交易还是交换资金,都无需第三方的批准。区块链本身就是一个平台。

那么作为技术人员,我们要研究一下区块链的技术原理

二、技术原理

区块链的数据结构

<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子

1.1. 区块头区块头主要包含的三组元数据分别是:(1)用于连接前面的区块、索引自父区块哈希值的数据;(2)挖矿难度、时间戳、Nonce(随机数,用于工作量证明算法的计数器,也可理解为记录解密该区块相关数学题的答案的值);(3)能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。当然区块头不仅仅包含这些元数据,还有其他比如:版本号、难度值等(以上这些生涩的名称不懂没关系,后面几篇文章都会分析这些技术)。从这个结构来看,区块链的大部分功能都由区块头实现。1.2 区块主体区块主体所记录的交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、电子货币的数字签名等。2. 链

比特币系统大约每10分钟会创建一个区块,这个区块包含了这段时间里全网范围内发生的所有交易。每一个区块都保存了上一个区块的哈希值,使得每个区块都能找到其前一个区块,这样就将这些区块连接起来,形成了一个链式的结构。3. 区块的形成过程在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作:(1)把在本地内存中的交易信息记录到区块主体中;(2)在区块主体中生成此区块中所有交易信息的Merkle树,把Merkle树根的值保存在区块头中;(3)把上一个刚刚生成的区块的区块头的数据通过SHA256算法生成一个哈希值填入到当前区块的父哈希值中;(4)把当前时间保存在时间戳字段中;(5)难度值字段会根据之前一段时间区块的平均生成时间进行调整,以应对整个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内。

区块链的网络结构

区块链基础架构和通信OSI 七层协议有些类似,只不过区块链分为6层,包括数据层、网络层、共识层、激励层、合约层、应用层。每层分别完成一项核心功能,各层之间互相配合,实现一个去中心化的信任机制。<a href='/tag/blockchain.html'>区块链</a>原理及js实现<a href='/tag/blockchain.html'>区块链</a>钱包例子1、数据层是最底层的技术,主要实现了两个功能,一个是相关数据的存储,另一个是账户和交易的实现与安全。数据存储主要通过区块的方式和链式结构实现。账号和交易的实现基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术,保证了交易在去中心化的情况下能够安全的进行。主要封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据机构。其建立的一个起始节点是“创世区块”,之后在同样规则下创建的规格相同的区块通过一个链式的结构依次相连组成一条主链条。随着运行时间越来越长,新的区块通过验证后不断被添加到主链上,主链也会不断地延长。2、网络层主要实现网络节点的连接和通讯,又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,其具有去中心化与健壮性等特点。每一个节点既接收信息,也产生信息。节点之间通过维护一个共同的区块 链来保持通信。区块链的网络中,每一个节点都可以创造新的区块,在新区块被创造后会以广播的形式通知其他节点,其他节点会对这个区块进行验证,当全区块链网络中超过51%的用户验证通过后,这个新区块就可以被添加到主链上了。3、共识层主要实现全网所有节点对交易和数据达成一致,防范拜占庭攻击、女巫攻击、51%攻击等共识攻击,其算法称为共识机制。共识机制算法是区...

点击查看剩余70%

{{collectdata}}

网友评论0