替代区块链

        随着比特币的成功,人们逐渐意识到区块链技术的潜力,并随之出现了迅速的发展,各种区块链协议、应用程序和平台相应产生。

        需要指出的是,在这种多元的局面下,很多项目迅速失去了它们的吸引力。事实上,有不少项目只是打着创新的幌子,在玩 ”击鼓传花“ 的古老把戏或者干脆就是 “骗局”。根据 Dead Coins 网站的统计,超过 70% 数字货币都已经没有什么成交量或市值彻底归零,大量区块链项目都已经死亡或者名存实亡。当然,也有一些项目已经成功地在自己的领域创造了稳固的地位。

1. Kadena

        Kadena 是一个私有区块链,它已成功地解决了区块链系统中的可伸缩性和隐私问题。Kadena 还引入了一种新的图灵不完备语言,称为 Pact,可以开发智能合约。Kadena 的一项关键创建是其可伸缩 BFT 共识算法,它有潜力扩展到数千个节点而不会降低性能。

1.1 可伸缩性和机密性

        可伸缩 BFT 算法基于原始的 Raft 算法,是 Tangaroa 和 Juno 的后继产品。Tangaroa 因具有容错功能的 Raft (BFT Raft) 的实现而得名,其开发目的是解决由于 Raft 算法中拜占庭节点的行为而引起的可用性和安全性问题,Juno 是 Tangaroa 的分支,由 JPMorgan 开发。

        这两个算法都有一个基本的局限性--它们无法在保持高水平、高性能的同时进行扩展。因此,Juno 无法获得太大的吸引力。私有区块链具有随着节点数量增加而保持高性能的更理想的属性,但是上述算法缺乏此功能。 Kadena 则通过专有的可伸缩 BFT 算法解决了这一问题,它可以扩展到数千个节点,而不会降低性能。

        此外,Kadena 还解决了机密性问题,它使在区块链上保持交易的隐私性成为可能。通过结合使用密钥轮换(Key Rotation)、对称链上加密(Symmetric On-Chain Encryption)、增量哈希(Incremental Hashing) 和 Double Ratcher 协议即可实现此安全服务。

        密钥轮换可用作确何私有区块链安全的标准机制。最好的做法是,通过定期更改加密钥来阻止试图破坏密钥的任何攻击。Pact 智能合约语言可对密钥轮换提供本地支持。

        对称链上加密允许对区块链上的交易数据进行加密。特定私人交易的参与者可以自动解密这些交易。

        Double Ratcher 协议可用于提供密钥管理和加密功能。

1.2 Kadena 的共识机制

        可伸缩 BFT 共识协议可确保在智能合约执行之前已实现足够的复制和共识。通过循环以下过程即可达成共识。

        交易在网络中发起和流动的方式如下:

        (1) 新交易由用户签名并在区块链网络上广播,由领导者节点接管,并将其添加到其不可变日志中。

        在这个阶段,还将为日志计算增量哈希。增量哈希是一种哈希函数,它允许在这样场景中计算哈希消息:如果已被哈希的先前的原始消息略有更改,则根据已经存在的哈希计算新的哈希消息。与传统的哈希函数相比,该方案更快,资源占用更少。在传统的哈希函数中,即使原始消息仅发生了很小的变化,也需要生成一个新的哈希消息。

(2)领导者(Leader) 节点将交易写入日志后,它将签署复制和增量哈希,并将其广播到其他节点。

(3)其他节点在收到交易后,验证领导者节点的签名,将交易添加到自己的日志中,并向其他节点广播自己计算出的增量哈希(法定证明)。最后,在从其他节点收到足够数量的证明后,交易将永久被提交到帐本。

        下图显示了此过程的简化版本,其中领导者节点将记录新交易,然后将它们复制到跟随者(Follower)节点。

 

1.3 Pact 语言

        一旦达成共识,就可以开始执行智能合约并采取许多步骤,如下所示:

(1)验证消息的签名

(2)Pact 智能合约层接管。

(3)Pact 代码已编译

(4)交易初始化并执行智能合约中嵌入的任何业务逻辑。如果发生任何故障,将立即回滚,将状态恢复到执行开始之前的状态。

(5)交易完成并更新相关日志。

