如果您想了解Hashgraph技术,那么您来对地方了。我们将详细研究它,并研究它的公共实施,Hedera Hashgraph.
分散式账本技术(DLT)—这是2018年搜索量最大的术语之一。为什么不呢?这就是改变我们解决周围问题的方式的原因。公司和初创公司已经了解了其重要性,并将区块链集成到他们的工作场所中。那么,这是否意味着对于希望转变业务的公司而言,区块链是最终的解决方案?好吧,不是真的.
认识哈希图.
Hashgraph是一种DLT(分布式分类帐技术),为解决分散式解决方案提供了不同的方法。它由Swirlds的CTO和共同创始人Leemon Baird开发。如果您是分布式账本技术的新手,那么您可能会发现Hashgraph有点令人困惑,或者只需要一些时间就可以弄清楚。但是,如果您进入区块链,则可能会发现区块链和Hashgraph有惊人的相似之处-那里是两种最受欢迎的DLT.
区块链技术
在继续了解Hashgraph之前,我们必须先了解一下区块链技术必须提供的功能。首先,它是目前最流行的分布式分类帐技术之一。许多加密货币都利用区块链技术。但是,并非所有人都使用“区块链”概念.
区块链网络基本上是由对等方管理的对等网络。此处的关键区别在于网络的维护方式。它们完全是分散的,没有权限处理网络。借助共识算法和数据库复制来获得信任.
这里的关键概念是“块”。事务(记录)存储在块中,并且大多数都是链式完成的,因此无法以任何可能的方式修改数据。这使区块链技术成为存储记录,资产管理,投票等的理想选择.
区块链的问题
区块链在过去十年中发展了很多。一切始于比特币,它提供了有史以来的第一个版本的区块链。这是引入去中心化账本技术概念的第一代区块链。它以自己的方式着迷,并且至少可以说是开创性的.
现代基于区块链的解决方案的主要问题之一是与之相关的传输速度。以太坊是新的基于区块链的DLT之一,每秒提供15笔交易。另一方面,比特币也并不令人印象深刻。每秒仅提供5个事务。当企业采用区块链技术时,这是一个重大的劣势.
什么是哈希图? Hashraph技术背后的秘密话题
Hashgraph是另一种分布式分类帐技术。这是一项由Leemon Baird设计并获得Swirlds Corporation许可的专利技术。 Hashgraph是DLT的改进版本,可通过使用散列来提供安全性,分发和分散化。这意味着它不会受到速度问题的困扰.
Hashgraph每秒能够处理数千笔交易,这就是它与区块链技术的不同之处。还有很多Hashgraph用例,包括在加密货币中使用它.
然而,由于其私有性而获得了速度。还有一个Hashgraph的公共版本,它是Hedera Hashgraph(另一个Hashgraph用例)。它也属于Hashgraph应用程序类别。我们将在本文的后面部分讨论Hedera哈希图。所以,请继续关注!
显然,如果您经历了 哈希图白皮书 该版本于2016年5月发布,您会注意到它将自己定义为“共识算法”或“系统”,而不是完全属于分布式分类帐技术。我们也同意将其定义为数据结构或共识算法,而不是完整的系统。其背后的原因是可以将其视为低级构建块。但是,在指南的后面,我们将介绍Hedera Hashgraph,这似乎是一个完整的解决方案.
Hashgraph解释:技术概述
那么,是什么使Hashgraph Technology滴答作响?是什么使它在DLT环境中更快,更安全,更公平?让我们来探索.
哈希图缺少“区块链”。为了提高整体效率,Hashgraph技术使用了两种算法。它们如下:
- 关于八卦的八卦
- 虚拟投票
这两种方法以简单的方式工作.
关于八卦的八卦
网络中的任何节点都需要相互通信。这是“八卦过八卦”方法的前提。为了获得清晰的图像,让我们考虑五个节点-Alpha,Beta,Gamma,Charlie和Bravo。现在,这些节点中的每个节点都开始一个事务-这导致网络中的“事件”.
在事件期间,每个节点都调用另外两个随机指定的节点。这些节点是随机选择的-共享交易详细信息。例如,Beta调用Gamma和Brave,而Alpha节点调用Charlie和Bravo。它是完全随机的,因此我们不知道哪个节点将调用另一个节点。事件结束后,所有节点都相互调用,从而创建了一个网络,其中每个节点都具有上一个块的哈希值。它是一个树状系统,您可以在其中可视化要与其他树叶连接的树叶。每个节点相互连接的方式使Hashgraph Technology同时变得如此独特和令人惊叹.
虚拟投票
与“关于八卦的八卦”相比,虚拟投票的工作方式有所不同。虚拟投票用于达成决定交易顺序的共识。虚拟投票仅在节点处理一定数量的事务时开始。在我们的示例中,假设在虚拟投票开始前发生了15个事件.
当虚拟投票开始时,每个参与者现在都在寻找适合网络的特定事件。它被称为“著名证人”。简而言之,所选事件包含有关节点记录的旧事件的信息。如果新事件适合旧事件,则投票为“是”,否则投票为“否”。这样一来,一项赛事获得了最多的选票,现在成为该“特定”回合的“著名”见证人。然后,事件提供了交易订单.
哈希图白皮书-让我们获得更多技术信息
现在,我们对Hashgraph技术的工作原理有一个清晰的了解,现在该是我们继续研究其更多技术方面的时候了。我们将翻阅其白皮书,并了解以下关键方面。您可以直接从 这里.
白皮书的目的是为了更好地了解Hashgraph所提供的功能.
在白皮书中,您会注意到的第一件事是Hashgraph如何定义自身。它并不称自己为成熟的系统,这是事实。它基本上是一种共识算法或一种数据结构,它提供了一个低级构建块,而不是充当一个完整的系统。但是,它确实提到了加密货币系统实现中的“ Hashgraph SDK”.
Hashgraph开辟了解决复杂问题的新方法。但是,它是Swirls,Inc.的财产,因此永远不会对公众开放。因此,如何通过伙伴关系将其实施到其他项目。他们已经开始扩张,其中一项扩张包括与 库尔德. CULedger将使用Hyperledger技术构建Credit Union的分布式交易处理解决方案。显然,我们可以看到Hyperledger的速度因素如何帮助其改善财务系统.
但是,它并不完全是一个封闭的生态系统。哈希图提供了一个 SDK库 这使任何人都可以轻松尝试其共识库.
程式语言
Hashgraph使用的编程语言包括LISP和Java。核心是用这两种编程语言编写的。但是,通过使用Hashgraph提供的SDK,它倾向于使用Scala,Java等JVM语言。.
开源社区一直在改进Hashgraph产品,因此有自己的实现,可以使用其他编程语言。如果您有兴趣,可以在下面找到相应的实现.
- 转到https://github.com/mosaicnetworks/babble
- Python https://github.com/Lapin0t/py-swirld
- JavaScript https://github.com/buhrmi/hashgraph-js
哈希图技术是一个很棒的概念,这就是为什么您会看到它在开源社区中同样被采用的原因。根据其白皮书,它是快速,安全和公平的,或者是吗?让我们从技术上看Hashgraph.
它是如何工作的? –技术概述
哈希图共识是解决共识问题的独特方法。它利用拜占庭式容错技术来复制状态机。我们也可以将其视为“原子广播”算法。这意味着它将在无序交易之间建立链接,并相应地对它们进行排序。该过程正在进行中,节点可以提交事务。完成后,每个节点将收到一个有序的事务输出,其中包含所有已提交的事务。这样,考虑到每个节点已相对于链上的其他节点进行了排序,所有节点都已连接,并且每个节点都有“总订单”的副本。这是订购交易并将它们连接在一起的有效方法。这使其成为实施不同加密货币,系统和解决方案的理想选择.
让我们看一下这两个功能.
Submit_transaction(交易)
get_transaction(index) -> 交易或空值
这两个函数是Hashgraph的工作原理的核心。 Submit_transaction函数中的事务属性是一个对象,其中包含诸如费用,发送者,接收者,金额,id等信息。交易对象中的信息用于标识其在网络中的位置。节点本身在需要时调用submit_transaction函数.
那么,Hashgraph如何确保交易按预期进行?它通过遵循原子广播算法来保证.
- 如果T1事务成功调用了Submit_transaction(T1),则get_transaction(index)的调用中的索引最终应返回T1。.
- 如果get_transaction(index)调用(任何)返回T2事务(不为null),则对于get_transaction(index)的每次调用都应返回T2或null。最终它将为所有呼叫返回T2.
保证很重要,以确保哈希图中的每个客户都能使用相同的索引看到有序的输出列表(一旦交易被哈希图接受。)另一方面,第二个担保解决了双重支出问题,这一问题至关重要确保没有任何第三方恶意行为者可以损害网络的正常运行.
使用Hashraph构建加密货币
既然我们已经了解了这两个功能的工作原理并确保了哈希表中的保证,我们就可以使用该知识来构建“基本加密货币”。现在,我们将仅共享伪代码,该伪代码将覆盖其背后的逻辑.
伪码说明
我们需要声明一个用于存储地址和跟踪号的全局数组。现在,定义了send_money方法,只要节点决定使用哈希表,就会调用该方法。它具有三个属性,包括接收方,发送方的地址以及数量。然后将金额存储在交易数组中.
在sync_forever()函数中,我们确保事务处于循环中。它还负责处理耗尽其余额的节点,并且当余额返回负值时将跳过该节点。每个节点都可以按特定顺序查看同一组交易。这意味着一旦更新了交易,其他节点将跳过该交易.
上面的代码是使用Hashgraph创建加密货币有多么容易的示例。它是一种基本的加密货币模型,您可以随时根据需要对其进行修改。例如,您可以添加费用,添加智能合约功能等等。简而言之,Hashgraph可以轻松地为任何加密货币提供生存所需的共识。除此之外,开发人员还必须创建所需的其他功能。与其他类似解决方案相比,这也意味着Hashgraph提供了更大的灵活性.
客户的角色
在网络中,客户必须处理很多事情。每个客户端负责运行哈希图算法。这类似于完全去中心化的区块链,其中有账本的副本。 Hashgraph中的客户端还下载了整个Hashgraph数据结构,并使用验证过程对其进行了验证。完成验证过程以检查交易是否已提交.
那么,它与比特币网络中的节点有何不同?显着的区别是客户验证交易所需的数据量。在比特币网络中,每个节点都必须下载块头和用于单笔交易验证的证明。另一方面,哈希图仅需要图形数据结构。这是一种独特的方法,可确保它不需要全部数据或大量数据来验证交易。客户端总共需要签名和事件-总计128字节的数据.
深入了解哈希图算法
Hashgraph为正在寻求提供解决共识的实用方法的系统提供了理想的解决方案。该算法掌握了关键,这就是为什么我们现在要遍历该算法并了解其工作原理的原因.
让我们以具有N个节点的网络为例。为了使协商一致成功,即使网络中存在恶意节点,也需要确保协商一致。节点可以一起工作来进行事务处理或故意延迟数据包。所有这些意味着需要对节点之间的这类攻击或协作进行适当的保护.
拜占庭设置可确保如果满足任何一项要求,则两个节点可以有效通信,并确保算法不会崩溃.
在继续进行之前,让我们了解理解算法所需的一些术语.
- 有向无环图(DAG): DAG是Hashgraph中使用的数据结构,其中每个节点以定向方式连接到其他节点,没有循环.
- 大事记: 事件包含一组事务,这些事务由哈希图中的顶点表示。每笔交易都包含以下信息:事件的父项,创建事件的节点签名以及时间戳.
- 时间戳记: 时间戳是事件发生的真实世界时间。时间戳正在考虑它们会影响节点的最终顺序.
- 防碰撞哈希函数: 防冲突哈希函数用于确保事件的所有信息都正确编码。它还可以确保事件发生之前的八卦历史得到认证,并且不会以任何方式进行修改.
因此,如果事件发生,它将被发送到其他节点。见证新事件的节点也将了解旧事件,因为使用共识算法对其进行了验证。一切都与本地化分析和正确使用八卦事件有关.
来源: 哈希图白皮书
在上图中,有五个节点或客户端,即Alice,Bob,Carol,Dave和Ed。这些节点中的每个节点都定期连接(闲聊),从而引发事件。当节点出现闲言碎语时,具有有效签名和哈希匹配的新事件将添加到图中。仅将以前未见的事件添加到图中,以确保没有多余的信息保留在图中.
同步完成后,任何接收事件的节点都会从发送节点获取任何事务,并对其进行签名以创建新事件。该过程确保每个新事件对于接收节点都有一些新的事物,这是关于图的唯一事物。.
这样,哈希图借助抗碰撞属性不断扩展。每个添加事件的节点都同意过去的信息,这使得Hashgraph的重要性.
两个关键属性:整数和二进制值
在整个过程中,两个关键信息使Hashgraph成为可能。第一个是整数,以递增顺序使用。其他关键信息是二进制值,该二进制值确定客户端是否见证了事件。该值仅在特定回合中成立.
当事件发生时,将立即生成这些值。但是,它并不像听起来那样简单。例如,二进制值可以是以下三个值中的任何一个:“不确定”,“绝对是”和“绝对否”。考虑到这三个值需要花费一些时间才能确定该值是“绝对是”或“绝对不是”。不确定时,该值设置为“不确定”。
Hashraph的三个主要功能
Hashgraph具有三个关键功能,使其成为不同项目的绝佳选择。在白皮书中,它描述自己是安全,公平和快速的。要了解这些功能,请在下面进行讨论.
安全的: 共识算法确实提供了一种安全的方式来处理事务,并确保正确覆盖事件。顺序是Hashgraph中重要的事情,Hashgraph确保没有恶意行为者可以摆弄数据的准确性或事件相互连接的顺序。这样,它可以保护网络免受双重支出问题和51%的攻击。它还有效地利用了抗哈希函数和数字签名。事务一旦提交,就不能撤消或更改。毕竟,它使用ABFT(异步拜占庭容错).
公平的: 公平概念围绕着对网络中所有节点公平的想法。它通过指出攻击者将无法了解哪些新交易将使这两个新交易达到共识顺序来定义公平性。但是,尚不清楚它如何为哈希图提供公平性。除了白皮书定义之外,哈希表团队还通过社交媒体平台澄清了,如果大多数节点都知道交易,则公平性很好。如果攻击者控制了参与者的2/3,则可能导致问题。他可以轻松地对事件进行重新排序,而不会影响网络的公平性。节点也不需要Hashgraph挖掘.
快速地: 八卦方法 被认为是相当快的。对于Hashgraph的八卦协议,情况就是如此。考虑到事件全都与“八卦-八卦”有关,事件迅速在网络中传播。这也意味着随着时间的流逝需要传播的信息更少。 Hashgraph还利用虚拟投票,这使其更有效。但是,如果考虑到每个节点都需要整个Hashgraph,则入站的大小应随时间增加。目前,我们尚不知道它将如何影响网络性能。从理论上讲,哈希图的TPS可以达到5,000,000.
想知道更多关于区块链VS哈希图的信息吗?立即查看Hashgraph VS区块链分析!
赫德拉Hashgraph
到目前为止,我们已经讨论了Hashgraph的封闭生态系统,其技术工作原理以及如何声称其快速,安全和公平。但是,哈希表的最大障碍是其私有性。企业准备好了.
认识Hedera Hashgraph,这是一个公开的Hashgraph网络,它利用了Hashgraph共识算法。它充分利用了异步拜占庭容错算法(aBFT)。它为复制状态机提供了保证的拜占庭容错能力.
Hedera Hashgraph在拜占庭式容错(BFT)共识(aBFT)之上确立了自己的想法。改进的模型将确保使用Hedera Hashgraph可以为企业带来更多价值。它也由Hedera哈希表委员会管理。最终目标是向公众提供Hashgraph功能的访问权限,并使公众利用安全,快速的系统来实现分布式账本.
在引擎盖下,Hashgraph和Hedera Hashgraph相似。他们都利用“关于八卦的八卦”协议,该协议利用aBFT协议达成共识。它还使用虚拟投票,这意味着不需要中央机构。它是完全分散的,并为使用提供了一个不受信任的环境.
使用aBFT可以确保在所有条件下的公平性,即使网络中包含恶意行为者也是如此。 Hedgraph的所有属性都在Hedera Hashgraph中使用。但是,为确保Hedera哈希图受到DDoS攻击的保护,共识算法不使用领导者格式.
借助Hedera Hashgraph,您可以建立信任。 Hedera Hashgraph的一些关键应用包括加密货币,智能合约和文件服务.
Hedera Platform提供的服务
使用Hedera平台,您可以启用一些关键服务,其中包括:
- 加密货币:允许中间人使用网络进行加密货币支付,并让他们利用较低的成本和简单的设计.
- 智能合约:您也可以在Hedera平台上构建智能合约。要开发智能合约,您需要使用Solidity。作为开发人员,您可以进行原子交换,创建资产并部署全新的应用程序.
- 文件服务:您还可以使用Hedera平台进行文件服务,即验证文件。这也是GDPR投诉.
管治
Hedera Hashgraph中的治理工作方式不同。它可以分为两层–理事会和公开共识.
理事会是一个集中控制系统,对于想要为分布式分类帐提供服务的任何网络来说,这都不是理想的解决方案。社区对此方法也不满意,它仍然是对Hedera Hashgraph的最重大批评之一.
另一方面,开放共识是我们上面已经讨论过的共识机制。它控制节点如何加入网络并成为网络的一部分,并使网络更加分散。为了确保有一个适当的加权投票模型,它使用权益证明。它确保充分缓解了冲突,并且还为用户提供了运行节点的适当动机.
Hedra Hashgraph体系结构
Hedra Hashgraph体系结构是三层体系结构。它由Internet层(底部),哈希图共识层(中间)和服务层(顶部)组成。让我们简要地讨论每一层.
- Internet层:该层负责Internet上计算机之间的通信。它使用TLS加密部署TCP / IP连接.
- 哈希图共识层(中间):中间层包含参与网络的节点。这些节点使用Hashgraph共识算法和八卦协议参与共识方法.
- 服务层:最顶层有自己的子组–文件存储,加密货币和哈希图智能合约.
节点通过参与网络赚取加密货币。这是一种本国货币,可确保用户获得参与的动力.
另一方面,文件存储基于Merkle。此外,如果您是开发人员,那么您也可以使用Hedra支持的Solidity。最后,它在网络顶部提供了智能合约支持-使您能够创建可扩展的dApp.
Hedera Hashgraph dApps
顶级Hedera Hashgraph dApp很少。它们包括Sagewise,Hearo.fm,Carbon,Cryptotask和Arbit.
Hedera哈希图工具
有很多很棒的Hashgraph工具。很少有著名的哈希图工具如下:
- Hedera Java SDK –适用于Hedera Hashgraph的Java SDK。它由Hedera LLC维护.
- Hedera Rust SDK – Rust中的SDK,由社区维护
- Hedera Go SDK – Go中的SDK,由社区维护
- 海德拉测试 –在行动中测试Hedera
- Hedera Java Keygen工具 –在Hedera哈希图中使用的keygen工具,用于管理ED25519密钥对。这是一个命令行实用程序.
哈希图社区
您还可以与Hashgraph社区互动,并成为其产品的一部分。要开始使用,请在以下位置查看Hedera社区 电报, 中,以及Twitter。如果您想与Hedera Developer Chat聊天,可以查看链接 这里.
结论
Hashgraph是一个令人兴奋的概念,它完全改变了比赛环境。它比包括区块链在内的传统分布式账本技术要快。显然,这是一个很好的实现,但是接近自然会阻碍其发展。另一方面,Hedra Hashgraph是一个公共的Hashgraph网络,它适当地使用了Hashgraph。此外,没有哈希图挖掘功能,这使得该网络对于参与其中的每个人都更加公平.
但是,它并非没有受到批评-因为它使用集中式治理模型。那么,您总体上对Hashgraph有何看法? Hashgraph的应用程序将来会增加吗?在下面发表评论,让我们知道.