主页 > imtoken最新下载 > 比特币钱包转账流程分析

比特币钱包转账流程分析

imtoken最新下载 2023-01-17 08:02:18

比特币钱包到底是什么?

你可能知道比特币是区块链上的账本。 那么让我们先来看一个,它长什么样?

因为比特币的账本是完全公开的,我们随便找一个钱包地址看看:

1DrtPCLLBbeBwHKPKfgq94LT7AGWRK8zzL

经典比特币的钱包地址都是1开头的,最近看到3开头的地址就是隔离见证(SegWit)的地址。

有很多网站(比如blockchain.info)提供区块查看,我们来看看这个钱包里都有什么

image.png

可以看到这个地址上有135笔交易,一共收到了139.2个比特币,下面列出了该地址上的所有交易。 该地址的当前余额为 0.560741,此余额是计算出来的,没有记录在任何地方! 也就是说,你的钱包里有多少钱,并没有存放在任何地方。 当你转账时,矿工会检查你是否有足够的“余额”来支持这笔交易。 实际上,它会查看您地址之前的所有“交易”,逐一增加和减少。 这其实就是比特币的设计。 一个非常聪明的地方。 因为如果交易没有被打包(记账),或者打包后整个区块被丢弃怎样从冷钱包转出比特币,你不用担心,转账失败后钱就没了。 没有交易,你的“钱”自然会回来。

任何知道地址的人都可以看到这个钱包里有多少钱。 所以,我们可以简单的认为:

钱包=地址(可查看)+私钥(可转账)

如果你只是想通过钱包APP方便的查看你在多个地址的比特币,完全不需要导入私钥,可以降低资产被盗的风险。 私钥是什么?

您可以将钱包想象成一个透明的玻璃保险箱。 任何人都可以看到里面有多少钱,每笔钱从哪里来,以前的钱去了哪里。 那么私钥就是保险柜的密码,任何人只要知道密码就可以打开,把里面的钱转走。 你可以看着钱转移到另一个玻璃柜里,但没有办法。

记住:任何时候都不要把私钥给任何人!

比如你用了一个钱包APP,导入了自己的私钥,你怎么知道这个APP不会背着你把私钥发到别的地方? 很难放心。

所以我只敢相信3种钱包:

从官方渠道下载的知名钱包,如从Google Play下载的blockchain.info钱包

不要去各种小软件市场下载,即使是中国一些大公司的软件市场也不要下载。 许多黑客会在普通钱包中植入特洛伊木马。 你看起来像 blockchain.info,但里面有木马可能会窃取你的私钥。

冷钱包

也就是钱包所在的机器永远不会联网,所以我才敢安全的把私钥存放在里面。 冷钱包没有联网,里面的钱怎么转? 其实很简单。 比如你用旧手机当冷钱包,下载一个钱包APP,然后删除手机里记忆的所有WIFI,拔掉SIM卡,让手机不能上网(不要只是飞行模式) ,那是不安全的)。 这个钱包APP可以用手机的摄像头扫描二维码,然后用私钥加密一笔交易,然后生成交易信息的二维码,用联网的手机扫描完成转移。

开源钱包必须在您可以放心的环境中运行。

例如,我将自己使用提供的钱包。 这是一个网站,但不是在线钱包。 它的代码是开源的,你可以在github上下载。 它是完全可以在浏览器中运行的纯前端(javascript)钱包。 所以你可以看看它的代码有没有恶意逻辑,它也可以在离线电脑/手机的浏览器中运行。

比特币转账是如何完成的?

那我们就用coinb.in来演示比特币转账是如何发送的。

打开左起第一个菜单是New(新建),选择Transaction(转账)

image.png

一次比特币转账需要由两部分组成:Input(输入)、Output(输出)

也就是说,如果一笔转账是从A到B,那么A就是输入,B就是输出。

image.png

让我们先看看输入。 我们需要填写的是一些Transaction ID,不是钱包地址。 之前我们说过怎样从冷钱包转出比特币,比特币钱包里有多少钱是不存在的,所以你要转给别人 钱必须先来自于之前的交易(只有别人转给你,你才能给别人钱). 所以,比特币的钱不会无根生,一定有先后顺序。