注意:

         Pact 已由 Kadena 开源,其下载地址如下:

        https://kadena.io/pact/downloads.html

        可以下载提供 Pact 语言的 REPL 的独立二进制文件。下图显示了一个示例,通过在 Linux 控制台中发出 ./pact 命令来运行 Pact。

        用 Pact 语言编写的智能合约通常由 3 个部分组成:键集、模块和表。对这些组成部分的描述如下:

  • 键集(Keyset):本部分定义了表和模块的相关授权方案。
  • 模块(Module):本部分以函数和 Pact 的形式定义了包含业务逻辑的智能合约代码。模块内的 Pact 由多个步骤组成,并按顺序执行。
  • 表(Table): 本部分是模块内定义的访问控制的构造。只有在管理员键集中定义的管理员才能直接访问此表。默认情况下,模块中的代码被授予对表的完全访问权限。

        Pact 允许若干种执行模式。这些模式包括合约定义、交易执行和查询。对这些执行模式的描述如下:

  • 合约定义(Contract Definition):此模式允许通过单个交易消息在区块链上创建合约。
  • 交易执行(Transaction Execution): 此模式需要执行代表业务逻辑的智能合约代码模块。
  • 查询(Querying): 此模式仅涉及探测数据合约,并且由于性能原因在节点上以本地方式执行。Pact 使用类似于 LISP 的语法,并在代码中准确地表示将在区块链上执行的内容,因为它人类可读的格式存储在区块链上。这与以太坊的 EVM 相反,后者被编译为字节码以供执行,这使得区块链上正在执行的代码很难验证。Pact 是图灵不完备的,支持不可变变量,并且不允许空值,从而提高了交易代码执行的整体安全性。

        以下示例显示了一个简单的加法模块,该模块定义了一个名为 addition 的函数,该函数带有 3 个参数。执行代码后,它将 3 个值相加并显示结果,如下图所示:

         运行代码时,它将产生如图所示的输出:

        可以看到,代码执行输出的结果与代码的布局和结构完全匹配,这可以提高透明度并限制恶意代码执行的可能性。 

 

1.4 Kadena 区块链

        Kadena 是一类新型的区块链,它引入了普遍确定性(Pervasive Determinism) 的新概念,除了标准的基于公钥/私钥 的数据源安全性之外,还提供了完全确定性共识,它可在区块链的所有层(包括交易和共识层) 提供加密安全性。

注意:

        通过以下网址可以找到 Pact 相关说明文档和源代码:

        https://github.com/kadena-io/pact

        Kadena 在 2018 年 1 月推出了公共区块链,这是构建具有高吞吐量的区块链的又一次飞跃。该提案中的新颖思想是构建 PoW 并行链架构。其具体工作原理是:将对等节点上单独挖矿的链合并到单个网络中,这样可以产生巨大的吞吐量,使得每秒能够处理的交易数超过 10000 笔。

2. Ripple

        Ripple (瑞波)网络于 2012 年推出,是一种货币兑换和实时总结算系统。例如,甲方可以利用 Ripple 以美元支付,而乙方则可以通过 Ripple 直接收取欧元。在 Ripple 网络中,付款无须任何等待即可进行结算,这与传统的结算网络不同,在传统的结算网络中,结算(特别是跨国汇兑)可能需要几天的时间。

        Ripple 网络具有一种称为瑞波币(XRP) 的基础货币,它还支持非 XRP 付款。该系统被认为类似于所谓的哈瓦拉(Hawala) 的旧传统汇款机制。哈瓦拉是在阿拉伯世界普遍存在的一种非正式的金融系统,境外阿拉伯人通常习惯于通过这种地下交易网络向国内汇款。其具体交易过程是,境外汇款人将钱款和密码交给当地银行家(代理),该银行家通过信件将汇款的详情告知国内的联系人(代理),再由该联系人负责将所汇款项送至目的地,而国内的收款人则凭借密码接收汇款。这种交易方式几乎不留任何可查记录。由此可见,哈瓦拉系统开放、便捷、不需帐单凭证或文字记录,顾客也可以是匿名的。但是它的缺点也非常明显:它必须是完全可信的网络。

        Ripple 系统的工作原理与此类似,只不过代理换成了 Ripple 中的网关。当然,这只是一个非常简单的类比,实际协议相当复杂,但原则上是相同的。

