【翻译】以太坊:一款安全的、去中心化的、概括性的交易账本(三)

3.规则 我使用一系列排印学上的规则做正式的标记,这些标记对于当前的工作具有特殊性: 高级结构的两个设定,即“顶层”和state价值用明显的小写的希腊字母代表。他们分成那些用σ表示(或者...

3.规则

我使用一系列排印学上的规则做正式的标记,这些标记对于当前的工作具有特殊性:

高级结构的两个设定,即“顶层”和state价值用明显的小写的希腊字母代表。他们分成那些用σ表示(或者是变量)的世界-state和用μ表示的机器-state

用大写的希腊字母来表示函数运算在高级结构的价值上,例如γ,是以太坊state转换函数。

对于大多数函数来说,大写字母比如C一般用来作为总成本函数。这些可能用来重点表示特殊变量,例如CSSTORE,是SSTORE运作的成本函数。特殊和例外的被定义函数,我可能设计成打字机的字样,例如Keccak-256哈希函数(在和SHA-3的竞争中胜出)被写成KEC(总体上指的是普通的Keccak)。同理,KEC512指的是Keccak512哈希函数。

数组会用大写字母来表示,例如T用来表示以太坊的交易。因此这一标志应该被用来表示个体的组成,例如Tn,用来表示现时的交易。下划线的形式被用来表示它的类型;例如大写的下划线指的是由下划线组成的数组。

标量和固定长度的字节序列(或者同义阵列)用正常小写字母表示,例如n用来在文档中表示交易nonce。那些有特殊专门性含义的可能是希腊字母,例如δ表示堆栈中需要给定操作的项目数量。

任意长度的序列通常被表示成为显著的小写字母,比如O被用来表示字节-序列,由给定的作为信息请求的输出数据给出。对于特别重要的价值,可能会采用明显的大写字母。

自始至终,我们认为标量都是正整数,并且从属于集合P。所有字节序列的集合是B,正式的定义在附录B当中。如果这种序列集合被限制在特殊长度,那么就被下划线,所以32个字符长度的字节序列集合就被命名为B32,所有小于2256正整数的集合被命名为P256。这个将在4.4节正式介绍。

方括号被用来作为个体组成或者序列顺序的指数和编号,例如μs[0]表示机器堆栈的首条。对于顺序来说,椭圆用来特指被计划的安排,包括每个界限范围内的元素,例如μm[0..31]表示及其存储的最开始的32个条目。

至于全球state,σ,这个会计序列本身是一个数组,方括号用来表示个体账户查询。

在考虑已经存在的价值的变量时,我采用的规则是,在给定的范围内进行定义,如果我们假设未经修正的‘投入’价值用占位符来表示,然后经过修正的和可利用的价值用来表示,然后中间价值可能用***&c来表示。在非常特殊的情况下,为了最大化可读性或者只要意思清楚就可,我可能使用alpha-数值标注来表示中间价值,特别是特定符号。

当我们考虑使用现有函数时,假设一个函数f,函数f*表示在序列之间类似于元素智能版本而不是搜索函数。正式的定义在4.4节当中。

自始至终我定义大量的有用的函数。更普遍的比如L,用来估计给定序列的最后一行:

5)L(x)x[x-1]

  • 发表于 2017-08-10 14:11
  • 阅读 ( 601 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
涂晶

75 篇文章

作家榜 »

  1. 社区运营-小以 562 文章
  2. 社区运营-小链 244 文章
  3. 于中阳Mercina-zy 79 文章
  4. 涂晶 75 文章
  5. 李晓琼 44 文章
  6. 兄弟连区块链培训 42 文章
  7. 吴寿鹤 36 文章
  8. John-smith 25 文章