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

文/AlexR.Mead&KyleWaters,CoinMetrics加密分析师;译/金色财经xiaozou

1、前言

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

2、加密货币地址

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

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

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

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

金色电音节丨5.26燃动鹏城、逐浪Web3:5月26日,由金色财经主办的金色电音节 2023 深圳站正式开启,本次电音节将依托大湾区,以“燃动鹏城、逐浪 Web3 为主题进行一场深度的 Web3 行业电子音乐交流之旅,聚集行业菁英,以电音之名,共襄盛会。

自2019年6月始,燃至2023年5月,金色电音节在多个城市开启 Web3 的“电”闸,重燃行业激情,为行业菁英带来别具一格的夏日 Web3 体验。2023金色电音节重燃深圳,将带来更魔幻舞台与灯光SHOW,超强DJ阵容,极致的音乐享受,通过交互合作助力行业发展,链接电音释放 web3 真实律动。[2023/5/18 15:11:40]

3、以太坊地址

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

金色晨讯 | 11月19日隔夜重要动态一览:21:00-7:00关键词:以太坊2.0、中行、徐明星、路透社

1. 以太坊2.0测试网Prymont启动;

2. 中行董事长:中行将深度参与数字货币应用和推广;

3. 媒体:多消息源称徐明星已获一定自由;

4. 英国央行首席经济学家:数字货币或减轻对负利率的需求;

5. V神:ETH 2.0的益处将很快显现;

6. Cyber News:近3800份以太坊智能合约存在严重漏洞;

7. 日本30多家公司合作的数字货币将在2022年投入实际使用;

8. Chainlink联合创始人:最近的DeFi攻击不应归咎于闪电贷;

9. 加密货币监管专家:FATF需要全新的加密货币监管方法。[2020/11/19 21:17:58]

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

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

金色晨讯 | 2月26日隔夜重要动态一览:21:00-7:00关键词:人民日报、欧洲、美国、销毁

1. 人民日报海外版:区块链应用助力疫情防控;

2. 欧洲区块链服务基础设施已开始部署;

3. 美国商务部希望就跨境加密交易对公司进行调查;

4. 副行长:加拿大央行正为央行数字货币做准备工作;

5. 美国SEC为投资者汇总资源以避免加密欺诈;

6. EOS Nation发起销毁34,106,869.1596 EOS 提案通过;

7. 经济日报:运用区块链等打造区域行政数字化平台;

8. 上海深化“一网通办”改革,鼓励借助区块链等技术;

9. 神秘矿工已从SegWit地址中夺取9000枚BCH。[2020/2/26]

以太坊地址从何而来?

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

EOA地址

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

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

金色财经现场报道捕手志创始人、主编李曌:区块链投资是价值投资者转移为共识投资者:金色财经现场报道,在2018中国区块链高峰论坛以“用什么姿态拥抱区块链”的圆桌论坛上,捕手志创始人、主编李曌表示,“区块链媒体未来发展态势,未来90%的区块链媒体会死掉,赚项目的钱,写黑稿,为交易所导流的媒体都会死掉。”[2018/5/20]

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

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

智能合约地址

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

金色财经数据播报 市值前100的币种8涨92跌:根据行情数据显示,随着BTC价格的波动,目前市值前百币种8涨92跌。其中ZEN跌幅最大,跌幅达25.17%,现全球均价215元;FUN位居次席,跌幅达12.05%,现全球均价0.22元;NULS跌幅达11.52%,现全球均价23.26元。[2018/5/24]

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

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

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

量化以太坊地址

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

4、比特币地址

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

Legacy地址

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

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

Pay-to-Script-Hash地址

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

SegWit和Taproot地址

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

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

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

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

热钱包和冷钱包

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

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

VanityAddress和ENS

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

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

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

金智博客

[0:15ms0-3:487ms