你说你的地址是什么? -钱币僧侣

正如我们在比特币交易基本介绍中所看到的那样,比特币仅作为与地址相关联的数量存在,并且如果他能够向网络证明自己拥有关联的私钥,则他拥有一个地址。在它们最初非常简单的外观(与银行帐号的外观非常相似)下,存在许多复杂的现象。这篇文章介绍了一些加密货币基础,以解释如何生成密钥和地址,介绍了一些地址类型,并解释了上述有趣的现象,例如地址重用和复杂的交易脚本。

密码学评测

密码术在当今社会无处不在。它是整个Internet上安全通信,敏感信息加密货币等等的支柱。在谈论区块链时,使用一种特定类型的密码学,称为公钥-私钥密码学。它基于数字对之间的特殊关系,称为私钥和公钥。

对于加密货币,分配公钥就像给带锁的开放盘点箱。人们知道自己只有私钥的拥有者才可以打开锁,因此可以将所需的任何消息放入并锁定它。因此,他们不必担心有人会拦截它,因为入侵者无论如何都无法打开它。技术说明不在本文的讨论范围之内,但如果感兴趣,本文提供对RSA(最古老的此类密码系统)的简单说明。

对于签名,不需要邮件传输。相反,目标是使人们能够证明它们是消息的来源。这些算法的工作方式是它们与私钥一起处理任何消息并生成签名。这些方法具有公共密钥可以验证签名是否由关联的私有密钥生成的属性。因此,通过提供消息,消息的签名和公共密钥,可以对消息源进行公开身份验证。

因此,通过提供消息,其签名和公共密钥,可以对消息源进行公开身份验证

在比特币中,椭圆曲线数字签名算法(ECDSA)用于签名(顾名思义)。有关ECDSA运作方式的更详细的技术说明,我建议您写这篇精彩的文章,其中详细说明(警告:这是一篇技术文章)。

与加密货币技术相关并在比特币交易中广泛使用的另一个重要概念是哈希算法。这些算法会在给定任何消息的情况下生成特定长度的“哈希”(即看似随机字符的字符串),从而可以很容易地从输入字符串中找到哈希,但是很难获得从哈希返回输入消息。这是一个互动式网站,可查看散列的外观。

SHA256哈希的示例。单个字母的差异(从S到s)完全改变了哈希值。

地址有几种形状,每种都有其特点。到目前为止,我一直使用公钥作为比特币地址,但实际上,这只是一种比特币地址,它具有自己的付款方式,称为“付款给公钥”,并且越来越不推荐使用。取而代之的是,如今大多数比特币地址都是通过公钥生成的。有两种重要的比特币地址格式:公钥哈希和Bech32。

两者都是通过以特定方式对公钥进行哈希处理而生成的。创建这些地址类型的原因主要有两个:通过缩短地址使地址更容易辨认,并增加了一层隐私。

你的钱包

许多钱包软件和服务将您的钱包显示为具有给定余额的单个银行帐户,因此在进行交易时,您仅指定目标地址和金额,其余一切由您自己处理。因此,它导致您认为您只有一个私钥-公钥对,并且所有事务都处于入或出状态。实际上,这些软件所隐藏的内容隐藏了您拥有(或应该拥有)多个私钥以及关联的公钥和地址。

如上一篇文章中所述,事务不需要所有输入都来自同一地址,而只需要证明每个地址的所有权即可。因此,将您的比特币去中心化到多个地址不是问题。该软件的工作是充当合并,在进行交易时会处理所有细节,包括非常频繁地创建新的密钥对,即使在每次交易之后也是如此。

有充分的理由。主要的是隐私。比特币去中心化属性的缺点之一是所有人都可以使用所有信息。如果您每次都使用相同的比特币地址,那么只需监视您的地址就可以很容易地跟踪您所涉及的每笔交易。除了具有侵入性的事实之外,它也可能很危险。如果有人能够从物理上追踪您(例如您在网站上发布了您的比特币地址),他们将确切知道您拥有多少资产,并可以找到您并以一种或另一种方式勒索您。相反,通过不断更改地址,您几乎无法进行此跟踪。

如果您每次都使用相同的比特币地址,那么只需监视该地址,就很容易跟踪您进行的每笔交易。

使用过去的交易输出

如前所述,交易是针对比特币地址进行的。当您希望使用未花费的输出进行交易时,首先需要提供信息以在区块链中找到它。然后,在最简单的情况下,提供公共密钥和签名,共同证明您是私有-公共密钥对的所有者,并将为您提供将未花费的金额用作交易输入的权限。

您可以对多个未使用的输出重复此操作,以达到所需的交易量。比特币输出不可分割的结果是,您不可能完全将您希望交易的价值加起来。取而代之的是,每次您最终得到的总和都比您希望使用的要高。

如果您不做任何事情,这笔额外的金额将自动转换为交易费,该区块的矿工(即处理交易的计算机)将自己承担。当然,您可能不希望这样做,因为这种比特币的“变化”可能很大,因此通常要做的只是将其作为未花费的输出发送回您的新地址。

交易脚本

但是,交易实际上可能要复杂得多。创建输出时,发送者可以选择添加条件,这些条件在scriptPubKey中进行了编码。这些条件可能有很大的不同,其中可能包括需要密码,多个特定签名等。

这些脚本可能变得非常长且复杂,并且由于挖矿的交易量较长,并且给网络造成了更大的压力,因此通常需要支付更高的交易费才能引起兴趣。核心开发人员注意到了这一点,并决定创建Pay-To-Script-Hash地址。

你可能还喜欢