Web3.0技术栈简介

 

Web3.0技术栈简介_第1张图片

L4:技术栈顶层,参与者主要是普通用户(如同今天普通用户在浏览器前端和网页互动一样)用户们在这一层可以和单个或多个区块链(应用等)互动例如状态、元掩码、MyCrypto、奇偶校验
协议可扩展的用户界面("像浏览器一样"),用户用来直接与区块链互动的程序,而不需要知道如何让编程和实现细节:案例有Status、MetaMask、Parity、EtherWallet或MyCrypto。


L3:人类可读语言和库的层,在这一层,开发人员和程序员们可以适当抽象,并进行程序开发。这一层包括可扩展协议的API和语言 -:有各种语言可以用来开发应用程序,如Solidity和Vyper(Ethereum),Plutus(Cardano),和Rust(Substrate)。此外,还有各种框架,使编程与区块链互动的应用更加容易,如ethers.js、web3.js和oo7.js。


L2:这一层增强了L1层能力:进行提升扩展性、加密消息传递、分布式计算等功能。


状态通道(State channels):区块链通过让节点在链外相互通信,通过在主链上 "打开 "和 "关闭 "通道,只写初始和最终结果,而不是在链上记录每个状态转换,从而提高可扩展性的一种方式。例子包括比特币的Lightning Network 和以太坊的Raiden Network。

Plasma协议:Plasma是通过创建区块链的 "树 "来提高可扩展性的另一种方式,主链是树的根,而 "子 "区块链尽可能少地与更高级别的链互动。例子包括Loom的PlasmaChain和OmigeGO Plasma。

Encrypted storage,就是加密存储 。使用密码学对数据进行数学加密和解密,包括静态(即存储在特定的计算机上)和动态(即从一台计算机传输到另一台)。例如:静态指的是存储加密,动态指得是传输加密(HTTPS就是一种传输加密)


Heavy computation,就是重型计算 :可以理解为如果需要进行大量的计算,例如在数组中推送大量的对象 提供一种方法,允许计算分散在许多计算机中,并证明计算是正确进行的。这方面的例子包括以太坊的Golem和TrueBit。


Distributed secret management 分布式秘密管理 : 允许信息只被授权方访问,包括复杂的场景,如 "解密此信息需要所有六个签名者使用他们的密钥 "或 "7个签名者中的任何5个必须同意"等等。


Oracles: 将链外数据(如天气结果或股票价格)注入区块链的一种方式,一般供智能合约使用。


L1:该层提供了分发和互动数据的能力

零/低信任度互动协议:描述不同节点如何相互作用并信任来自每个节点的计算和信息的协议。大多数加密货币,如比特币和ZCash,符合零/低信任交互协议的定义-,它们描述了节点参与协议所需遵循的规则。


数据分配协议:描述数据如何在去中心化系统的各个节点之间分配和交流的协议。例子包括IPFS、Swarm和BigchainDB。(这块有机会会展开解释)

瞬时数据公共/子信息传递:描述不打算永久存储的数据(如状态更新)如何被传达以及如何让节点意识到其存在的协议。例子包括Whisper和Matrix。


L0:该层提供了数据分发和互动能力

零/低信任度互动协议:描述不同节点如何相互作用并信任来自每个节点的计算和信息的协议。大多数加密货币,如比特币和ZCash,符合零/低信任互动协议的定义,描述了节点参与协议所需遵循的规则。


点对点(p2p)互联网覆盖协议 (Peer-to-peer (p2p) ):一个允许节点以分散的方式进行通信的网络套件。


平台中立的计算描述语言(Platform-neutral computation description language) :一种在不同物理平台(架构、操作系统等)上执行相同程序的方式。例子包括EVM(以太坊)、UTXOs(比特币)和Wasm。

参考资料

Web3 Technology Stack

你可能感兴趣的:(web,rust,区块链,开发语言)