2.1 节点

        Ripple 网络由各种节点组成,这些节点可以根据其类型执行不同的功能:

  • 用户节点:这些节点用于支付交易,可以付款也可以收款。
  • 验证者(Validator) 节点。这些节点参与共识机制。每个服务器都将维护一组唯一的节点,在达成共识的同时需要对其进行查询。参与共识机制的服务器将仅信任唯一节点列表(Unique Node List, UNL)中的节点,并且仅接受来自唯一节点列表中节点的投票。

        由于网络运营商和监管机构的参与,Ripple 有时不被视为真正的去中心化网络。但是,由于任何人都可以通过运行验证者节点而成为网络的一部分,因此可以认为它是去中心化的。此外,共识程序也去中心化了,因为提议对帐本进行的任何更改都必须遵循超级多数投票的方案来决定。当然,这是各派研究人员和爱好者中的热门话题,每一派都存在反对和赞成的观点。

2.2 共识

        Ripple 维护所有交易的全局分布式帐本,这些帐本由一种称为 Ripple 协议共识算法(Ripple Protocol Consensus Algorithm,RPCA) 的新型低延迟共识算法控制。其共识过程通过以下方式达到共识:

        要对包含交易的公开帐本的状态达成一致,需要以迭代方式从验证服务器寻求验证和接受,直到获得足够的票数为止。一旦收到足够的票数(绝大多数票,最初是 50%,随着每次迭代的逐渐增加,至少增加到 80%),更改将被确认并关闭帐长。此时,将向整个网络发送警报,指示帐本已关闭。

        简而言之,该共识协议是一个三阶段过程:

  • 收集阶段:在此阶段,验证节点将收集帐户
  • 共识阶段:在收集阶段之后,共识过程开始,在完成之后将关闭帐本。
  • 帐本关闭阶段:此过程每隔几秒钟异步运行一次,结果就是,帐本将相应地打开和关闭(更新)。下图显示了该过程的 3 个阶段。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ITK-高斯滤波

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 高斯滤波原理 高斯滤波(Gaussian Blur)是数字图像处理中常见的一种平滑滤波器,旨在通过模糊处…

Edge-Triggered模式:反应堆

Linux: Linux Code - Gitee.comhttps://gitee.com/RuofengMao/linux/tree/master/Reactor

yolov5-6.2 在 rk3399pro 上的移植

文章目录 一、搭建yolov5环境二、导出onnx模型三、安装 rknn-toolkit四、通过netron 查看 yolov5s.onnx 输出节点五、创建 onnx2rknn.py 文件六、通过toolkit将onnx转换为rknn模型七、在rk3399pro开发板上运行rknn模型 一、搭建yolov5环境 从yolov5官方仓库 ultralytics/yolov…

【DS18B20 简单开发】

DS18B20 是一种数字温度传感器,由 Maxim Integrated 生产。它提供了一个非常简单的方式来将温度测量集成到微控制器系统中。以下是关于 DS18B20 的一些关键特性: 单总线协议:DS18B20 使用单总线(1-Wire)数字通信协议&…

HTML添加文字

一、创建HTML5文档基本标签 <!DOCTYPE html> //定义文档类型 <html> //定义HTML文档<head> //定义关于文档的信息<title>文档标题</title> //定义文档的标题<meta charset"utf-8" /> //定义文档的字符编码</head&…

远程连接Hiveserver2服务

目录 1.修改 core-site.xml 和 hive-site.xml 的配置文件 2.启动HiveServer2服务 3.启动Beeline工具连接Hiveserver2服务 4.利用IDEA工具连接Hiveserver2服务 完成Hive本地模式安装后&#xff0c;可以启动hiveserver2服务进行远程连接和操作Hive。 1.修改 core-site.xml …

rancher upgrade 【rancher 升级】

文章目录 1. 背景2. 下载3. 安装4. 检查5. 测试5.1 创建项目5.2 创建应用5.3 删除集群5.4 注册集群 1. 背景 rancher v2.8.2 升级 v2.9.1 2. 下载 下载charts helm repo add rancher-latest https://releases.rancher.com/server-charts/latest helm repo update helm fetc…

常见概念 -- 光回波损耗

什么是回波损耗 回波损耗&#xff0c;又称为反射损耗&#xff0c;当高速信号进入或退出光纤的某个部分&#xff08;例如光纤连接器&#xff09;&#xff0c;不连续和阻抗不匹配会引起反射&#xff0c;这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…

