天空的雄鹰7星评价
2020-10-26 17:49:06
比特币主要使用椭圆曲线数位签章演算法( ECDSA),这个算法有两个至关重要的特性:第一,只要知道私钥,就可以算出相应的公钥;第二,你用私钥签过名的东西,可以用公钥算一下是不是你签的。
其实,比特币在交易过程中没有钱包,只有交易账单,整个比特币交易就是一大堆交易账单。比如,账单1,从A转到B,转了X比特币;账单2,从B转到C和D,转了X比特币;账单3,从C转到E,转了X比特币…只要下载客户端,就能接收到从比特币成立那天开始的所有账单。因此,只要把所有账单都下载,自然就能知道各账户上应该剩多少钱。每张比特币交易账单都是一段数据,签完名后会发送到全网。
下面把数据结构逆向成易懂的中文解释,具体如下:
FROM(谁发送的)
它包括两部分:一是 Previous Tx,也就是说,花的任何一笔钱都应有人转给你,需要出示账单的ID;二是 Script Si,就是把单子用你的私钥做Hash(哈希算法),只有你能做这个Hash。
TO(谁接受的)
这包括两部分:一是Vae,即要发多少;二是 Script Pub Key,即对方的公钥,比特币账户就是一段公钥。
签完单子后,开始往全网发送。怎么发呢?比特币通信很简单,可以类比成iRC频道。跟普通的IRC不同的是,其客户端是一台IRC服务器,启动客户端的时候,会接收到周围的有公网P的客户端地址,也就是“服务器”列表。此列表会不断地刷新,都是其他比特币用户,你在这个IRC“喊”句话,周围的人都会听到,进而扩散到全世界。
把签单发送到全世界后,收到单子的客户端就会校验这个单子是否正确。比如,校验你的签名,是不是你发的;校验你是否有那么多钱。计算后如果发现这笔交易没问题,基本上就算转账成功。现在,即使对方接受了比特币,但要想花,也得有那个地址(公钥)对应的私钥如此往复。这就是比特币的交易原理。
蛛丝马迹liu7星评价
2020-10-25 17:58:49
我们来举个例子,比如你在水果摊上买了10块钱的苹果,你要通过支付宝转账10元给水果摊摊主, 这其中的过程包括:
1)你从自己的账户创建转账给水果摊10元的交易动作
2)你输入密码
3)支付宝在收到你的密码确认后,从而知道这是你自己本人在操作
4)支付宝确认你的帐号里真的有至少10元
5)确认第4)步后,支付宝将钱从你的帐号里划拨到摊主的帐号里。
在以上的过程中, 涉及交易中最关键的几个信息确认: A) 交易的发起方是谁,别人有没有可能恶意的把你的钱往外撒? B)交易的发起方是否真的具有充足的额度 C) 交易的接受方如何保证没错,别人有没有可能冒充认领这个钱。
以上的ABC三个问题,之所在你日常的支付中,你没有仔细的思考过,是因为支付宝帮着做了这些事,而你相信支付宝是一个有信用的第三方公司,不会对你造成任何伤害。
如果现在咱们把支付宝从这里拿出去,不再具有一个中央节点来保证这三个问题,那么这些该如何解决呢?
比特币正是这样的一个去中心化的分布式的体系。 网络中的每个节点都在扮演着『支付宝』的角色。不过你肯定会好奇:我们这些普通人,哪里有那么多的信用背书可以来做这件事呢?
这正是比特币的厉害之处, 中本聪用密码学解决了这个问题。