账本状态-解决win 10安装oracle 11g 不兼容、不满足最低环境要求的问题

时间:2024-07-20 13:01:03
【文件属性】:

文件名称:账本状态-解决win 10安装oracle 11g 不兼容、不满足最低环境要求的问题

文件大小:997KB

文件格式:PDF

更新时间:2024-07-20 13:01:03

libra

二、逻辑数据模型 Libra区块链中的所有数据都存储在单一版本的数据库当中[14, 15]。版本号是与系统已执行的事务数相对应的无符号 64位整数。在每个版本i中,数据库都包含一个元组 (Ti, Oi, Si) ,它们分别表示事务 (Ti),事务输出(Oi)以及账本状 态 (Si)。给定一个确定性执行函数Apply,这个元组的含义是:对账本状态Si−1执行事务Ti会产生输出Oi以及新账本状 态Si,即Apply(Si−1, Ti) → ⟨Oi, Si⟩。 Libra协议使用Move语言来实现确定性执行函数(请参见第3节内容)。在本节内容中,我们将重点介绍版本化数据 库,它允许验证者: 1. 根据 新版本的账本状态执行事务; 2. 响应客户端有关当前和以前版本的账本历史记录的查询; 我们首先解释存储在单个版本中的账本状态的结构,然后讨论版本化账本历史视图(History view)的目的。 2.1 账本状态 账本状态代表了有关Libra生态系统的基本事实,包括每个用户在给定版本中持有的Libra币的数量。每个验证者必须 知道 新版本的账本状态,以便执行新的事务。 Libra协议使用基于帐户的数据模型[16]对账本状态进行编码。状态被构造为一个键值存储,它将帐户地址键映射到帐 户值。账本状态下的账户值是已发布Move资源和模块的集合。这个 Move资源存储数据值,而模块则存储代码。初 始帐户集及其状态在创始账本状态中指定(见第3.1节)。 帐户地址:帐户地址是一个256位的值。要创建新帐户,用户首先为签名方案生成一个新的验证/签名密钥对 (vk, sk),并使用公共验证密钥vk的加密哈希作为帐户地址a = H(vk)。当从现有账户发送的事务调用这个 create_account(a) Move指令时,则这个新账户就会在账本状态中创建。这通常发生在一笔事务尝试将Libra发送到 尚未创建的地址a的帐户时。 在地址a中创建新帐户后,用户可使用私人签名密钥sk,签署要从该帐户发送的事务。该用户还可以在不更改其地址 的情况下,更改用于签署交易的密钥(例如,主动更改密钥或响应密钥可能被盗的情况)。 Libra协议不会将帐户链接到用户的真实身份(即没有KYC)。用户可通过生成多个密钥对来*创建多个帐户。由同 一用户控制的帐户没有固有的相互联系。该方案参照了比特币和以太坊,为用户提供了假名性 (又称半匿名)[19]。


网友评论