以太坊:金色观察 | 比特币、以太坊地址类型及其生成机制全解析

文/ Alex R. Mead & Kyle Waters,Coin Metrics加密分析师;译/金色财经xiaozou

1、前言

我们将推出名为“Foundations”(基础)的新系列。这个新系列将以浅显易懂的方式介绍区块链技术的各“技术”维度。本文,我们会从地址概念出发。首先我们将进行地址的基本介绍,然后深入研究以太坊和比特币地址的详细内容。公钥--私钥、EOA、智能合约,以及“not your keys, not your crypto”(不是你的私钥,也不是你的加密货币)都将在本文得到详尽解释。像往常一样,我们将使用链上数据来突出关键概念,并提供重要背景帮助你更好理解。

2、加密货币地址

地址的概念可能是加密货币世界最基本的概念。不管是哪个区块链,地址都是区块链上的“身份”单位,所有的交互都以地址开始,以地址结束。无论是执行简单的转账还是使用DeFi协议进行复杂的交易,地址都是至关重要的。虽然不同链之间的地址存在着细微差异,但它们都可以用于链上资产唯一标识和分组。

接下来,我们将详细讨论以太坊地址。以太坊地址有哪些不同的类型,它们是如何生成的,如何使用的。然后我们将阐述比特币地址和比特币网络上最重要的四种地址类型。

但首先要搞清楚,“拥有”地址的是谁?

我们先来澄清一些模糊的认知:单个地址并不一定意味着单个用户。一个地址背后可能有一群人,一个人也可能有多个地址。一个地址甚至可以是一个智能合约,不被任何单个用户“拥有”。然而,地址是区块链中身份的原子单位,与地址所有者或操作者无关。但我们很快就会知道,真正的所有权属于地址私钥的管理者。

金色财经行情播报 | BTC加速下跌,均线乖离值还未过大:据火币行情显示,今日BTC行情整体保持震荡趋势,14时开始扩大跌幅,最低跌至9047.81USDT。日线图今日下跌K线打破之前整理平台,并跌破重要支撑位;4小时图下降通道加速但均线乖离值还未过大;1小时图加速下降,并且均线呈扩散状,空头尚有发力空间。截至18:30,主流币的具体表现如下:[2020/7/16]

3、以太坊地址

以太坊地址是一个20字节的唯一序列,1字节为8 bit,所以以太坊有28*20 = 2160种可能的地址。虽然地址长度只有20个字节,但以太坊的地址空间比IPv6 2128大得多,当然,“猜测”某个现有账户的私钥的成功概率是非常小的。通常,地址显示为以“0x”开头的字符串,后面是40个十六进制字符(0-9,A-F)。在以太坊系统中,每个地址都对应着相关的原生加密货币(Ether或ETH)余额。余额多少不等,从略高于0 ETH到最大超过1900万ETH(信标链质押合约)。然而,除了最大的地址余额之外,ETH分布在数百万个地址上,如下所示。在下图,我们可以看到,在总共1.2亿个ETH中,有近1亿个被余额至少为100 ETH的地址所持有。

以太坊地址有两类:外部拥有账户(EOA)和智能合约账户。二者区别在于EOA关联私钥,而智能合约则关联合约代码。这意味着只有EOA可以签署交易并在以太坊系统内启动计算,而智能合约必须由源自EOA的交易“激活”。

金色财经合约行情分析 | BTC 围绕9500美元窄幅盘整:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报9508美元(+0.04%),20:00(GMT+8)结算资金费率为0.010000%。

BTC昨日至今在9500美元附近做窄幅震荡。根据火币交割合约数据,BTC季度合约成交额大幅下降,持仓量继续小幅增加,精英多头占比稳定,季度合约继续保持窄幅溢价。BTC价格不断收敛,持仓量逐渐恢复至6月2日的水平,后期大幅波动的风险在增加,投资者需控制仓位注意风险。[2020/6/17]

例如,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045是V神的已知个人EOA账户,而0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48是稳定币USDC的智能合约地址。对于像V神这样的EOA账户来说,私钥通常由商业化“钱包”管理,如MetaMask。但也可以使用其他方法进行管理,比如Python脚本或硬件钱包等。

以太坊地址从何而来?

外部拥有账户(EOA)地址和智能合约地址都有不同的生成方式,涉及到一系列加密操作。事实上,这就是加密货币之所以叫做“加密货币”的一个关键原因。

(1)EOA地址

帐户生成过程首先是生成私钥,这是一组256 bit(32字节)的随机数。这组随机数必须保密,因为仅私钥自身就可以完全控制地址了。这个随机数就是“not your keys, not your crypto”这句话的根源。因为如果没有这组随机数,或者如果其他人得到了这组随机数,他们就可以访问你的地址,获取与你的地址绑定的身份信息,甚至窃取你留在那里的全部的钱和藏品。

金色财经挖矿数据播报 | BTC今日全网算力上涨2.35%:金色财经报道,据蜘蛛矿池数据显示:

ETH全网算力179.999TH/s,挖矿难度2285.36T,目前区块高度9880483,理论收益0.00777063/100MH/天。

