跳到主要内容
知识地图Solana 账户:谁能修改数据?外部项目

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← 区块链与共享状态

一个问题

Solana 账户:谁能修改数据?

区分 owner program 与持有密钥的人。

  1. 签名者授权请求
  2. 程序验证并修改
  3. 数据账户
关系示意 · 箭头说明职责与连接,不代表完整协议时序。

Solana 的账户在一个地址下保存状态。账户的 owner 字段指向负责它的程序。这是运行时的权限概念,不能直接理解成日常语言中“某个人拥有这项资产”。

沿着一次资料修改看权限

在一个示意性的资料应用里,数据账户保存资料,程序负责验证修改。程序需要检查要求的签名者或其他授权条件,然后才能改写数据。知道账户地址,不等于获得了编辑权限。

可执行的程序代码与可变的应用数据位于不同账户,一个程序可以处理多个数据账户。比较 Solana 与 EVM 合约存储时,这种分工比只看“都支持合约”更有帮助。

它也能避免身份概念混淆:账户地址、owner program 和一个人的 DID承担不同角色。应用如果要把它们关联起来,需要定义并验证这种关系。

来源与延伸阅读