以下术语在Solana文档和开发生态系统中使用。
区块术语 | 解释 |
---|---|
block / 区块 | 账本中由投票覆盖的一组连续条目。每个时隙最多由一个领导者生成一个区块。 |
blockhash / 区块哈希 | 唯一值(哈希),标识一个记录(区块)。Solana从区块的最后条目ID计算区块哈希。 |
block height / 区块高度 | 当前区块下方的区块数量。创世区块后的第一个区块高度为1。 |
confirmed block / 确认区块 | 已获得大多数账本投票的区块。 |
交易术语 | 解释 |
---|---|
transaction / 交易 | 由客户端使用一个或多个密钥对签名的一个或多个指令,并以原子方式执行,只有两种可能的结果:成功或失败。 |
transaction id / 交易ID | 交易中的第一个签名,可用于在完整账本中唯一标识该交易。 |
transaction confirmations / 交易确认 | 自交易被接受到账本中以来,确认的区块数量。交易在其区块成为根时完成。 |
transactions entry / 交易条目 | 可以并行执行的一组交易。 |
message / 消息 | 交易的结构化内容。通常包含一个头部、账户地址数组、最近的区块哈希和一组指令。 |
账本相关术语 | 解释 |
---|---|
ledger / 账本 | 包含由客户端签名的交易条目的列表。从概念上讲,它可以追溯到创世区块,但实际的验证者账本可能仅包含更新的区块,以减少存储,因为根据设计,旧的区块不再需要验证未来的区块。 |
bank state / 银行状态 | 在给定的tick高度上,解读账本中所有程序的结果。至少包括所有持有非零本地代币的账户集合。 |
ledger vote / 账本投票 | 给定tick高度下验证者状态的哈希。它包括验证者对已接收的区块的确认,以及承诺在特定时间内不投票给冲突区块(即分叉),即锁定期。 |
tick / tick | 估算墙时钟持续时间的账本条目。 |
tick height / tick高度 | 账本中的第N个tick。 |
vote / 投票 | 参见账本投票。 |
vote credit / 投票信用 | 验证者的奖励积分。当验证者到达一个根时,它会在投票账户中获得投票信用。 |
credit / 信用 | 参见投票信用。 |
网络术语 | 解释 |
---|---|
app / 应用程序 | 与Solana集群交互的前端应用程序。 |
TPS | 每秒交易量。 |
TPU | 交易处理单元。 |
TVU | 交易验证单元。 |
client / 客户端 | 访问Solana服务器网络集群的计算机程序。 |
commitment / 承诺 | 衡量网络对区块的确认程度。 |
control plane / 控制平面 | 连接集群所有节点的消息网络。 |
BPF loader / BPF加载程序 | Solana程序,用于拥有和加载BPF链上程序,允许程序与运行时接口。 |
cluster / 集群 | 由多个验证者组成的,维护单一账本的集合。 |
compute budget / 计算预算 | 每个交易最多消耗的计算单元数。 |
compute units / 计算单元 | 区块链计算资源消耗的最小度量单位。 |
leader schedule / 领导者调度 | 一个将验证者公钥映射到时隙的序列。集群使用领导者调度来确定任何时刻哪个验证者是领导者。 |
node / 节点 | 参与集群的计算机。 |
node count / 节点数量 | 参与集群的验证者数量。 |
PoH / PoH | 参见历史证明(Proof of History)。 |
fork / 分叉 | 从共同条目派生的账本,但随后发生分歧。 |
hash / 哈希 | 字节序列的数字指纹。 |
light client / 轻客户端 | 一种能够验证其指向有效集群的客户端。它比薄客户端验证更多的账本,但比验证者少。 |
finality / 终结性 | 当代表2/3质押的节点具有共同的根时。 |
地址术语 | 解释 |
---|---|
account/ 账户 | 类似于传统银行的账户,Solana账户可以持有名为lamports的资金。像Linux中的文件一样,它通过密钥进行寻址,通常称为公钥或pubkey。 |
account owner / 账户所有者 | 拥有账户的程序的地址。只有拥有程序才能修改该账户。另见authority。 |
validator / 验证者 | 参与Solana网络集群并生成新区块的完整参与者。验证者验证添加到账本的交易。 |
wallet / 钱包 | 一组密钥对,允许用户管理其资金。 |
authority / 权限 | 具有某种权限的账户的用户地址。例如新代币的铸造权限赋予该账户作为代币铸币的“铸币权限”。升级程序的权限赋予该账户作为程序的“升级权限”。 |
fee account / 手续费账户 | 交易中的手续费账户,用于支付将交易包含在账本中的费用。它是交易中的第一个账户。该账户必须在交易中声明为可读写(writable),因为支付交易费用会减少账户余额。 |
keypair / 密钥对 | 用于访问账户的公钥和相应的私钥。 |
leader / 领导者 | 验证者在将条目附加到账本时的角色。 |
private key / 私钥 | 密钥对中的私钥。 |
program derived account (PDA) / 程序派生账户 | 签名权限由程序控制的账户,因此不像其他账户由私钥控制。 |
public key (pubkey) / 公钥(pubkey) | 密钥对中的公钥。 |
创世术语 | 解释 |
---|---|
bootstrap validator / 引导验证者 | 生成区块链创世(第一个)区块的验证者。 |
genesis config / 创世配置 | 为创世区块准备账本的配置文件。 |
时间术语 | 解释 |
---|---|
confirmation time / 确认时间 | 领导者创建tick条目到创建确认区块之间的墙时钟时长。 |
cooldown period / 冷却期 | 在质押被停用后,经过一定数量的纪元,质押逐步变得可以提取。在此期间,质押被视为“停用”。更多信息请见:warmup和cooldown。 |
epoch / 纪元 | 一个领导者调度有效的时间段,即时隙数量。 |
lockout / 锁定期 | 验证者无法对另一个分叉进行投票的时间段。 |
slot/时隙 | 每个领导者消化交易并生成区块的时间段。 |
时隙共同创建一个逻辑时钟。时隙按顺序排列且不重叠,按历史证明(PoH)大致等于实际时间。 | |
skipped slot/ 跳过时隙 | 未生成区块的过往时隙,因为领导者离线或集群共识放弃了包含该时隙的分叉,选择更好的替代分叉。跳过的时隙不会作为后续时隙的祖先,也不会增加区块高度,或过期最近的区块哈希。 |
只有当时隙变得比最新的根时隙更老时,才能确定时隙是否已跳过。 | |
skip rate/ 跳过率 | 在当前纪元中跳过的时隙的百分比。该度量可能具有较高的方差,特别是在纪元边界之后(样本量较小时)以及对于拥有较少领导时隙的验证者,但也有助于识别节点配置错误。 |
warmup period / 热身期 | 质押被委托后,经过一定数量的纪元逐步生效的时间段。在此期间,质押被视为“激活”。更多信息请见:热身和冷却期。 |
资金术语 | 解释 |
---|---|
rent / 租金 | 账户和程序支付的费用,用于在区块链上存储数据。当账户余额不足以支付租金时,它们可能会被垃圾回收。 另见租金豁免。 |
rent exempt / 租金豁免 | 保持最低Lamport余额的账户,余额与存储在账户上的数据量成比例。所有新创建的账户都会永久存储在链上,直到账户关闭。无法创建低于租金豁免阈值的账户。 |
Token Extensions Program/ 代币扩展程序 | 代币扩展程序具有程序ID TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,包含与代币程序相同的功能,但还附带扩展功能,如机密转账、自定义转账逻辑、扩展元数据等。 |
token mint / 代币铸币 | 可以生成(或“铸造”)代币的账户。不同的代币通过其唯一的代币铸币地址进行区分。 |
Token Program / 代币程序 | 代币程序具有程序ID TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA,提供基本的代币转账、冻结和铸造功能。 |
token / 代币 | 可数字转移的资产。 |
stake/质押 | 如果能够证明验证者行为恶意,质押的代币将被没收。 |
SOL / SOL | Solana集群的本地代币。 |
native token / 本地代币 | 用于跟踪集群中节点工作量的代币。 |
point / 积分 | 奖励机制中的加权积分。在验证者奖励机制中,赎回时应付给质押的积分数量是投票积分与质押Lamport数量的乘积。 |
stake-weighted quality of service (SWQoS) /质押加权服务质量 | SWQoS允许为来自质押验证者的交易提供优先处理。 |
inflation / 通货膨胀 | 随着时间推移,代币供应的增加,用于资助验证奖励以及Solana的持续开发。 |
Lamport | 一个本地代币的分数,值为0.000000001 Sol。 |
信息:在计算预算内,优先费用的计算会使用微Lamport。 |
程序 | 解释 |
---|---|
cross-program invocation (CPI)/跨程序调用 | 从一个链上程序到另一个链上程序的调用。更多信息请见:程序间调用。 |
onchain program / 链上程序 | 在Solana区块链上解释每个交易中发送的指令以读取和修改它控制的账户的可执行代码。这些程序通常在其他区块链上被称为“智能合约”。 |
program / 程序 | 参见链上程序。 |
程序ID / program id | 包含程序的账户的公钥。 |
Solana Program Library (SPL) /Solana程序库 | Solana上的程序库,例如spl-token,提供创建和使用代币等任务。 |
inner instruction / 内部指令 | 参见跨程序调用。 |
instruction / 指令 | 调用程序中指定指令处理程序的命令。指令还指定其希望读取或修改的账户以及作为辅助输入的数据。客户端必须在交易中包含至少一个指令,并且所有指令必须完成才能认为交易成功。 |
instruction handler / 指令处理程序 | 指令处理程序是处理交易中的指令的程序函数。一个指令处理程序可能包含一个或多个跨程序调用。 |
loader / 加载程序 | 一种能够解释其他链上程序的二进制编码的程序。 |
runtime / 运行时 | 负责程序执行的验证者组件。 |
Sealevel / Sealevel | Solana为链上程序提供的并行运行时。 |
smart contract/智能合约 | 参见链上程序。 |
XXXXX
术语 | 解释 |
---|---|
data plane / 数据平面 | 用于有效验证条目并达成共识的多播网络。 |
drone / 无人机 | 一种链外服务,作为用户私钥的托管人,通常用于验证和签名交易。 |
entry / 条目 | 账本中的一条记录,可能是tick或交易条目。 |
entry id / 条目ID | 一个预图抗性哈希,覆盖条目的最终内容,作为条目的全局唯一标识符。该哈希证明了: |
- 条目是在一段时间后生成的 | |
- 指定的交易是包括在条目中的 | |
- 条目相对于账本中其他条目的位置 | |
参见历史证明(Proof of History)。 | |
Nakamoto coefficient / 中本聪系数 | 去中心化的度量,中本聪系数是最少的独立实体数量,这些实体可以集体关闭区块链。这个术语由Balaji |
proof of history (PoH)/ 历史证明 | 一组证明,每个证明都证明某些数据在证明创建之前就存在,并且在前一个证明之前经过了精确的时间段。像VDF一样,历史证明可以在比其生成时间更短的时间内验证。 |
prioritization fee/ 优先费用 | 用户可以在计算预算指令中指定的附加费用,用于优先处理他们的交易。 |
优先费用通过将请求的最大计算单元数乘以计算单元价格(以0.000001 lamports为单位增加)计算,并四舍五入到最接近的Lamport。 | |
交易应请求执行所需的最小计算单元以最小化费用。 | |
root / 根 | 验证者上最大锁定期的区块或时隙。根 |
shred / 切片 | 一个区块的部分;在验证者之间传递的最小单元。 |
signature / 签名 | 一个64字节的ed25519签名,包括R(32字节)和S(32字节)。要求R是一个非小阶的Edwards点,S是范围为0到L之间的标量。这个要求确保签名不可篡改。每个交易必须至少有一个手续费账户的签名。因此,交易中的第一个签名可以被视为交易ID。 |
supermajority / 超大多数 | 集群的2/3。 |
sysvar / 系统变量 | 系统账户。系统变量提供集群状态信息,如当前tick高度、奖励积分值等。程序可以通过系统变量账户(pubkey)访问或通过系统调用查询。 |
thin client / 薄客户端 | 一种信任自己正在与有效集群通信的客户端。 |
VDF | 参见可验证延迟函数。 |
verifiable delay function (VDF)/可验证延迟函数 | 执行需要固定时间的函数,并生成一个证明,证明它已经执行,并且该证明可以在比生成它的时间更短的时间内验证。 |