Mendix构建区块链 So Easy

背景简介

区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式。

以前是靠信誉、靠百年老店、权威机构等,区块链利用技术建立了新的信任方式,这是可以被量化的,从技术的角度实现的,所以说区块链成为了下一个信任的基石。区块链最核心的革命特性是改变千百年来落后的信用机制。如何通过Mendix构建自己的区块链呢,跟着以下步骤快速搭建属于自己的区块链吧!

区块链块和交易

我们将模型拆分为我们称之为MendixBlockchain模块和MendixBlockchain的实现:MyGenuineCertificatesBlockchain。

第一个模块是100%通用的,第二个模块是关于区块链中正版产品证书的示例案例的实现。

该模型有两个持久实体:Block和Transaction。区块链中的块可以有多个事务。不要将交易视为金融交易。事务可以是您想要的任何事务,它只是存储数据的数据库记录(因此属性为Data)。此数据可能是金融交易,也可能是客户的地址。请注意,没有任何实体'链'。 

交易所有权

使交易存储在块中安全可靠,但是如何证明证书真的是自有的呢?这就是私钥和公钥的来源。每个证书都由(产品的)所有者签名,只有拥有其私钥的所有者才能重新生成证书的签名以证明其所有权,我们暂时不会详细介绍私钥和公钥对,但您可以查看模型以便更好地理解。

我们创建了两个非持久性实体来管理私钥/公钥(UserKeyPair和PrivateKey)。这些密钥仅暂时存在于内存中,并在浏览器缓存中加密,以提供更好的用户体验。使用这些密钥,您可以签署交易并证明所有权。

保存您的私钥以便稍后证明您的交易是您的。

创建块和挖掘

 要创建区块链的示例,首先需要事务(数据)。我们的示例中的实体GenuineCertificate继承自Transaction,并具有一些额外的属性,这些属性为在特定地点特定年份构建的产品定义唯一的正版证书。只需在此表中添加一些记录。

创建一个或多个GenuineCertificates后,您就可以在区块链中创建一个块。创建块时,需要有效的公钥和私钥来对事务进行签名,并且将添加块中尚未存在的所有事务。

创建块是通过连接事务中的所有数据(由您的公钥和私钥单独签名)完成的。完成此操作后,将创建块数据的哈希值。散列将一起存储到链块中,每个块(您可以在域模型中看到)包含对前一个块的引用。例如,这可以是SHA256哈希。这将产生一个随机字符串,如:89441726368f69b71faf9aac07f18665838b4672376748849df0028b748c52bc。创建这些哈希的过程非常快速和简单。

但是,创建一个简单的哈希并不是我们通常想要的区块链。创建哈希越难,之后操纵哈希就越难。因为每个块都包含对其前一个块的哈希引用,所以要在没有任何人注意的情况下更改第一个块,您不仅需要重新计算第一个块哈希,还需要重新计算所有后续块的哈希值。

下面显示了我们的采矿微流。看看,你可能会认识到以上所有。在我们的示例中,我们使用4个零的复杂度。将此更改为10,您将看到挖掘将花费更长时间。

请注意,此计算(挖掘)过程仅适用于工作证明区块链。可以想象,采矿是非常密集的,并且在使用电力方面也非常昂贵。这就是为什么很多区块链都在考虑从工作证明转向股权证明,因为后者不涉及挖掘来创建块。

在加密货币的世界中,这种采矿得到了回报,但您必须是第一个获得采矿区块的人。


更多信息,请访问以下链接:

Mendix官网:https://www.mendix.com/zh/

Mendix行业解决方案:https://solutions.mendix.com/

Mendix平台指南:https://www.mendix.com/evaluation-guide/

Mendix动画展示:https://www.mendix.com/demos/

Mendix公众号

谢谢阅读!

猜你喜欢

转载自blog.csdn.net/Mendix/article/details/114400211