主页 > imtoken百科 > 词汇表:比特币“交易延展性”

词汇表:比特币“交易延展性”

imtoken百科 2023-10-16 05:07:32

词汇表:比特币“交易延展性”

比特币世界里很多名词都是隐喻,比如挖矿、矿机、矿工等等。这里的“可锻造性”也是一个隐喻,

在讨论“交易的可伪造性”之前,我们先来看看“金币的可伪造性”。一枚金币在使用中比特币实物金币,用锤子砸了几下,不是很圆。这枚金币的基本含金量并没有改变,只是外观与标准金币有些不同。这枚金币至今仍是公认的金币。这就是“金币的可锻性”。

“交易延展性”是指在比特币支付交易发出后、确认前,比特币支付交易可以被修改(准确的说是伪造和复制),用户签名的信息不能更改。

原因是:用户签名​​的内容并不是整个交易的信息,而只是交易信息中的核心重要信息,如发送方、接收方、金额等。在不改变签名内容的前提下用户签名,微调交易信息可以生成新的交易字符串,从而生成新的交易HASH值,即交易ID Transaction ID。由于签名的内容没有改变,所以被修改了。币的“交易”可以通过挖矿程序确认并写入区块链。

有两种方法可以微调交易信息,

首先,修改签名字符串本身。首先,大多数挖矿程序都使用openssl库来验证用户签名,openssl兼容多种编码格式,以及椭圆曲线数字签名算法(ECDSA)本身,签名(r,s)和签名( r,-s) (mod n)) 都是有效的。因此,对签名字符串本身的表示进行了一些调整,仍然是有效的签名。

二、修改交易信息中scriptSig的值。scriptSig 包含签名字符串,scriptSig 本身不包含在签名内容中。scriptSig 做了一些适当的修改,不影响交易信息的验证。

注意,以上两种调整都不会改变签名的核心内容,而是会产生一个新的交易字符串,从而产生一个新的交易HASH值。交易的本质(发送方、接收方、金额)没有变,外观确实变了。

从发出交易信息到最终确认,通常需要10分钟左右的时间。从时间上看,虚假交易信息是在真实交易信息之后产生的。由于挖矿程序的确认过程是一个随机过程比特币实物金币,因此可能会先确认后面产生的虚假交易信息,而将真实的交易信息视为重复支付而丢弃。发送方看到自己发送的真实交易没有通过验证,误认为支付失败(其实已经支付成功),再次发送交易,支付方支付多余的币。

请参阅:

讨论:MT GOX、Bitstamp 暂停比特币提现事件分析

文章:

由于“拒绝服务攻击”,Bitstamp 暂停了比特币提款分析

Mt.Gox 暂停比特币提款分析