然后,我们先填写一个随机的交易ID,然后填写交易的金额(Amount),假设是1.1 BTC,然后填写输出(Output)。

image.png

输出结果比较容易理解,转了多少钱到哪个地址(Address)。 一笔交易可以有多个输入和多个输出。 比如这次我们就随便找一个地址,填入1个BTC。 下面它会自动为你计算。 刚才输入是1.1BTC,现在输出是1BTC。 那么你的交易手续费(矿工费)相当于支付了0.1BTC。

点击提交,可以看到绿框中生成的交易数据。 注意,这只是交易的信息,此时并没有发生交易! 刚才没用私钥,地址和交易ID都是随便写的。 绿框右上角有一个二维码按钮,点击后会出现一个二维码。 也就是说,我们可以用自己的冷钱包手机扫码获取这笔交易的数据,这样我们就可以用私钥加密签名了。

然后,我们就可以进入冷钱包中担保的网页(假设交易信息是通过扫描二维码复制的)。 点击菜单中的登录,即可使用您的私钥加密刚才的交易信息。 这意味着您已批准交易。

image.png

而这个菜单按钮旁边的Broadcast(广播)可以将你签名后的交易信息从冷钱包中重新生成为二维码,通过扫码传送到联网的电脑上,最后广播到比特币网络中。 全世界的矿工都可以收到这笔交易。 大家首先会验证这笔交易是否合法(比如输入中是否存在“双花”,说白了就是之前花过钱,转账余额不足)。 如果一切正常,则打包。

当您的交易被多次打包确认后,即可认为转账交易成功。 因为全世界都见证了这笔交易,无法再撤销。

这是最原始、最安全的钱包使用方式,但也是最“麻烦”的方式。 如果您对当前环境的安全性有信心,这一切都可以在线完成。 而coinb.in也提供了更简单的“钱包”管理方式。 您只需要使用自己的邮箱地址和密码(密码不是私钥),它可以帮您通过算法自动生成地址和私钥,完成钱包管理。

image.png

例如,如果我只是输入一个电子邮件地址和密码(2 次确认),只需单击提交。 这不是“注册账号”,因为你可以拔掉网线,关闭WIFI来完成这个操作。 没有地方可以为您存储您的密码,您将永远无法找回它们。 如果您忘记了您的密码并且不备份您的私钥,那么其中的钱就会丢失。 (说“丢”有点不妥,应该是你能看到钱在,但你永远不能花——转给别人)

image.png

在这个钱包里,大家再熟悉不过了,填哪个地址转多少钱,给多少矿工费。 点这里发送才是真正的发送! 因为它会自动帮你完成签播操作。

比特币转账需要多长时间才能到达?

这是很多人不习惯用比特币转账的地方。 又不是用支付宝转账,哎呀! 对方一键接收。 因为支付宝是中心化服务,阿里说你转就转,支付宝服务器挂了就没了。

您可以在线查看比特币网络中当前有多少未确认的交易。 目前交易量超过4万笔。 半个月前堵车的时候,人数是16万。 也就是说,目前还有很多交易还没有被确认和打包。 访问这里,可以看到下方biu~biu~biu不停的交易正在广播中。

所以你的交易广告全世界的人都能听到,但是矿工需要打包成块(相当于记在账本上)才算有效。 一般在这个区块之后,在其“链”上打包了3个以上的区块(通常人们说的是6个确认),对方才承认账户已经收到。

这个时间不确定。 这取决于几个因素:

比特币网络预计每 10 分钟出一个区块,但也不是绝对的,但有可能现在的矿工运气不好,一个小时不出块(或者运气好挖出一个区块)等一下)。

你给的矿工费也将决定速度。 因为未打包的交易非常多,所以矿工必须按照支付的金额进行排名。 交的钱越多,排名就越高,先打包的可能性就越大。 如果给的太少。 . . 呵呵,有可能永远轮不到你。 那么你的交易一直处于未确认状态,不过放心,钱是不会丢的。