C++ | Leetcode C++题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestSubstring(string s, int k) {int ret 0;int n s.length();for (int t 1; t < 26; t) {int l 0, r 0;vector<int> cnt(26, 0);int tot 0;int less 0;while (r < n) {cnt[s[r] - a];…

西门子PLC与HMI之间的时间同步工控小周

HMI 时间同步功能工控人加入PLC工业自动化精英社群 HMI 设备具有时间同步功能&#xff0c;利用 HMI 设备的该功能&#xff0c;可实现 PLC 和 HMI 之间的时间同步&#xff0c;进而实现多个 PLC 之间的时间同步。 HMI 设备时间同步的属性&#xff1a; 1.HMI 设备既可作为主站对…

Reflection 70B——HyperWrite推出的大型语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

通信工程学习:什么是ASK振幅键控、FSK频移键控、PSK相移键控

ASK振幅键控、FSK频移键控、PSK相移键控 ASK&#xff08;振幅键控&#xff09;、FSK&#xff08;频移键控&#xff09;和PSK&#xff08;相移键控&#xff09;是三种常见的数字调制技术&#xff0c;它们各自通过不同的方式改变载波的某个参数来传输数字信息。以下是对这三种调制…

使用 C# WinForm 制作简单的串口调试助手

使用 C# WinForm 制作简单的串口调试助手 很久之前就已经发现了C# WinForm开源的控件界面库Sunny.UI&#xff0c;于是想着做一个Demo来用上Sunny.UI界面库。于是就想着做一个串口调试助手的Demo。 下面我就创建一个工程,并且加载Sunny.UI控件库&#xff0c;我这个项目还加载了…

使用stripe进行在线支付、退款、订阅、取消订阅功能(uniapp+h5)

stripe官网:Stripe 登录 | 登录 Stripe 管理平台 然后在首页当中打开测试模式,使用测试的公钥跟私钥进行开发 测试卡号 4242 4242 4242 4242 1234 567 在线支付 stripe的在线支付有两种,第一种就是无代码,第二中就是使用api进行自定义,一般来说推荐第二种进行开发 无…

哈希表 和 算法

1.哈希表的作用&#xff1a;将我们要存储的数据&#xff0c;通过关键字与位置的关系函数&#xff0c;来确定具体的位置。 2.写哈希表时常出现的问题&#xff1a;哈希冲突/矛盾&#xff1a;当多个数据满足哈希函数的映射时出现 解决的方法为&#xff1a; 1&#xff09;开放地址…

[C#学习笔记]LINQ

视频地址&#xff1a;LINQ入门示例及新手常犯的错误_哔哩哔哩_bilibili 强烈推荐学习C#和WPF的朋友关注此UP&#xff0c;知识点巨多&#xff0c;讲解透彻&#xff01; 一、基本概念 语言集成查询(Language-Intergrated Query) 常见用途 .Net原生集合(List&#xff0c;Arra…

SEO 分类策略权威指南

如果你在 SEO 领域工作了一段时间&#xff0c;你可能熟悉网站分类法的概念。这是指网站内容的组织方式以及用户找到他们正在寻找的内容的难易程度。 例如&#xff0c;考虑一个专门从事服装的电子商务网站。结构良好的分类可能包括主要类别&#xff0c;例如男装、女装和配饰&am…

【深度学习讲解笔记】第1章-机器学习基础(2)

模型与函数构造 之前讲到&#xff0c;模型是由机器学习决定参数值的函数&#xff0c;通过训练&#xff0c;机器可以找出最好的一组参数使得函数的输出最优。常见的模型有线性模型&#xff0c;指数模型&#xff0c;对数模型等。在线性模型中&#xff0c;w和b是可学习的参数&…

基于SpringBoot的智能制造云平台系统的设计与实现计算机毕设

一、选题背景与意义&#xff08;300字左右&#xff09; 根据工业4.0智能制造生态链中云工厂在实际生产当中的工作流程进行充分调研和整理出来的&#xff0c;描述最终用户在本系统中对于生产订单的处理、排产、以及生产的完整在线处理流程和业务需求的文档。 针对制造业而言&a…

TikTok直播为什么要用独立IP

TikTok直播作为一种受欢迎的社交媒体形式&#xff0c;吸引了越来越多的用户和内容创作者。在进行TikTok直播时&#xff0c;选择使用独立IP地址是一种被广泛推荐的做法。本文将探讨为什么在TikTok直播中更推荐使用独立IP&#xff0c;并解释其优势和应用。 独立IP是指一个唯一的互…