窥视区块链世界

区块链是未来最有前途的技术之一。它实际上是为了支持著名的加密货币比特币而创建的。但是今天,它已经在许多领域得到了广泛的应用,包括银行业务,货物转移,网络安全等等。它消除了对中间人的需求,因此可以在没有信任的环境中安全地转移资产。因此,让我们进一步了解它。

区块链是一种分布式的,去中心化的,公共的账本,它是高度透明的,并受到强大的加密货币算法的保护。一旦数据记录在区块链中,几乎就不可能对其进行篡改。没有中央机构控制区块链。让我们看一下区块链的结构。

1al0_W2B8OUxdxwa1zezwNQ

顾名思义,区块链是一连串的区块,其中每个区块都包含一个标题和数千个交易。标头主要包含哈希值(唯一标识该块),时间戳和前一个块的哈希(其中包含前一个块的事务记录)。

19uzA9AY1cvBBvDhC06iPbA

当数据被篡改时,它将更改该块及其后继块的哈希值,这会使这些块无效。区块链中称为矿工的参与者通过解决一个高度复杂的数学难题来验证交易并将其添加到区块链中(此过程称为挖矿,不在本博客的讨论范围之内)。这需要高功耗,因此,矿工将获得新硬币(在比特币网络的情况下为比特币)的奖励。

现在我们已经了解了区块链的基础知识,让我们研究一下区块链的强大功能,即智能合约。

智能合约

智能合约是在满足特定条件时自动执行的计算机代码。它提供了强大的代码执行功能,可在区块链中实现业务逻辑。智能合约由以太坊开发,是一个基于区块链的去中心化平台。

让我们看一下智能合约(有投票权的智能合约)的演示。智能合约以Solidity编程语言编写,Solidity编程语言是专门为以太坊平台设计的高级编程语言。Remix IDE(Web界面)用于编写,部署和运行智能合约。

1rqE0O2ZWX74-YzN4GjTUmw

第一行表示智能合约的版本,该版本由实用性牢固程度(version)定义。然后,它包含合约名称(选票),后跟一个结构变量Voter(代表一个选民)和另一个结构变量提案(代表提案)。

投票的四个不同阶段由枚举数据类型的阶段变量定义。第15行包含一个新的数据类型,地址。它是访问智能合约的参考地址。通常,每个投票者都有一个唯一的十六进制地址,该地址可由地址变量引用。在这里,地址数据类型的可变主席是指可以注册所有其他选民的人。映射是类似于键值存储的数据结构。提案是指候选人的结构。

1HhJtFewqRw0_CVRek8mDSw

实体修饰符用于在功能上创建其他功能或对功能施加限制。第22行的修饰符确保仅当参与者处于正确的投票阶段时才调用该功能。

1bUkBHBYoPc6oZjKOas7jtg

功能初始化和注册 

1iiixTlH82pNaOBaCgw5MUg

职能投票和获奖提案 

现在有四个功能

初始化:我们将智能合约创建者指定为主席,该主席的权重为2。在接下来的步骤中,将分配当前阶段和时间。通过使用修饰符validStage,可以确保该函数仅在其处于适当阶段时才执行(这包含在3个函数的其余部分中)。

登记:下一步是登记选民。确保由主席独自完成。选民的权重为一。第41行暗示只有在定义的时间之后才能更新舞台(我以10秒为例),这样主席才能在舞台更新之前有足够的时间进行注册。

投票:此功能用于投票。已经为提案注册的选民和提案的投票数将随着该选民的权重而增加。

WinningProposal:此函数声明获胜者。比较每个提案的VoteCount,并将具有最大VoteCount的提案声明为获胜提案。

1U0DwOSXseKXd8Kco08cMYQ

1hvD9LzsOsnHGuZp2Be17jw

编译代码并部署智能合约。您将获得一个充当Web界面的环境。您可以通过此界面与智能合约进行交互。您可以在IDE的左上方看到各种帐户,每个帐户都有100个假的以太币(以太币是以太坊网络的加密货币)。您需要以太币才能对智能合约执行操作。

