主页 > 比特派钱包和imtoken哪个安全 > 比特币第一笔交易 区块链简析

比特币第一笔交易 区块链简析

区块链简析

区块链是以比特币为代表的数字加密货币体系的核心支撑技术。 区块链技术的核心优势是去中心化,可以在分布式系统中实现节点之间不需要相互信任,实现基于去中心化信用的点对点交易、协调和协作,从而解决问题中心化机构存在的高成本、低效率、不安全的数据存储问题。 近年来,随着比特币的快速发展和普及,区块链技术的研究和应用也呈现爆发式增长。 它被认为是继大型机、个人计算机、互联网和移动/社交网络之后的第五种计算范式。 颠覆性创新是人类信用进化史上继血缘信用、贵金属信用、央行纸币信用之后的第四个里程碑。 区块链技术是下一代云计算的雏形,是边缘计算结果溯源的重要解决方案。 有望像互联网一样,彻底重塑人类社会活动形态比特币第一笔交易,实现从当前的信息互联网向价值互联网的转变。

在深入了解区块链之前,需要了解数字签名和公钥私钥的概念 1 数字签名

在这里,我们先来解释一下签名。 签名是在信息后面加上一段内容,可以证明信息没有被修改过。 怎样才能达到这个效果呢? 通常,哈希值是通过对信息进行哈希计算得到的。 注意这个过程是不可逆的,也就是说不能通过哈希值得到原始的信息内容。 信息发出时,将哈希值加密后作为签名与信息一起发送。 接收方收到信息后,会重新计算信息的哈希值,并与信息附带的哈希值进行比较。 签名中的哈希值可以用公钥解密。 如果一致,说明信息内容没有被修改。 ,因为这里的哈希计算可以保证不同的内容会得到不同的哈希值,所以只要修改内容,根据信息内容计算出的哈希值就会发生变化。

2 公钥和私钥

比特币私钥(private key)、公钥(public key)、公钥哈希值(pubkeyhash)、比特币地址(address)。

公钥和私钥由椭圆曲线加密算法生成。 私钥可以用来推导出公钥,反之则不行。 这也是

使用您的私钥,您可以签署文本。 如果别人拿了你的公钥,他们就可以根据签名来验证你是否有私钥。 这就是你证明你有存款的方式。 为了安全起见,应该隐藏公钥。 于是对公钥进行哈希处理,生成公钥的哈希值并计算出该哈希值的比特币地址:

公钥哈希值=RIMPED160(SHA256(公钥))
比特币地址=*1*+Base58(0+公钥哈希值+校验码)
校验码=前四字节(SHA256(SHA256(0+公钥哈希值)))

可见比特币地址和公钥的哈希值是等价的,两者可以互相推导,但是公钥的哈希值只能通过公钥计算出来(不能反推) ).

比特币交易风险_比特币第一笔交易_比特币钱包交易未确认

验证时需要提供签名和公钥,计算出公钥哈希值并与比特币支付脚本的公钥哈希值进行比较,最后验证签名。 这样可以确保公钥不会出现在支出脚本中。

3笔交易

我们从中本聪的原文得知:我们将电子硬币定义为数字签名链(比特币定义为数字签名链,是一串数字信息,在传输过程中必须防止被修改)。 我们直接看下图中的最后一笔交易,也就是图片最右侧的那笔交易。 我们假设这是一个真正的比特币。 在网上,这个比特币的最后一笔交易就是这笔交易。 可以看出,这枚比特币目前属于所有者3。那么所有者2如何将这笔比特币支付给所有者3呢? 其实定义已经说得很清楚了,图也很清​​楚了,就是owner 2持有的比特币的交易链,连同owner 3的公钥,进行随机hash,然后随机散列的值用用户2的私钥进行数字签名。最后比特币第一笔交易,这个数字签名与比特币一起发送给所有者3,即连同更新的交易链。

此时所有者3收到比特币和附带的数字签名,用所有者2的公钥对数字签名进行解密,得到上述哈希值。 所有者3再将手中的比特币交易链信息,连同自己的公钥,随机哈希一下,看能否得到相同的哈希值。 如果相同,他可以知道两件事:

1.这枚比特币确实来自拥有者2
2.这枚比特币的交易链信息未被恶意篡改

所以交易链就是比特币,比特币就是交易链。

比特币交易

交易是将比特币从一个地址转移到另一个地址。 由于所有比特币交易记录都是公开的,因此可以查出哪个地址拥有多少比特币。 因此,付款人是否有足够的比特币来完成交易是很容易验证的。 比特币协议规定,在申报交易时,转出比特币的一方除提供交易金额外,还必须提供以下数据:

验证交易:由网络中的其他节点验证它需要三个步骤。

