2

轻客户端,助力实现链上信息「云验证」

 1 year ago
source link: https://www.ccvalue.cn/article/1410465.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

轻客户端,助力实现链上信息「云验证」

 •  1 天前
事实上,诸如优化轻客户端运作环境、革新轻客户端使用功能的技术方案或许还有很多。未来还需各位开发者不断开拓创新,打造面向 Web3 的卓越轻客户端。
bf1331bf116e8e0e8adc06fb6444e971.png

众所周知,以太坊的发展面临着新困境。以太坊每天支持大量的经济活动、结算数十亿美元的交易,在蓬勃发展的 DeFi 和 NFT 领域中运行成千上万的 DApp。但是,以太坊有限的空间资源已然无法承受过多的应用,也无法接受大体量用户的蜂拥而至。当网络拥塞时,交易变得更加昂贵且延迟更多,给用户带来更大的经济负担。

eb57fd9a09dd2a05f94bd4845f6410a1.png

鉴于此,相关团队为了解决以太坊扩容难题,提出了诸多技术解决方案,其中包括分片(Sharding)。分片为网络划分多个轨道,以水平扩展的方式并行处理交易,在多个服务器之间分布计算和存储容量,从而使总体吞吐量更高。分片主打的“并非每个人都必须运行每个碎片”的技术理念,成为轻客户端诞生的关键。

轻客户端在以太坊分片中扮演重要角色,使验证者能够快速验证和同步不同的分片,成功化解了不少 DApp 运行过程中出现的阻滞难题。同样面临高速发展带来扩容有限、用户载量大等困境的波卡、NEO 等公链,也纷纷开启了轻客户端的实践,为更好地布局应用生态版图提供更为畅达自如的环境。

Marty McFly 曾言:“未来,轻客户端会遍布各地。”这种轻量化、用户友好的应用程序目前已有诸多成功范例涌现。那么究竟什么是轻客户端?相较传统的应用端口有何技术上的优化与精进?面向未来,轻客户端的大规模铺开又需要克服怎样的挑战?本篇文章将聚焦上述问题,带你洞悉轻客户端的发展与未来。

什么是轻客户端?

轻松验证,快速响应

在我们了解轻客户端之前,首先需要从客户端的概念开始说起。计算机科学中的客户端是连接到服务器的硬件或软件的一部分,如 Internet 浏览器是一个连接到网站以请求其内容的客户端。在区块链世界中,客户端是以点对点的方式连接到其他客户端的软件,所有客户端相互通信且形成了一个网络,每个客户端都是一个节点。

以以太坊为例,过去只有一种类型的节点(又称:全节点)负责验证和转播网络上的交易和区块。囿于互联网和区块链的运行特点,每个全节点需要下载并验证每个区块,对于每一笔交易也需要经过全流程的核验和把关。那么随着用户体量增大、服务型应用增多,这种全节点把控会带来上文提及的费用高昂、查验缓慢等难题,阻碍了以太坊的长远发展。

在此情景之下,轻客户端的理念逐渐兴起。轻客户端是区块链生态系统中的关键要素,帮助用户以安全和去中心化的方式访问区块链并与之交互,而无需读写区块链上的大量信息。轻客户端被允许以最小信任的方式与全节点实现交互,可以在事先不知情的情况下证明信息的真实性。轻客户端的基本功能是:每当有区块出现在网络便进行下载,向客户端发送特定状态的默克尔证明(Merkle proofs)请求。其使用分布式哈希表来追踪前缀节点,而不是使用本地存储,以一种“云存储、云验证”的方式直接获取用户个体的信息验证材料,促使交易、娱乐等各项活动更快开展。

整体而言,轻客户端解决了可用性和采用技术时的主要障碍。作为 Web3 基础设施组件,轻客户端允许以比运行完整节点更少的资源方式与区块链进行交互,并且可嵌入桌面、Web 和移动应用程序。最重要的是,它们保持不信任,直接从对等节点同步区块头。轻客户端通过向单个全节点发出请求、同步区块链的区块头来验证全节点提供的特定响应来工作,真正做到了“最多跑一次”。

8588c7e23ce5d45dc3b006ee7d0d3810.png

NEO

NEO 技术社区生态中,有一个可实现与 NEO 区块链交互的轻客户端名为 Neo-Swift,主要用 Swift-4 语言编写运作。Neo-Swift 项目的创建主要基于以下几个原因:1、开发者想要开发分布式 iOS 应用,覆盖范围广;2、建立开发者友好社区的重要方法就是创建便于非区块链开发者使用的 SDK;3、不少开发者喜欢 Swift 且移动设备的开发与部署日益重要。据悉,Neo-Swift 能够高效验证用户在链上的交易历史和账户状态,并为应用交互提供模拟动态框架,为 NEO 生态技术社区的升级锻造提供了全新思路。

c81806f60a19316f491db72ca0f8649c.png

Substrate Connect

Substrate Connect 是基于浏览器的 Substrate 链上轻客户端,已成为 Substrate 技术堆栈的最新成员。这个备受期待的基础设施组件为开发人员和最终用户提供了一种更为简单、快速的应用方式,以完全去中心化、无需信任的方式连接到 Substrate 链,赋予更多 DApp 服务以及 DApp 开发人员以良好的应用体验感。Substrate Connect 是一个 Javascript 库,它提供了一个功能齐全且附带扩展途经的轻客户端,取代了通过 RPC 节点连接到 Substrate 链的传统流程,DApp 开发人员不再需要经历运行本地完整节点的繁琐步骤,直接可以在他们的 DApp 中轻松访问轻客户端集成。

38afb034ae7a8b4eb2ba97eb8a697edd.png

事实上,诸如优化轻客户端运作环境、革新轻客户端使用功能的技术方案或许还有很多。未来还需各位开发者不断开拓创新,打造面向 Web3 的卓越轻客户端。

参考文献:

什么是轻客户端?以及为什么你需要了解它

引介 | 以太坊区块链的轻客户端入门

NEXT 社区小课堂 | 第二十六课:如何创建 NEO 轻客户端

引介 | Fluffy 客户端:以太坊的极轻客户端


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK