区块链101:Solana程序

本文介绍了Solana区块链的账户模型,该模型将可执行代码(Programs)与程序状态(Accounts)分离,从而实现一定程度的并行化处理。讨论了账户的结构,包括Lamports、Data、Owner和Executable等字段,还介绍了Program Derived Addresses (PDAs) 的概念及其在Solana中实现哈希表类似结构的方式。

这是关于区块链的系列文章的一部分。如果你是第一次看到这篇文章,我强烈建议从本系列文章的开头开始阅读。

上一篇文章中,我们开始涉足 Solana 领域,探讨了该区块链如何将加粗时间加粗的概念融入其中,从而提供了一种简单而智能的方式来为交易添加时间戳。

但这并不是 Solana 为本系列文章带来的唯一创新概念。

你看,当我们研究 加粗智能合约加粗 时,我们花了很多精力来解释 以太坊虚拟机 (EVM) 的工作原理 —— 一组定义完善的规则,允许我们编写程序。

然而,并非所有区块链都遵守这些规则,有些区块链已经尝试了其他方法,以寻找更方便 —— 且有望更好 —— 的方式来实现可编程性。

Solana 恰好是其中一个区块链。今天,我们将看看他们的解决方案!

账户模型

不过,在我们深入研究任何可编程性之前,我们需要了解更多关于这个区块链的知识。

特别是,我们关心如何处理加粗账户加粗。与任何 EVM 区块链一样,Solana 也会将与单个加粗地址加粗关联的所有数据放入一个账户中。

然而,这里有一个关键的区别:虽然 EVM 区块链将加粗代码加粗加粗状态加粗 捆绑在智能合约账户中,但 Solana 有意将加粗可执行代码加粗加粗程序状态加粗 分离。第一部分存储在 加粗程序加粗 中,而第二部分则位于 加粗账户加粗 中。

显而易见的问题是 为什么要这样做?这样做有什么好处?

这可能并不明显,但答案很简单:它允许一定程度的加粗并行化加粗

为了解释我的意思,让我们快速看一个例子。

假设你有两个事务存在于同一个程序上。但是事务 1 仅触及位于帐户 1 中的状态,而事务 2 仅影响位于帐户 2 中的状态。因此,由于它们是完全独立的,Solana 可以同时——并行地运行上述事务!

EVM 架构不允许开箱即用,因为智能合约及其状态是加粗紧密耦合在一起的加粗,并且很难确定两个事务在一般设置中是否完全独立。

我们稍后会介绍程序 —— 但首先,让我们放大 Solana 中 加粗账户加粗 的概念。

账户结构

Solana 中的每个 加粗实体加粗 都是一个账户,这应该不会让我们感到惊讶 —— 毕竟,EVM 系统也发生了同样的事情(使用 EOA 和合约账户)。

就其结构而言,它们是非常简单的:我们需要表示它们的只是一些键/值对(同样,没有什么新的),它们是:

  • Lamports:账户的余额。一个 SOL 等同于 1.000.000.000 lamports,这是 SOL(Solana 的原生代币)的最小部分。
  • Data:存储在帐户中的所有内容,作为一个字节数组。我们将在稍后看到这里面有什么。
  • Owner:拥有该账户的地址。每个帐户都有一个所有者 —— 而且可能不是你想象的那样!
  • Executable:此帐户是否可执行。是的,这将决定这是否是一个程序。

到目前为止,一切都很好!我们已经经历了一些战斗,所以关于这些想法应该没有什么神秘之处 —— 事实上,它们对你们来说根本不应该感到陌生。

如果是的话,去读读之前的文章!

说真的,去读它们

好的,假设我们想开始使用 Solana,所以我们需要我们自己的帐户!

当然,我们需要一个 加粗密钥对加粗(又名私钥和公钥)才能签署交易,当然还有与所述密钥对关联的 加粗地址加粗

Solana 使用 ed25519 曲线,这是相当标准的。

我想你可能会期望一个帐户的 加粗所有者加粗 是控制它的公共地址,对吧?至少这是我的直觉。想象一下,当我得知 我错了 时的惊讶。

你说什么?

是的!Solana 中的所有 加粗钱包账户加粗 都归所谓的 加粗系统程序加粗 所有。

这个系统程序是 唯一可以创建账户的程序,它还包含执行用户签名交易的逻辑。

它还做 其他几件事

我知道。说你不 加粗拥有加粗 你的钱包有点奇怪。事实是,这只是作为交易处理的单一入口点,但实际上,所有交易都必须 加粗签名加粗 —— 没有所述签名交易,系统程序无法更改任何状态。所以你 确实拥有 你的帐户,但通过你的 私钥

酷!我们现在有了一个钱包。那么程序呢?

程序

进入有趣的部分!

加粗程序加粗 是 Solana 版本的智能合约。正如你对所有序言的期望一样,这些只是 executable 字段设置为 true 的...

剩余50%的内容订阅专栏后可查看

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Frank Mangone
Frank Mangone
Software developer based in Uruguay. Math and Cryptography enthusiast.