当前位置:首页 > 物联网 > 区块链
[导读] 每个区块链在其底层都混合了不同的机制来进行工作。不管使用的是什么机制通常来说都没有对错之分。即使是“分叉”(现有区块链的复本),在开发人员追求处理分布式系统的规模、速度和其他方面的更好方法时,在

每个区块链在其底层都混合了不同的机制来进行工作。不管使用的是什么机制通常来说都没有对错之分。即使是“分叉”(现有区块链的复本),在开发人员追求处理分布式系统的规模、速度和其他方面的更好方法时,在某些方面也会有所不同。

区块链的核心是工程师选择的编程语言。比特币是用c++写的;以太坊是用 Go, C++, 写的,现在是 Rust。要在以太坊上建立智能合约,必须有坚实的基础。大多数人都听说过这些语言;即使是业余爱好者也会在日常阅读中遇到这样或那样的情况。

然而,有一种语言已经进入了人们的视野。Erlang虽然不是一个家喻户晓的名字,但实际上是33年前创建的。事实上,它是我们今天使用的互联网基础设施的一个活跃部分。尽管Erlang不如其他更常见的编程语言流行,但Tobias Lindahl断言Erlang是构建区块链的完美编程语言和学科基础。

Lindahl是利用Erlang的20年老手,拥有工程物理科学硕士学位,他花了几年时间在虚拟机(VM)上进行研究和工作。

从头开始:设计一个更好的区块链

根据Lindahl的说法,Erlang和区块链有如此多的共同点,只有在从头开始重新构思时,才会将其用于核心区块链协议。

Lindahl解释说:“既然区块链如此严重地依赖于通信,那么把它放在Erlang中本来是很自然的事情。”该语言是为在电信中构建分布式系统而构建的。因此,在Erlang中实现节点之间的通信非常容易。”

他补充说,除了为可伸缩的全球节点网络开发,Erlang中程序员思考问题的方式在处理区块链中的问题时给他们带来了显著的优势。

Erlang语言的不变性类似于区块链的不变性。有些东西一旦进入链条,就永远不会改变。这与您考虑Erlang问题的方式非常相似。

为什么Erlang非常适合构建区块链

在竞争激烈的区块链领域,很容易声称一种解决方案比另一种更好,这种说法太常见了。为了支持他的观点,Lindahl解释了为什么他认为Erlang是构建区块链的最佳编程语言。

“有了Erlang,数据就不会变,所以不会有破坏性的更新。它使得对程序进行推理变得更容易,甚至可以证明一些关于程序的东西。它也使测试程序变得更容易。他补充说,Erlang不仅能够快速分发大量的交易数据,还允许多个进程同时运行而不会相互冲突。

“当一个进程处理某些东西时,它不需要担心任何其他进程进入并改变其数据状态。对我来说,这是主要的好处。当然还有并发性这一优势。你可以让数千个进程同时运行,而不会相互影响。”

因此, Lindahl和开发团队æternity能够无缝部署重要功能。升级的第一个协议(硬分叉)证明了Tobias的说法——它是在没有任何问题的情况下执行的。

“我们使用噪声协议在节点之间进行通信。很容易设置到其他节点的独立节点连接,而不会相互干扰。这是erlang的另一个内置特性——无需处理信号量或程序的关键部分,就可以轻松管理单独的连接,”他说。

用Erlang实现类似于噪音的协议要简单得多。处理不同节点之间的连接很容易,因为关注点是分离的。您可以只分配一个Erlang进程来处理一个到另一个节点的连接,这可以一直进行下去。你知道没有其他过程会干扰这个。所以你不用担心其他的连接。”)

他补充说,Erlang支持一个非常有弹性的系统,可以根据需要伸缩。

Lindahl解释说:“如果一个连接死亡,另一个进程会自动接手。”Erlang有很多内置组件专门用于处理错误恢复和容错。因此,很容易运行许多Erlang进程。您可以或多或少地无限伸缩,或者更准确地说,您可以通过Erlang伸缩到您需要的任何位置。并且你不还需要担心规模,这是区块链行业目前面临的最大问题之一。”

为什么其他人不使用Erlang来构建区块链?

Lindahl的观点非常有说服力,这就引出了一个问题:为什么区块链技术从一开始就不是建立在Erlang之上的,为什么许多著名的区块链平台没有在自己的解决方案中包含Erlang。“Erlang社区没有那么大。使用Erlang的人并不多。”

“我不认为从一开始就没有使用它的根本原因。显然,Erlang并不是最适合所有情况的。也许工作量证明(PoW)才是问题所在。您不会在Erlang中实现它。”

区块链:高级还是低级?

最终,Lindahl说,高级编程和低级编程之间的区别决定了如何构建区块链的复杂性,这将影响到您可以扩展平台可能性的程度。在区块链行业,这是一个游戏规则的改变:它可以意味着一个平台在其他网络上的全球规模的成功。

Lindahl补充说:“我认为,由于Erlang的高级特性,您思考问题的方式是抽象的。你抽象了,是因为你有高层次的背景”。在低级程序设计中,程序员为每个操作提供指令。在高级编程中,程序员给出一个目标,而计算机知道实现该目标所需的所有单独操作。

对于那些有兴趣学习更多的人, Lindahl建议查阅æternity 的Documentation中心。他们的Github存储库也是一个很好的起点。除此之外,一个由社区支持的名为Dacade团队还为æternity的发展创建了一个教程(成功的完成者从中可以获得100美元的AE代币)。对于那些非常想参与其中的人,他们有一个即将召开的会议,ternity Universe,开发者和企业家可以直接从他们的开发者和创始人那里得到问题的答案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