当前位置:首页 > 行业资讯 > 使用GO语言构建区块链 - 第1部分:基本原型

使用GO语言构建区块链 - 第1部分:基本原型

admin 4个月前 231 0
原文标题:使用GO语言构建区块链 - 第1部分:基本原型

鸟 前言

     区块链是21世纪最具革命性的一项性技术尚未成熟,潜力尚未完全实现。实质上,区块链只是一个分布式记录数据库。但它的独特之处在于它不是私有数据库,而是公共数据库,也就是说,拥有它的每个人都有完整或部分副本。只有在数据库的其他管理员同意的情况下才能添加新记录。此外,区块链使加密货币和智能合约成为可能。

     在本系列文章中, 我们将实施区块链的简化版本。在此基础上建立一个si加密货币的简化版本。


[123 ]

        123]

     让我们从“区块链”的“块”部分开始。在区块链中,存储有价值信息的块是块。例如,比特币块存储事务,这是任何加密货币的本质。除此之外,该块还包含一些技术信息,例如版本,当前时间戳和前一个块的哈希值。 鸟     在本文中,我们不打算实现比特币规范中描述的区块链,b相反,我们将使用区块链的简化版本。它只包含重要信息。这就是它的样子:


      Timestamp

是当前时间戳,即创建块的时间。

     数据

是块存储的实际有价值信息。

      PrevBlockHash

存储前一个块的哈希


       我们的

  TimestampPrevBlockHash,  Hash ,它属于块头,比特币规范中的块头是一个单独的数据结构。该事务(此处为Data)是另一个单独的数据一个结构。为了简单起见,我将两者混合在一起。

鸟     那么我们如何计算哈希?哈希是区块链中非常重要的一部分。正是这一特性使区块链变得安全。计算哈希值是一项计算难度较大的操作,即使在高速计算机上也需要花费大量时间(这就是人们购买功能强大的GPU来挖掘比特币的原因)。这是一种有意的架构设计,难以添加新块,防止它们在添加后再次修改。我们将在以后的文章中讨论并实现这种机制。

       现在,我们只获取块字段,连接它们,并连接SHA-256哈希值的计算结果。我们在SetHash方法中这样做:



       接下来,根据Golang惯例,我们将实现简化的块创建功能:



     这是块!


        区块链

     现在让我们实现一个区块链。从本质上讲,区块链只是一个具有特定结构的数据库:它是反向链接的有序列表。这意味着块按插入顺序存储,每个块链接到前一个块。这个结构e允许快速获取链中最近的块并且通过该块获得(有效地)块。   

     在Golang中,这个结构可以使用数组和map实现:array将维护一个有序的hash(数组有Go in Go)Order sort),map将保持hash→block对(map是无序的)。对于我们的区块链原型,我们只使用数组,因为我们现在不需要通过哈希来获取哈希。



     这是我们的第一个区块链!我从没想过会这么容易。

鸟   现在让我们添加块:


       完成! ?

 与国家统计局磷;    将来要添加新块,我们需要一个现有块,但我们的区块链中没有块!因此,在任何区块链中,必须至少有一个块,并且链中的第一个块称为创建块。让我们实现一种方法来创建一个创建块:



     现在,我们可以实现一个函数来创建一个带有创建块的区块链:



]鸟     让我们检查区块链是否正常工作:



       产出:


      KnotOn

&nbSP;    我们构建了一个非常简单的区块链原型:它只是一个块数组,每个块都连接到前一个块,实际区域区块链比这复杂得多。向区块链添加新块很容易且快速,但在实践中向区块链添加新块需要一些工作:在获得添加块的许可之前必须执行一些繁重的计算(此机制称为就业证明)。此外,区块链是一个没有单一决策者的分布式数据库。因此,必须由网络中的其他参与者确认和批准新块(此机制称为共识)。我们的区块链中没有交易!

     在下一篇文章中我们将介绍其他功能。

      鸟1。完整源代码: https // github.com/Jeiwan/blockchain_go/tree/part_1 [

      2.块散列算法: https // en .bitcoin.it / wiki / Block_hashing_algorithm [

      编辑:但原作






相关文章

年内34家上市公司涉区块链遭问询 仅9家落地应用凸显尴尬

年内34家上市公司涉区块链遭问询 仅9家落地应用凸显尴尬

       进入2018年,上市公司围绕“区块链”做起了文章。仅今年1月份,沪深两市就有16家上市公司因涉炒作区块链概念被交易所问询。此后,虽然区块链概念热度...

菲律宾证券监管机构发布ICO公众反馈规则草案

菲律宾证券监管机构发布ICO公众反馈规则草案

根据8月2日的官方声明,菲律宾证券交易委员会(SEC)发表了一个小组 ICO规定了公众意见征询规则草案。 在美国证券交易委员会的备忘录通知中,该机构规定任何在菲律宾注册...

BitSoaps让你可以用币安比特币洗澡

BitSoaps让你可以用币安比特币洗澡

最近,一对年轻夫妇制作了一种名为BitSoaps的币安比特币肥皂。在网站上,他说,自从他接触到这种虚拟货币以来,他一直对其概念和灵活的实用性着迷。我们都很自然地喜欢币安比特币,我们很...

你了解熊市的五大好处吗?

你了解熊市的五大好处吗?

我们已经陷入了一段时间的萧条,从表面上看,它将持续很长一段时间。没人能说,经济复苏将持续多久,多低,多慢。如果你正在阅读这些文字,那么你仍然在这里,所以你可以放心地假设你将参与很长一段时间。即使...

英国金融管理局为金融技术创新建立全球联盟,以改善金融技术合作

英国金融管理局为金融技术创新建立全球联盟,以改善金融技术合作

[123 根据8月7日的官方声明,金融市场行为监管局(FCA)宣布制定一项全球计划,以改善监管机构和金融技术创新公司之间的合作,如区块链。...

梳理区块链的发展

梳理区块链的发展

提到区块链并从比特币谈论它。比特币诞生之后,经过一段时间的沉淀,它在2012年和2013年之后逐渐被社会认可,并且越来越热。自2017年以来,比特币迅速升温,以及比特币等新的区块链应用,如以太...

币安比特币爱好者提出改进建议,以保持匿名和不受管制

币安比特币爱好者提出改进建议,以保持匿名和不受管制

两位匿名币安比特币爱好者提出了一项平房币安比特币计划,该计划将区分现有计划以维护用户的匿名性。这被称为币安比特币II,它将修改现有的币安比特币代码以维持原始的所谓长期愿景,消除现有程...

专家们发现Mt.Gox只有386个币安比特币被黑客窃取

专家们发现Mt.Gox只有386个币安比特币被黑客窃取

在世界上最大的币安比特币网站Mt.Gox的秋天,许多人似乎指出了黑客的罪魁祸首,因为黑客使用交易可塑性称为交易延展性。漏洞已经从Mt.Gox窃取了大量币安比特币。但这种观点似乎并...