ETH基础(1)

什么是ETH:

  • 以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。

术语:

  • 账户(account): 账户是一个对象,它包含地址、余额、nonce,并且存储了状态和代码(皆可为空)。账户可以是合约账户或者外部账户(EOA)。
  • 地址(address):通常来说地址代表一个合约或者外部账户,可以在区块链上接收或者发送交易。更具体的说是,地址是ECDSA公钥的Keccak哈希中最右的160位数。
  • 大端字节序:高位字节在前,低位字节在后,符合人类读写数值的习惯。
  • BIP:比特币改进提案,由比特币社区提交的一系列对比特币协议进行改进的提案。比如,BIP-21(比特币改进提案第21号)是建议比特币协议改进统一资源标识符(URI)的提案。
  • 区块:一个关于其所包含交易的所需信息(区块头)的集合,以及称为ommer(叔块)的一组其他区块头。区块由以太坊网络中的矿工添加上链。
  • 区块链:以太坊网络中由工作量证明验证的区块序列,每个区块与其父块相连,可一直追溯到创世块。以太坊区块链与比特币的不同之处在于,前者没有区块大小限制,而使用gas上限来调整区块大小。
  • 字节码:为软件解释器或虚拟机的高效执行而设计的抽象指令集。与人类可读的源代码不同,字节码以数字格式表示。
  • 共识(Consensus):当网络中的许多节点,通常是大部分节点,都拥有相同的本地验证的最长区块时,称为共识。不要与共识规则混淆。
  • 共识规则(Consensus rules):全节点与其他节点保持共识的区块验证规则。不要与共识混淆。
  • 合约账户(Contract account):一个包含代码的账户,只要接收到来自其他账户的交易就会执行合约代码。
  • 创建合约交易:一种为了注册一个合约并将其记录在以太坊区块链上的特殊交易,其中接收者地址“为零”
  • DApp:去中心化应用程序,狭义地说,DApp可以是一个智能合约或网页上的用户界面;广义地说,是在开放的、去中心化的、点对点的基础设施服务之上建立的网络应用程序。此外,许多去中心化应用程序还包含去中心化存储与(或)通信协议和平台。
  • 权证(Deed):不可替代代币(NFT)标准是由ERC721提议的。与ERC20代币不同,权证(所有权证书)可以证明ERC721代币的所有权,且该所有权不可互换,但目前为止还未有任何司法管辖区承认其为合法文件。
  • 难度(Difficulty):对全网来说,设置产生单位工作量证明需要消耗多少算力。
  • 数字签名(Digital signature):数字签名算法使用户可以使用其私钥生成我们称之为文件“签名”的短数据串,并使任何拥有相应公钥、该文件签名与文档的人都可以验证:该文件确实由该特定私钥的所有者“签署”,且该文档在签署后未被更改。
  • 熵(Entropy):在密码学的语境中,熵意味着不可预测性,也就是随机性高低。当我们生成一个秘密信息(如私钥)时,算法通常需要依赖于一个熵非常大的信源来保证其输出的随机性。
  • EOA:外部账户,即以太坊网络中由人类用户创建或为人类用户使用的账户
  • 事件(Event):事件使以太坊虚拟机中的日志记录工具可用,而日志记录工具可在DApp的用户界面中触发JavaScript回调,后者又能监听这些事件
  • EVM(Ethereum Virtual Machine):以太坊虚拟机,是基于栈的虚拟机,用于执行字节码。在以太坊中,其执行模型指定了在给定一系列字节码指令和一小组环境数据的情况下如何改变系统状态。这是通过虚拟状态机的正式模型指定的
  • EVM汇编语言(EVM assembly language):人类可读的以太坊虚拟机字节码的一种形式
  • 回退函数(Fallback function):在缺失数据或无法匹配函数名称时的默认函数调用
  • Faucet:免费提供测试网可用的测试以太币的服务
  • 分叉(Fork):在协议层面的一次改动,可能会产生一条竞争链,或造成在挖矿中对未来区块路径的暂时性分歧
  • gas:以太坊网络中为执行智能合约所消耗的虚拟“燃油”。以太坊虚拟机使用一种记账方法来衡量gas用量,以限制算力资源的消耗
  • gas上限(gas limit):一个交易或一个区块允许消耗的最大gas量
  • 创世块(Genesis block):区块链上的第一个区块,用于初始化特定的区块链以及原生加密货币。
  • 硬分叉(Hard fork):硬分叉也叫硬分叉改变,是区块链上产生的永久分歧,通常发生在拒绝升级的节点无法验证遵循新共识协议的已升级节点所创建的区块时
  • 哈希(Hash):由可变长度的输入,通过哈希函数(散列)生成固定长度的数字指纹。
  • HD钱包种子(HD wallet seed):用来生成HD钱包中主私钥与主链码的短种子值。可以用助记词表示,以便人类复制、备份及恢复私钥。
  • 内部交易(也称为“消息”)(Internal transaction):从一个合约账户发往另外一合约账户或者外部账户的交易。
  • IPFS(InterPlanetary File System):星际文件系统,是一个旨在创建开源且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。
  • 密钥导出函数(KDF, Key Derivation Function):也称为密钥延伸算法,通过密钥库文件格式来防止暴力破解,防止攻击者预先计算派生密钥的字典或“彩虹表”,通过重复计算密令的哈希来实现。
  • Keccak-256:以太坊协议使用的加密哈希函数。Keccak-256是从SHA-3规范演化出来的。
  • 矿工(Miner):通过不断做哈希运算,找到新区块的有效工作量证明的网络节点。
  • 不可替代代币(NFT):也叫“所有权证书”或“权证”,是由ERC721议案提出的代币标准。不可替代代币能够被追溯也可以交易,每个代币是唯一且独一无二的,不像ERC20代币,每个NFT都是无法互换的。NFT能够代表数字或物理资产的所有权。
  • 节点(Node):参与点对点网络的软件客户端。
  • nonce:在密码学中,nonce指的是在加密过程中只能使用一次的值。以太坊中有两类nonce:账户nonce值,用来统计每个账户的交易数,防止重放攻击;工作量证明nonce,区块中用于满足工作量证明的随机值。
  • 公钥(Public key):通过私钥的单向函数派生的数字,可以公开共享,任何人都可以使用它来验证用其对应私钥进行的数字签名。
  • 收据(Receipt):收据是由以太坊客户端返回的数据,用来表示特定交易的结果,数据包含交易哈希、打包的区块高度、实际gas消耗量,如果该交易用来部署合约,则还会返回该合约地址
  • 可重入攻击(Re-entrancy attack):攻击者合约调用受害者合约函数,使得在调用执行过程中受害者合约会循环调用攻击者合约。这可能导致通过跳过受害者合约的余额更新或提款金额计算的部分来盗窃资金。
  • 区块奖励(Reward):以太坊网络给予找到相应工作量证明的解的矿工的,包含在每个新区块中用以太币计价的奖励。
  • 智能合约(Smart Contract):在以太坊计算基础框架上执行的程序
  • Solidity:一种语法类似JavaScript、C++或Java的程序化(命令式)编程语言,是用于编写以太坊智能合约的最流行也最常用的编程语言
  • 交易(Transaction):由一个原始账户签署并以一个特定地址为目标的提交到以太坊区块链上的数据。该交易包含交易gas上限等元数据
  • 图灵完备(Turing complete):在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么它是图灵完备的。这个名字来源于英国数学家和计算机科学家艾伦·图灵
  • 钱包(Wallet):保存用户密钥的软件,可以用来访问并管理你的以太坊账户并与智能合约交互。密钥不一定要存储在钱包中,为了提高安全性,可以离线存储(如写在一张记忆卡或者纸上)。尽管称其为“钱包”,但它并不存储代币本身。
  • web3:万维网的第三个版本。由Gavin Wood博士首次提议,代表了对网络应用的新愿景与新焦点:从中心化所有并管理的应用转移到在去中心化协议上构建的应用。
  • Whisper协议: 去中心化(P2P)的消息传输服务。与Web3和Swarm协议共同使用来构建DApp。
  • 零地址(Zero address): 一个特殊的以太坊地址,地址的所有字节都为0,作为“创建合约交易”的目标地址
本作品采用《CC 协议》,转载必须注明作者和本文链接
不卑不亢,不慌不忙,这才是生活的模样。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!