初始化提案数量。使用十六进制地址注册选民。确保使用主席的帐户(用于初始化的帐户)注册选民。让每个帐户为他们想要的提案投票。最后,调用winningProposal,并宣布获胜者。

区块链的另一个有趣功能是去中心化应用程序或DApp。这是一个具有客户端接口的应用程序,因为前端和后端包括区块链和智能合约。前端可以是Web应用程序,HTML和Javascript框架,CLI,移动应用程序甚至是IoT。

区块链平台

尽管比特币和以太坊是两个著名的区块链平台,但在区块链领域还有许多其他有希望的举措。让我们进一步探索。

超级账本

Hyperledger是一个这样的计划,它是一个由Linux基金会管理的开源项目。它通过提供必要的基础设施和标准来工作,以开发各种基于区块链的系统和工业应用。Hyperledger中有很多工具和框架。最受欢迎的框架是Hyperledger Fabric

1n25j7_3sAJzTFmPl2zjI4g

超级账本 

让我们看一下将超级账本与比特币和以太坊区分开的因素。Hyperledger没有加密货币。在这里,智能合约称为chaincode。另一个主要因素是Hyperledger是一个许可系统,在这里我们需要获得许可才能参与区块链操作。

实际应用

区块链有许多实际应用会影响您和我。例如,AugurGrid Plus是在以太坊上运行的两个去中心化应用程序,可解决现实世界中的问题。

Augur是一个去中心化的预测市场平台,可以基于“人群的智慧”原则预测事件的结果。使用这种方法,使用从人群中收集的信息可以找到最可能的结果。网络会奖励正确的预测,而错误的报告也会受到处罚。

Grid Plus是一个去中心化的应用程序平台,致力于通过整合区块链技术来创新能源零售行业。它旨在将能源转移和支付交易转移到区块链架构上。

挑战与解决方案

就像任何新兴技术一样,区块链也面临挑战。让我们研究其中的一些。

共识:区块链共识是区块链参与者之间关于要添加到链中的下一个区块的一般协议。在各种区块链中使用了不同的共识协议。比特币使用工作量证明(PoW)达成共识。它占用大量计算资源,并且需要高功耗才能开采该区块。

当前以太坊使用PoW的轻微修改。但是最终,它将采用一种称为权益证明(PoS)的新共识算法。它需要更少的时间和功耗,因此比PoW效率更高。

可扩展性:与中心化系统相比,区块链中的功能(例如验证,验证和交易记录)需要大量时间。以太坊中的交易按顺序执行,而不是并行执行。所有这些挑战了区块链应用程序的可扩展性。

解决此难题的方法是增加每个区块的交易量,从而提高交易率。这被称为链上解决方案。另一种方法是将块大小增加到2兆字节。在这里,原始块将存储发送者和接收者数据以及交易,而新块结构将保留签名和脚本。

行星际文件系统(IPFS)

去中心化的点对点系统可以独立于区块链来实现。IPFS是此类系统的一个示例。它是一种用于存储和共享文件,网站,应用程序和数据的去中心化模型。IPFS将使用同一文件系统连接全球所有计算设备。

IPFS不是通过HTTP中的位置来标识资源,而是通过其内容或内容的安全哈希来标识资源。在这里,无需担心数据被更改。IPFS还能够删除整个网络上的重复数据副本。

哈希图

如我们先前所见,区块链的主要缺点是其高功耗和增加的延迟。Hashgraph是一种信任模型,它通过散列保证了区块链的好处,例如去中心化,分布和安全性,而没有交易速度低的缺点。

1bZMbDJVC-72pT0UMaMcrmw

如图所示,哈希图由一组顶点或节点,垂直线和连接它们的边组成。垂直线是哈希图中每个参与者的时间线。节点代表事件,边缘代表事件从一个参与者到另一参与者的传输。这种传输称为关于闲话的闲话,是Hashgraph算法背后的一项主要操作技术。

可以肯定的是,在不久的将来,区块链将彻底改变许多行业和政府机构的运营。因此,区块链是一个拥有无限可能性和无限应用的领域。

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