比特币第一笔交易_比特币交易风险_比特币钱包交易未确认

上一笔交易和下一笔交易之间会形成一条“无形的交易链”:

交易形成一个链,其中最新交易的输入对应于先前交易的输出。 来自较早的交易)。

用一张图来说明什么是“交易链”:

真实的比特币交易链如下:

在这里插入图片描述

区块链的整体架构如下:

在这里插入图片描述

区块链技术的基本架构模型如上图所示。 一般来说,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳技术; 网络层包括分布式组网机制、数据传播机制和数据验证机制; 共识层主要封装了网络节点的各种共识算法; 激励层将经济因素融入到区块链技术体系中,主要包括经济激励的发行机制和分配机制; 合约层主要封装各种脚本、算法和智能合约,是区块链可编程特性的基础; 应用层封装了区块链的各种应用场景和案例。 在该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励以及灵活可编程的智能合约是区块链技术最重要的方面。 代表性创新点。

区块结构由两部分组成,包括区块头和区块体:

每个区块都有自己的Hash值,那么每个区块的Hash值是怎么得到的呢?

CryptoJS.SHA256(index + previousHash + timestamp + data(Merkle) + nonce)

比特币钱包交易未确认_比特币交易风险_比特币第一笔交易

在这里插入图片描述

function isValidHashDifficulty(hash, difficulty) {
for (var i = 0, b = hash.length; i < b; i ++) {
    if (hash[i] !== '0') {
        break;
    }
}
return i >= difficulty;
}

比特币交易风险_比特币钱包交易未确认_比特币第一笔交易

let nonce = 0;
let hash;
let input;
while(!isValidHashDifficulty(hash)) {     
  nonce = nonce + 1;
  input = index + previousHash + timestamp + data + nonce;
  hash = CryptoJS.SHA256(input)
}

5 去中心化共识机制(POW、POS、DPOS、Algorand)

(1) POW共识算法:

比特币第一笔交易_比特币钱包交易未确认_比特币交易风险

6 激励机制

在区块链中,一个区块的第一笔交易是一种特殊的交易(Coinbase),它给予区块的创建者一定数量的奖励,即比特币,增加了节点支持网络的积极性,提供了一个初始分配比特币进入流通的方法,由于没有中央机构发行硬币,稳定地添加一定数量的新硬币,类似于金矿工如何花费资源将黄金添加到流通中。 在 POW 中,消耗的资源是 CPU 时间和电力的消耗。

激励也可以通过交易费用来完成。 如果一笔交易的输出值小于它的输入值,差额就是交易费,它被添加到包含该交易的区块的激励值中。 一旦预定数量的货币价值进入流通,奖励机制就可以完全转向交易费用,完全独立于通货膨胀。

7 双花和篡改

在这里插入图片描述

在上图中,攻击者想要替换的合法交易在黄色块中。 在步骤 2 中,攻击者生成带有魔鬼角图标的灰色块,代表恶意双花交易。 如果攻击者能够使网络中的其他节点放弃黄色块而选择灰色块,那么攻击就成功了。 为此,攻击者需要比网络其余部分扩展合法分支的速度更快地扩展其区块链分支。 起初,攻击者很幸运,在第 3 步添加了橙色块。这使得恶意链与诚实链一样长,但请记住,诚实节点将继续在绿色块之上构建新块,因为绿色节点已经存在第一步,即网络中的其他节点首先收到绿色块。 问题是谁来建造下一个区块。 在场景 4a 中,攻击者先发现另一个区块,攻击成功。 遵循最长链规则的诚实节点转而将灰色和橙色块识别为有效,放弃之前的官方黄色和绿色块。 在场景 4b 中,诚实节点扩大了领先优势。 我在这里显示了攻击者的链变灰,但攻击者不一定会在这里失败。 它可以根据需要持续添加块——只有当诚实节点已经建立了 6 个块的领先优势时,它才会被决定性地击败,这样攻击者就没有追赶的希望了。 事实上,攻击者想要修改攻击节点几乎是不可能的,因为大部分节点都是诚实节点,挖矿的速度和能力都远大于攻击节点。 只有当攻击者控制了 51% 的算力时,才有可能修改区块。

结论

区块链具有分布式存储、时间序列数据、不可篡改和伪造、去中心化、自动执行智能合约、安全和隐私保护等显着特性,使得区块链不仅适用于数字货币,还适用于金融、量化交易等领域,5G和边缘计算的应用和成熟有望解决区块链算力消耗和高时延问题。

参考;

1.Nakamoto S. 比特币:一种点对点的电子现金系统[J]。 2008.

2.区块链是如何运作的

3.比特币如何运作

4.袁勇,王飞跃。 区块链技术发展现状与展望[J]. 2016年