******************************************************************************** 术语表 ******************************************************************************** .. glossary:: :sorted: .. _geth-letter: Đ Đ, `带短横的D `_ ,在老式英语、中世纪英语、冰岛语和法罗语中使用,被用作“Eth”的缩写,被使用在诸如:ĐEV 或者 Đapp(去中心化应用),Đ表示挪威语的“eth”。大写的eth(Đ)同时也是加密货币“狗狗币”(Dogecoin)的符号。 .. _dec-app: decentralized application (= dapp_) 一项去中信任化的服务,一个应用程序可以在没有中间人的情况下让最终用户和/或资源之间实现直接交互/协议/通信。请参考: :ref:`dapps` 。 DAO(decentralized autonomous organization)去中心自治组织 DAO是建立在区块链之上的合约(或一系列合约),旨在制定规则、强制执行或使组织工作自动化,包括治理、筹资、运营、支出和扩张。 identity(身份) 一组可加密验证的交互,具有由同一个人创建的属性。 digital identity(数字身份) 一组由相同公钥签署的可密码验证的交易集,定义了一个数字身份的行为。在很多现实世界的场景中,数字身份和现实世界的身份是一致的。确保除了暴力破解外没有有效的解决方案。 unique identity(唯一身份) 一组加密验证交互具有所有所有内容都是由同一个人所创建的属性,同时保证一个人不能创建多个唯一身份。 reputation(声誉) 身份具有的一种属性,这种属性决定了其它个体都相信它具有如下属性(1) 胜任一些特定的任务,(2) 特定的情况下值得信任,例如:即使会有短暂的收益也不会背叛他人。 escrow(委托契约) 如果互相不信任的双方想要参与贸易,他们都想通过一个双方都信任的第三方组织来发送资金,资金只有在第三方组织收到产品送达的证据后才会放款。这就减少了支付者资金的风险。这种方式和第三方机构被称为委托契约。 deposit(保证金) 数字财产被放置在涉及到另一方的合同中,如果某种特定的条件不满足那么财产会被没收,同时合同确保资金会被计入交易对方名下,或者被销毁(=烧掉=均等分配),或者捐赠给某些慈善基金。 web of trust(信任网结构) 如果A高度信任B,同时B高度信任C,那么A很大程度上可以信任C。这个复杂而强大的机制理论上可以确定特定个体在特定概念中的可靠性。 incentive compatibility(激励兼容性) 每一个人都“遵守规则”而不是通过尝试去欺骗,那么这个协议就是激励兼容的,至少除非有很多人同意在一起作弊(勾结)。 collusion(勾结) 在一项激励协议的方案中,一群参与者*一起玩*(阴谋)利用规则获取共同利益。 token system(令牌系统) 可以做交易的虚拟交换物,更通俗的说,令牌系统就是一个数据库,存储着地址到数额的映射,最主要的操作是转移N个令牌从A到B,条件为N为非负数,N不大于A账户中的余额,并且交易的授权文档是经过A进行签名数字的。另一方面“可发行”和“可消费”业务也需要存在,交易费用也可以被收取,与多方进行多次交易也是可能的。典型的系统包括现金、网络加密令牌、公司股份和数字礼品卡。 block(区块) 一个区块是包含零或多笔交易数据、前一个区块("父块")的哈希、还有一些其它可选数据的封包。集合中的所有区块(除了最初的“创世块”)都包涵它父块的哈希,我们称之为区块链,区块链包涵网络中所有的交易历史。需要注意的,一些基于区块链的加密货币使用”账本“来称呼”区块链“,这两个概念大致是一样的,尽管在使用术语“账本”的系统中,每个区块通常都包含每个账户当前状态的完整副本(例如:货币余额、部分履行的合同、注册信息),从而允许用户丢弃过时的历史数据。 .. _dapp: dapp Đapp代表"decentralized application"(去中心化应用程序),一些说法是Đapp表示Ethapp,因为 `uppercase eth letter Ð `_ 。 address(地址) 一个以太坊地址代表一个账户,也就是EOA,地址是控制账户的公钥的最后20字节,例如: ``cd2a3d9f938e13cd947ec05abc7fe734df8dd826`` 。这是一个十六进制格式,通常在地址的前缀中使用 ``0x`` 来指明。Web3.js和命令台功能允许地址使用或者不使用前缀,但是为了清晰我们鼓励使用前缀。由于每个字节可以使用两位十六进制的字符表示,加上前缀的两个字符,那么一个带前缀的地址就是包含42个字符的一个串。一些应用和APIs启用了带 `检查和的地址格式 `_ ,以太坊的Mist钱包在0.5.0版本中引入了这个特性。 .. _hexadecimal: hexadecimal(十六进制) 字节序列的通用表示格式,它的优势在于每一个字节可以用两个字符(字符包括 ``[0-9][a-f]`` )以紧凑的格式进行表示。 ether(以太币) 以太币是以太坊内部货币的名称,它被用来支付以太坊虚拟机的计算力。容易引起混淆的是,ether也是以太币系统的一个单位。 .. _EOA: EOA(外部账户) EOA是外部账户(Externally Owned Account)的缩写,一个账户由一个私钥控制,如果你拥有一个账户所对应的私钥,那么你就拥有通过账户发送以太币和消息的能力。合约账户也拥有一个地址,详细信息查看: :ref:`Accounts`。外部账户和合约账户在将来的宁静(Serenity)版本中可能会合并成一个单一账户。 .. _gas: gas(瓦斯) 瓦斯是以太坊虚拟机执行代码所消耗的“加密燃料”的名称,瓦斯被用来支付导致以太坊区块链状态改变的所有操作的费用。 .. _gas limit: gas limit(瓦斯上限) 瓦斯上限被用在`单独交易 `_ 和区块中。对于单独交易来说,瓦斯上限表示你愿意为合约执行指定的瓦斯最高消耗量,这个是为了保护系统,避免用户通过恶意或肮脏的合约过度消耗系统资源。对于区块来说,瓦斯上限表示允许块内所有交易累积所允许消耗掉的瓦斯量,从家园(Homestead)版本开始,区块的瓦斯限制从3,141,592 增加到 4,712,388(增加大约50%)。 .. _transaction-gas-limit: gas price(瓦斯价格) 在一笔交易中,每一个单位的瓦斯所兑换的以太币被称为瓦斯价格,从家园(Homestead)版本开始,瓦斯价格从50shannon(Gwei)减少到20shannon(减少60%)。 transaction(交易) 从外部帐户发出的一条存储消息的签名数据包,简单的说,交易就是描述了从一个外部账户到另一个外部账户或合约账户的转移信息。 message(消息) 消息就是合约用来与其它合约进行数据传输的机制,可以描述为一条仅存在于以太坊虚拟机执行过程中的从来没被序列化过的虚拟对象。 Web3 Web3规范的确切定义还在形成中,但是通常是指所有设备之间的连接性增加、服务和应用的去中心化、在线语义信息存储和人工智能应用的网络。 DAO(去中心化自治组织) 参考 Decentralized Autonomous Organization(去中心化自治组织)。 epoch(纪元) 纪元是每个作为Ethash工作量证明算法的种子DAG重新生成的周期间隔,每个纪元包含30000个块周期。 elliptic curve (cryptography) Refers to an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. See `elliptic curve cryptography `_. wallet(钱包) 钱包最通俗的讲,就是一切能存储以太币或其它加密令牌的事物。在通常的加密范畴中,术语钱包通常是指一对公钥和私钥(例如纸钱包),或者可以管理钥匙对的应用程序(例如以太坊Mist钱包)。 contract(合约) 存储在以太坊区块链中包含数据集合和可执行函数的持久代码段,当以太坊交易给定输入参数时这些功能被执行,基于输入的参数,合约将执行并与合约内外的数据进行交互。 suicide(自杀) 查看 self-destruct。 ``selfdestruct`` 是已经弃用的 ``suicide`` 操作的别名。详细请查看:`EIP 6 \- SUICIDE OPCODE改名 `_ 。 selfdestruct(自销毁) Solidity语言中的一个全局变量,它允许你`\"销毁当前的合约,将它的资金发送到指定的地址\" `_ 。 ``selfdestruct`` 是已经弃用的 ``suicide`` 操作的别名。详细请查看:`EIP 6 \- SUICIDE OPCODE改名 `_ 。它会释放在区块链上的空间防止合约在将来被执行,合约的地址会存在,但是所有发送到这个地址的以太币都会永久消失,只有合约的创建者可以通过 ``selfdestruct`` 来销毁合约。 transaction fee(交易费) 我们知道gas会作为燃效被消耗,消耗掉总量会以以太币的形式作为矿工的回报,以支付执行你的交易所需的计算力。 mining(挖矿) 以太坊区块链中验证交易和合约的过程,作为验证每一个区块的回报会获取以太币。 mining pool(矿池) 由矿工(们)组成的资源池,他们通过网络整合计算能力,将回报按照对解决一个区块所作的贡献比例进行分配。 mining reward(挖矿回报) 给予挖出符合区块要求的新区块的矿工的加密令牌(在这里就是以太币)。 state(状态) 区块链上特定时间点上所有账户和数据的一个快照,通常指特定条件下特定的块。 blockchain(区块链) 一条不断延伸的数据块序列,新增长的块由被确认过的交易数据组成,每一个被加密工作量证明的新块被添加到区块链中。 peer(节点) 网络上运行着以太坊节点(Geth)的计算机,有着和你一样准确的区块链数据副本。 signing(签名) 通过你的私钥加密产生一条需要被加密的数据,用来证明这条数据的原始发起人是你。 discovery (peer) 发现(节点) 通过向网络周边的节点发送“闲聊”信息,用来确认网络中其它节点的状态。 gas price oracle(预言价格) Geth客户端的一个帮助函数,用来在发送交易时尝试找出合适的默认瓦斯价格。 light client(轻量级客户端) 一个运行在小容量环境下的客户端程序,允许用户无需运行一个完整以太坊节点(如Geth),就能执行和验证交易。 etherbase 在你的节点上的主账户默认名字,如果你在挖矿,那么挖矿的回报会被放到这个账户中。 coinbase Coinbase是一个和etherbase类似的概念,但是对于众多的加密货币平台而言coinbase是一个更通用的术语。 balance(余额) 在加密货币的范畴中国年,指某个账户中加密货币的总和。 solidity Solidity是一种语法类似JavaScript的高级语言,它被设计成以编译的方式生成以太坊虚拟机代码。 serpent Serpent是一种语法类似Python的高级语言,它被设计成以编译的方式生成以太坊虚拟机代码。 EVM(以太坊虚拟机) 以太坊虚拟机,是去中心化的计算平台,它构成了以太坊功能的核心。 virtual machine(虚拟机) 在计算机中,虚拟机是指对特定计算机系统的仿真模拟。 peer to peer network(对等节点网络) 一个可以共同执行功能的计算机网络,可以执行通常只有中心化、基于服务器才能执行的任务。 decentralization(去中心化) 把控制和执行计算的过程从中心实体中剥离出来的概念。 distributed hash table(分布式哈希表) 分布式哈希表(DHT)是一个典型的去中心化的分发系统,可以提供像哈希表那样的服务:(键、值)对被存储于DHT中,任意成员节点可以通过键高效地获取到对应的值。 NAT(网络地址转换) 网络地址转换(NAT),是互联网协议数据报头中的网络地址通过路由设备传输时,来把一个IP地址空间映射到另一个IP地址空间的方法。 nonce Number Used Once or Number Once. A nonce, in information technology, is a number generated for a specific use, such as session authentication. Typically, a nonce is some value that varies with time, although a very large random number is sometimes used. In general usage, nonce means “for the immediate occasion” or “for now.” In the case of Blockchain Proof of Work scenarios, the hash value, found by a Miner, matching the network's Difficulty thus proving the Block Validity is called Nonce as well. proof-of-work(工作量证明) 经常可以看到它的缩写形式“PoW”,它是一个可以把解决资源和时间难的计算问题的工作量反映到数学变量的方法。 proof-of-stake(权益证明) 一种挖矿的替代方案,要求矿工证明他们有一定数量当前网络的货币,这项原则使得矿工试图通过破坏网络而获益的可能性被削弱。PoS相比PoW而言会造成更少的浪费,但是通常两者是配合使用的以增强网络的安全性。 CASPER(小精灵) Casper是一种基于保证金的经济激励共识协议(security-deposit based economic consensus protocol),这意味着节点,也就是“缴纳保证金的验证人(bonded validators)“,必须先缴纳保证金(这一步叫做“锁定”)才能参与共识机制和出块。如果一个验证人做出了任何Casper认为“无效”的事情,保证金都会被罚没收,同时也失去参与共识机制的权利。 consensus(共识) 网络中所有节点对以太坊网络状态的认同。 homestead(家园) 家园-是以太坊第二个主要发行版的版本号。它包含一些协议和网络的修改以适应未来网络的升级: `EIP\-2 Main homestead hardfork changes `_; `EIP\-7 Hardfork EVM update (DELEGATECALL) `_; `EIP\-8 devp2p forward compatibility `_ 。家园版本在主网络的1,150,000块开始启动,在测试网络,家园版本启动于494,000号块。 metropolis(大都会) 以太坊的第三个主要发行版,这个阶段用户可以使用带界面的客户端(如:Mist),包含dapp商店,不懂技术的用户会感觉更友好。(译者注:在2017年10月16日13时在4,370,000块正式进入大都会阶段。) serenity(宁静) 以太坊的第四个主要发行版,这个阶段所有的事情都进入预期设想的阶段:网络的挖矿过程从PoW 切换到PoS。 frontier(前沿) Frontier(前沿)是以太坊计划中四个主要步骤的第一阶段,于2015年7月30日开始启动。命令行形式的前沿版本,最主要的意义就是挖矿操作的启用,确定了每出一个块会得到5个以太币的奖励回报,并促进了以太坊交易所的出现。前沿版本大大超越了预期的效果并且极大地推进了整个生态系统的发展。 olympic 以太坊前沿版本的预发布版本,启动于2015年5月9日,主要是针对开发者用来确认验证以太坊区块链。 morden Morden是以太坊第一个测试网络,会与前沿和家园版本的整个周期共存。 testnet(测试网络) 以太坊网络的一个镜像网络,主要用来测试。 private chain(私有链) 私有链是整个区块链的写入权都属于一个中心化的组织的一条区块链。 consortium chain(联盟链) 联盟链是指共识机制被预先确定好的节点一起控制的区块链。 micropayment(微支付) 微支付是涉及金额很小的(小于1美元)金融交易,通常是在线发生的金融交易。 sharding(分片) 分片会将整个帐号(包含合约)空间分割到更多的子空间中,例如可以基于地址的前几个数字进行划分,允许交易(合约)被在更小的空间中验证执行,而不是在整个网络空间中被验证执行,这就允许更快的交易速度和更强大的并发能力。 hash(哈希) 哈希是一种加密算法,它可以将输入(或称为‘消息’)进行计算转换为固定长度的字母数字序列,这个序列被称为哈希值(有时也称消息摘要、数字指纹、摘要或者检查和)。哈希函数(或哈希算法)可以将文档(例如:小段数据、文件)处理成一小段看上去完全随机的数据(通常是32字节),并且结果数据不能反推出原文,一个重要的属性是对特定的文档每次的哈希值都要保证一致,更进一步,想要找到两个哈希值一样段原文也几乎是不可能的。通常来讲,原文甚至修改一个字符,得到的哈希都会是完全不同的,例如:通过SHA3计算"Saturday"结果是 ``c38bbc8e93c09f6ed3fe39b5135da91ad1a99d397ef16948606cdcbd14929f9d``,同样通过SHA3计算"Caturday"结果是 ``b4013c0eed56d5a0b448b02ec1d10dd18c1b3832068fbbdc65b98fa9b14b6dbf``。哈希通常被用来表示一个全球唯一的身份信息而不会被篡改。 crypto-fuel(加密燃料) 类似于“瓦斯”的概念,用来提供加密货币的交易所需要的动力。 cryptoeconomics(加密经济学) 加密货币的经济学。 protocol(协议) 用来定义通过计算机网络传输数据方法的标准。 block validation(区块验证) 检查加密签名的区块和存储在整个区块链历史中信息的一致性。 blocktime(区块时间) 矿工挖出两个(合法)区块之间的平均时间间隔。 network hashrate(全网哈希率) 全网所有计算力在一秒时间内可以计算哈希次数的总和。 hashrate(哈希率) 一秒时间内可以计算哈希次数的总和。 serialization(序列化) 一个把数据结构转换为字节序列的过程,以太坊内部使用一种称为递归长度前缀编码(recursive-length prefix encoding)的格式,请查看详细描述 `RLP的wiki `_ 。 double spend(双花) A deliberate blockchain fork, where a user with a large amount of mining power sends a transaction to purchase some produce, then after receiving the product creates another transaction sending the same coins to themselves. The attacker then creates a block, at the same level as the block containing the original transaction but containing the second transaction instead, and starts mining on the fork. If the attacker has more than 50% of all mining power, the double spend is guaranteed to succeed eventually at any block depth. Below 50%, there is some probability of success, but it is usually only substantial at a depth up to about 2-5; for this reason, most cryptocurrency exchanges, gambling sites and financial services wait until six blocks have been produced ("six confirmations") before accepting a payment. SPV client A client that downloads only a small part of the blockchain, allowing users of low-power or low-storage hardware like smartphones and laptops to maintain almost the same guarantee of security by sometimes selectively downloading small parts of the state without needing to spend megabytes of bandwidth and gigabytes of storage on full blockchain validation and maintenance. See light client. uncle Uncles are blockchain blocks found by a miner, when a different miner has already found another block for the corresponding place in the blockchain. They are called “stale blocks”. The parent of an Uncle is an ancestor of the inserting block, located at the tip of the blockchain. In contrast to the Bitcoin network, Ethereum rewards stale blocks as well in order to avoid to penalize miners with a bad connection to the network. This is less critical in the Bitcoin network, because the Block Time there is much higher (~10 minutes) than on the Ethereum network (aimed to ~15 seconds). GHOST Greedy Heaviest-Observed Sub-Tree is an alternative chain-selection method that is designed to incentivize stale blocks (uncles) as well, thus reducing the incentive for pool mining. In GHOST, even the confirmation given by stale blocks to previous blocks are considered valid, and the miners of the stale blocks are also rewarded with a mining reward. merkle patricia tree Merkle Patricia trees provide a cryptographically authenticated data structure that can be used to store all (key, value) bindings. They are fully deterministic, meaning that a Patricia tree with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black trees. DAG DAG stands for Directed Acyclic Graph. It is a graph, a set of nodes and links between nodes, that has very special properties. Ethereum uses a DAG in Ethash, the Ethereum Proof of Work (POW) algorithm.The Ethash DAG takes a long time to be generated, which is done by a Miner node into a cache file for each Epoch. The file data is then used when a value from this graph is required by the algorithm. uncle rate The number of uncles produced per block. issuance The minting and granting of new cryptocurrency to a miner who has found a new block. presale Sale of cryptocurrency before the actual launch of the network. static node A feature supported by Geth, the Golang Ethereum client, which makes it possible to always connect to specific peers. Static nodes are re-connected on disconnects. For details, see the :ref:`section on static nodes `. bootnode The nodes which can be used to initiate the discovery process when running a node. The endpoints of these nodes are recorded in the Ethereum source code. exchange An online marketplace which facilitates the exchange of crypto or fiat currencies based on the market exchange rate. compiler A program that translates pieces of code written in high level languages into low level executable code. genesis block The first block in a blockchain. network id A number which identifies a particular version of the Ethereum network. block header The data in a block which is unique to its content and the circumstances in which it was created. It includes the hash of the previous block's header, the version of the software the block is mined with, the timestamp and the merkle root hash of the contents of the block. pending transaction A transaction that is not yet confirmed by the Ethereum network. block propagation The process of transmitting a confirmed block to all other nodes in the network. sidechain A blockchain that branches off a main blockchain and checks in periodically with the main blockchain. Besides that it runs independently from the main chain, and any security compromises in the sidechain will not affect the main chain. pegging Locking down the exchange rate of the coins/tokens in two chains (usually a main and a side chain) in a certain direction. 2-way pegging Locking down the exchange rate of the coins/tokens in two chains (usually a main and a side chain) in both directions. trustless Refers to the ability of a network to trustworthily mediate transactions without any of the involved parties needing to trust anyone else. faucet A website that dispenses (normally testnet) cryptocurrencies for free. checksum A count of the number of bits in a transmission that is included with the unit so that the receiving end can verify that the entirety of the message has been transmitted. ICAP Interexchange Client Address Protocol, an IBAN-compatible system for referencing and transacting to client accounts aimed to streamline the process of transferring funds, worry-free between exchanges and, ultimately, making KYC and AML concerns a thing of the past. private key A private key is a string of characters known only to the owner, that is paired with a public key to set off algorithms for text encryption and decryption. public key A string of characters derived from a private key that can be made public. The public key can be used to verify the authenticity of any signature created using the private key. encryption Encryption is the conversion of electronic data into a form unreadable by anyone except the owner of the correct decryption key. It can further be described as a process by which a document (plaintext) is combined with a shorter string of data, called a key (e.g. ``c85ef7d79691fe79573b1a7064c19c1a9819ebdbd1faaab1a8ec92344438aaf4``), to produce an output (ciphertext) which can be "decrypted" back into the original plaintext by someone else who has the key, but which is incomprehensible and computationally infeasible to decrypt for anyone who does not have the key. digital signature A mathematical scheme for demonstrating the authenticity of a digital message or documents. port A network port is a communication endpoint used by a one of the existing standards of establishing a network conversation (e.g. TCP, UDP). RPC Remote Procedure Call, a protocol that a program uses to request a service from a program located in another computer in a network without having to understand the network details. IPC Interprocess communication (IPC) is a set of programming interfaces that allow a programmer to coordinate activities among different program processes that can run concurrently in an operating system. attach The command used to initiate the Ethereum Javascript console. daemon A computer program that runs as a background process instead of in direct control by an interactive user. system service See base layer service base layer service Services such as SWARM and Whisper which are built into the Ethereum platform. js Javascript. syncing The process of downloading the entire blockchain. fast sync Instead of processing the entire block-chain one link at a time, and replay all transactions that ever happened in history, fast syncing downloads the transaction receipts along the blocks, and pulls an entire recent state database. ASIC Application-specific integrated circuit, in this case referring to an integrated circuit custom built for cryptocurrency mining. memory-hard Memory hard functions are processes that experience a drastic decrease in speed or feasibility when the amount of available memory even slightly decreases. keyfile Every account's private key/address pair exists as a single keyfile. These are JSON text files which contains the encrypted private key of the account, which can only be decrypted with the password entered during account creation. ICAP format The format of the IBANs defined using the `Inter-exchange Client Address Protocol `_. block(chain) explorer A website that allows easy searching and extraction of data from the blockchain. geth Ethereum client implemented in the Golang programming language, based on the protocol as defined in the Ethereum Yellow Paper. eth Ethereum client implemented in the C++ programming language, based on the protocol as defined in the Ethereum Yellow Paper. ethereumjs Ethereum client implemented in the Javascript/Node programming language, based on the protocol as defined in the Ethereum Yellow Paper. pyethereum Ethereum client implemented in the Python programming language, based on the protocol as defined in the Ethereum Yellow Paper. ethereumj Ethereum client implemented in the Java programming language, based on the protocol as defined in the Ethereum Yellow Paper. ethereumh Ethereum client implemented in the Haskell programming language, based on the protocol as defined in the Ethereum Yellow Paper. parity Ethereum client implemented in the Rust programming language, based on the protocol as defined in the Ethereum Yellow Paper. difficulty In very general terms, the amount of effort required to mine a new block. With the launch of Homestead, the `difficulty adjustment algorithm will change `_. account Accounts are a central part of the Ethereum network and are an essential part of any transaction or contract. In Ethereum, there are two types of accounts: Externally Owned accounts (EOA) and Contract accounts. HLL (obsolete) Acronym for Higher Level Language, which is what Serpent and Solidity are. HLL is what early Ðapp developers called Ethereum programming languages that did not touch the low level elements. This phrase has been phased out. CLL (obsolete) Acronym for C Like Language, which Mutan was. This acronym has been phased out. ES1, ES2, and ES3 (obsolete) "Ethereum Script" versions 1,2 and 3. There were early versions of what would become the Ethereum Virtual Machine (EVM). log event Contracts are triggered by transactions executed as part of the block verification. If conceived of as a function call, contract execution is asynchronous, and therefore they have no return value. Instead contracts communicate to the outside world with log events. The log events are part of the transaction receipt which is produced when the transaction is executed. The receipts are stored in the receipt trie, the integrity of which is guaranteed by the fact that the current root of the receipt trie is part of the block header alongside the roots of state and state-trie. In a broad sense from the external perspective receipts are part of the Ethereum system state except that they are not readable contracts internally. .. hardware wallet .. brain wallet .. cold storage