BTC全网算力119.827EH/s,挖矿难度14.72T,目前区块高度626191,理论收益0.00001708/T/天。

BSV全网算力1.513EH/s,挖矿难度0.23T,目前区块高度630810,理论收益0.00059485/T/天。

BCH全网算力2.200EH/s,挖矿难度0.29T,目前区块高度631008,理论收益0.00040906/T/天。[2020/4/16]

接下来,私钥(实际上只是一组数字)用于椭圆曲线数字签名算法(简称ECDSA)的输入。顾名思义,该算法使用椭圆曲线生成另一组长度为512 bit(64字节)的数字,称为公钥。这两组数字统称为公钥/私钥对。

最后,使用Keccak256函数计算公钥的哈希值,产生另一个256 bit序列(32字节)。然后截取保留该序列的最后20字节或160 bit,这就是以太坊使用的地址。下图图解了这个过程。

这个过程可以通过多种方式完成,但是,大多数用户选择广泛适用的“钱包软件”(如MetaMask)或开源软件(如web3.py)来生成和管理他们的私钥。从技术上讲,除了生成和管理私钥和地址之外,EOA通常由一个人、一群人或具有关联私钥访问权限的专业保管人控制。该私钥用于签署交易,这是将ETH发送到另一个EOA账户或智能合约的关键步骤,私钥必须保密并进行高度安全的妥善保管。我们在下文讲到冷钱包时会进行更多相关探讨。

金色午报 | 2月27日午间重要动态一览:7:00-12:00关键词:央行、伊朗、江苏银行、FTX

1. 央行数字货币产业链梳理:20多家公司参与 大多已上市;

2. 伊朗将军提倡用加密货币促进国际投资以应对制裁;

3. 2月26日BitMex上清算了价值超过1.9亿美元的比特币头寸;

4. 江苏银行推出区块链品牌“苏银链2.0”;

5. FCoin及FMex重启工作正式开始;

6. Bitfinex排行榜显示FTX CEO账面浮亏超1200万美元;

7. 体育总局经济司副司长:鼓励企业利用区块链等新技术培育体育行业新业态;

8. 美国开发针对暗网市场的加密货币情报程序;

9. BTC现报8728.19美元,日内跌幅2.94%,前十主流币普跌。[2020/2/27]

(2)智能合约地址

EOA是在以太坊上使用区块链的第一步,无论是在简单的转账交易中发送ETH,还是与智能合约进行交互。然而,EOA还执行一个特殊功能,那就是智能合约部署。在智能合约的部署过程中,产生了第二种以太坊地址类型。

该过程首先将一些编译后的EVM兼容字节码插入到一个交易中,该交易被发送到“特殊”部署地址0x0。然后,以太坊协议本身使用一种结合EOA部署公钥及其nonce(即地址在其生命周期内发送的交易总数)的算法。

更具体地说,将地址(20字节)和nonce(64字节)连接起来,然后将递归长度前缀(RLP)序列化。生成的字节序列再通过Keccak256计算得出哈希值,取最后的20个字节作为智能合约地址。

金色晨讯 | 穆长春:央行数字货币引入了私人部门参建:1.中国区块链应用研究中心(江苏)正式成立。

2.马云:区块链技术越来越重要,可以解决隐私和安全问题。

3.银保监周亮:企业若从事金融业务 区块链等技术需按金融监管来进行全覆盖。

4.央行穆长春:央行数字货币引入了私人部门参建;在法律、监管、风险控制等问题解决之前,不宜推出全球性稳定币。

5.加密分析师:今年开采出来的BTC平均价格涨幅为22% 矿工或在2020年实现收益。

6.国家统计局党组理论学习中心组集体学习,学习内容包括区块链。

7.以太坊联合创始人:希望可以与中国的加密货币互通。

8.Facebook近7000页内部机密文件被泄露,此前美国议员曾多次对Libra隐私问题表示担忧。

9.HPB芯链宣布将项目归还社区,三名联合创始人及半数员工将离开。[2019/11/11]

智能合约地址是非常重要的信息,因为它们是交易与合约交互的入口。例如,如果想要在UniswapV2上进行代币互换,那么工厂合约(Factory Contract)地址将非常重要,0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f。

量化以太坊地址

如上所述,以太坊有2160种可能的地址总数,下图显示了这些地址中目前链上所见数量。图中,地址按类型分组,显示了近1亿个EOA账户的ETH余额非零,智能合约账户超过3000万个。虽然这些都是相当大的数字,但与可能的总数相比,是微不足道的,这对以太坊用户来说是个好消息,可以放心,我们离耗尽地址还远着呢。

4、比特币地址

相较以太坊,比特币地址有更多的细节需要解决。首先来看地址类型,比特地地址类型其实主要有四种:Legacy、Pay-to-Script-Hash、Segwit和Taproot。尽管比特币使用不同的会计方法——未消费交易输出(UTXO)模型——来跟踪链上的加密货币,但我们将重点关注下面几种不同的地址类型。

(1)Legacy(P2PKH)地址

这些地址包括比特币系统原始部署中使用的地址,并且很容易识别,这些地址是以“1”开头的。它们的生成方式与以太坊地址的生成方式非常相似,从公钥/私钥对的生成开始。

然后像以太坊一样,计算公钥的哈希值,但使用的是SHA-256算法。所得的256 bit序列随后使用RACE原始完整性校验消息摘要(RIPEMD-160)再次计算哈希值,得到20字节(160 bit)的序列。回过头看,这个过程与以太坊非常相似,但是,显示为文本形式时,比特币通常使用的是Base58CheckEncoding。这意味着20字节序列使用58个字符(1-9,A-H,J-N,P-Z,a-k,m-z)编码,而非十六进制编码中使用的16个字符。基本上,存储在计算机内存中的相同的160 bit的0、1序列会通过一组16字符或58字符呈现到屏幕上。当然还有很多其他编码,但这是特别为比特币选择的编码。

(2)Pay-to-Script-Hash(P2SH)地址

P2SH地址以“3”开头,从技术上来说属于脚本,可用于要求多重签名的转账事宜等。比特币的“Pay-to-Script-Hash”的真实性质超出了我们的探讨范围,但简单来说,P2SH地址是使用Base58Check对脚本代码哈希进行编码。因此,可以将P2SH地址概念化为脚本的20个字节哈希的编码,类似于公钥的20个字节哈希的编码。

(3)SegWit和Taproot 地址

为了提高区块空间的效率并改善费用,SegWit在地址的构造方式上引入了一些变化。具体的算法细节计较乏味,因此我们在这里跳过细节,但是人们可以轻松地一眼看到这些以“bc1”开头的新地址。除了SegWit之外,以“bc1p”开头的Taproot地址进一步提高了交易效率,并提供了更好的隐私性。

与以太坊类似,下图显示了按地址的总余额大小汇总的比特币总余额。与以太坊类似,绝大多数比特币由价值最高的那些地址持有。然而,仔细检查数据以更好地理解分布结构是非常重要的。

5、关于加密地址的更多内容

除了地址生成机制外,还有一些关于地址的其他概念我们应该理解,包括:热/冷钱包,以及Vanity Address和ENS。

(1)热钱包和冷钱包

加密货币资产“存活”在区块链本身上,或被存储为原生第一层货币(例如ETH或比特币),或被存储于智能合约余额账本(例如USDC、Dai、WETH)。区块链本身可以被视为存储在各自网络节点中的分布式数据库。这意味着用户并不托管加密货币,而是托管与各个区块链上各自地址关联的私钥。因此,真正的私有信息必须保证安全,因为这些私有信息就是与地址相对应的私钥。

在加密世界中,存储私钥的方法主要有两种:热钱包和冷钱包。二者很容易区别:热钱包是连接互联网的私钥存储系统,而冷钱包是没有连接互联网的系统。完全断开与互联网的连接使私钥得到更安全的保护。想要获取私钥,必须先获取冷钱包设备。总而言之,存储在钱包中的不是加密货币本身,而是与区块链上余额地址相关联的私钥。私钥管理越来越复杂,现在越来越流行一种数字资产安全方法,那就是多方计算(MPC),多方计算将私钥分解为加密共享数据分配给多个参与者。

(2)Vanity Address和ENS

Vanity Address和其他地址一样,但是,该地址的某部分将超出意料中的随机性。前几个字符可能会拼出一个英文单词、短语或名称,比如Legacy比特币地址:1googLemzFVj8ALj6mfBsbifRoD4miY36v。这些地址可用于更轻松地识别交易对手方,并可用于品牌宣传和营销。这些地址的生成过程得到了几个开源项目的支持,例如Vanitygen。然而,应该注意的是,这个过程可能需要非常密集的计算资源,因为它需要一个“guess-and-check”(猜测和检查)类型的算法。谨慎的做法是,不要轻信在线工具去获取vanity address,因为它们也会获取你的私钥副本,正如那句话所说的,“Not your keys, not your crypto.”。事实上,去年在“Profanity”以太坊vanity address地址生成器中就有一个漏洞被利用了。

作为一个正式的系统,为了不必须生成容易记忆的vanity address,以太坊有一个叫做以太坊域名服务(ENS)的应用程序,就像域名系统(DNS)简化了传统互联网的访问一样。与URL非常相似,用户可以购买以“.eth”结尾的自定义名称,智能合约创建这些标签的记录,这些记录在链上公开可用。借用上文提到的V神的例子,我们可以看到他的ENS名称是vtalik .eth。ENS名称,就像URL一样,让以太坊区块链更加用户友好,因为字母数字组合比20字节序列更容易记住,这增强了网络的便利性和安全性。

金色荐读

金色财经 善欧巴

Chainlink预言机

白话区块链

金色早8点

Odaily星球日报

欧科云链

深潮TechFlow

MarsBit

Arcane Labs

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

以太坊价格LAYER:科普:什么是Layer2?

作者:火火根据Dune Analytics的数据,截至2022年底,以太坊主链上的日均交易数超过了170万笔,而 Layer2 解决方案的日均交易数也在持续增加,甚至超过了以太坊.

[0:15ms0-1:425ms