今天,我们来学习:比特币的加密与交易
每个人的比特币账本都有一个密码,用更专业的名词来说,这个密码叫做私钥,这个私钥是比特币钱包为每个账本单独生成的。有人会问了,如果持有账本的人太多,会出现两个人私钥一样的情况吗?当然不会了,比特币最多可以生成2的256次方这么多个私钥。可能大家对这个数的大小没有概念,将其转换成十进制的话,私钥大约有10的77次方这么大,而咱们可观察的宇宙也只含有10的80次方个原子,二者仅相差1000倍。所以哪怕银河系的每个行星上都住满了人,每个人都手持一个比特币账本,每个账本的私钥也不会相同。
Galaxy Digital Q2财报:亏损收窄至4600万美元,资产管理收入环比增长619%:8月8日消息,Galaxy Digital Holdings Ltd.表示,其第二季度亏损收窄。该公司公布Q2净亏损4,600万美元,合每股亏损0.14美元,上年同期为亏损5.547亿美元,合每股亏损1.74美元。
该公司报告称,本季度交易收入为5950万美元,比第一季度下降了54%。该公司本季度的资产管理收入为3380万美元,较上一季度增长619%,主要受风投平台投资净实现收益增加的推动。[2023/8/8 21:32:28]
这个私钥是每个人自己才知道的,千万不能告诉别人。如果让别人知道了私钥,无异于将银行账户的密码告诉了别人。
仅仅有了私钥还不够,想让别人向你的钱包里转账的话,你还需要一个用来进行转账的公开地址,专业术语叫做公钥。公钥就像是银行卡的账户号码。不同的是,银行的账户是银行随机分配给用户的,用户拿到银行卡之后,可以在ATM机上设置新的密码。
SushiSwap的BentoBoxv1合约遭受攻击,黑客获利约2.6万美元:金色财经报道,据区块链安全审计公司Beosin监测显示,SushiSwap的BentoBoxv1合约,据Beosin安全技术人员分析,该攻击是由于Kashi Medium Risk ChainLink价格更新晚于抵押/借贷后。在两笔攻击交易中,攻击者分别flashloan了574,275+785,560 个 xSUSHI, 在抵押和借贷之后,LINK Oracle中的kmxSUSHI/USDT 的价格从下降了16.9%。通过利用这一价格差距,攻击者可以调用 liquidate()函数清算从而获得15,429+11,333 个USDT,Beosin Trace追踪发现目前被盗资金还在攻击者的地址上:0xe7F7A0154Bf17B51C89d125F4BcA543E8821d92F。[2023/2/10 11:58:50]
比特币钱包账户恰恰相反,首先是有了私钥,然后根据私钥再生成公钥,而且生成公钥的过程,用户是参与不了的。
马斯克:想知道2009年美联储加息而不是降息的话会有怎样的结果:金色财经报道,特斯拉CEO埃隆·马斯克表示,想知道2009年美联储加息而不是降息的话会有怎样的结果。利率越高越难降下来。[2023/1/14 11:11:48]
公钥是如何产生的呢?这就涉及到了加密学的知识。
为了更明白地解释这个问题,我们岔个话题。
十七世纪,一位法国律师,同时也是一位业余数学家和物理学家。在阅读一本拉丁文的数学书时,在书的空白处写了一道命题。并宣称找到了一种美妙的证明,可惜空白太小,写不下。此后的三百年里,无数聪明人都试图证明这个定理,可惜都没有成功。可能有人猜到了,这位学者叫做费马,这个命题就是著名的费马大定理。费马的父亲是法国南部有名的批货商,费马这位“业余”数学之王,堪称“江南皮革厂”老板的好儿子。
派盾:又一套利者通过Ankr漏洞获利约350万美元,获利资金已转入币安?:12月2日消息,安全公司派盾在推特上表示,一名社区贡献者发现0x9bae开头地址通过Ankr漏洞获利约350万美元,且已将获利资金,约187万枚Binance-Peg BUSD与163万枚Binance-Peg USDC转入币安。
此前消息,0x8d11开头的地址借助Ankr漏洞用10枚BNB换得1550万枚BUSD。[2022/12/2 21:18:09]
时间到了二十世纪末尾,费马大定理终于被数学家怀尔斯证明了。而怀尔斯所用的数学工具之一就是椭圆曲线。而诞生于二十一世纪之初的比特币和区块链,恰恰是利用了基于椭圆曲线的加密算法,不得不让人感叹历史事件的巧合。
言归正传,椭圆曲线加密算法有这么一个特性,通过椭圆曲线乘法可以从私钥计算得到公钥,但这是一个不可逆的过程。也就是说,就算有人拿到了公钥,他是无法反向算出对应的私钥是什么的。
有了公钥之后,你就可以很方便地将公钥公布出去,这样别人就可以往你的钱包转账了。
用比特币钱包的密码和账户和我们日常使用的银行卡的差异,刚才我们讲过了。那比特币的交易和我们平常的交易会有不同吗?
我们知道,银行卡的支付系统是基于账户模型的,每个人都有一个账户,交易就是在账户中做数字的加减法。为了保证账户余额准确,就需要保存他过去的所有交易数据。所以,如果要算账户余额,把之前所有的交易数据做加减法就能算出来。
而比特币不是基于账户模型,引入了输入和输出的概念。
每笔比特币交易有资金来源,专业术语称为交易输入。也都有资金去向,专业术语称为交易输出。所有的资金来源都来自前面一个或者多个交易的输出,就像接水管一样,一个接一个,此出彼入,此入彼出,生生不息,钱就在交易之间流动起来了。也就是说,每一个比特币我们都能通过交易输出追溯到它的起源。
我们知道,通过银行进行转账,如果银行不收转账手续费,付款方付出的资金会和收款方收到的资金相等。和银行转账类似,一笔比特币的交易输入的比特币金额会略小于交易输出的比特币金额,其差值为比特币交易手续费。比特币的输出有一个特别之处,一旦一个输出被创建出来,那么这个输出就只能一次性都花出去。
听到这里,就会有人问了,假如A有10个比特币,但是只想将1个比特币转给B,是不是就没有办法?当然不是,在这笔交易中,比特币钱包会自动创建两个输出,一个输出是给收款人B转1个比特币,另一个输出是给A自己转9个比特币,这里忽略了交易手续费。如果下次再交易的话,A的交易就是一个9个比特币的输入了,而B的交易就会是1个比特币的输入。以此类推,这个过程就好比记账一样,每个账目都有源头和去处,保证了账目的清晰和准确。
说个更直白的例子,比特币的交易类似于现实世界中直接用支票进行交易。如A写给B一张100元的支票,其中A是输入,B是输出。当B需要给C付50元时,B不是去银行兑现支票然后付款给C,而是直接写两张新支票,一张50元给C,一张50元给自己,再将原来100元的支票作废,即完成一次非基于账户模型的支付。
比特币的这种账户模型被称为UTXO模型,即只记录未花费的比特币输出。采用这种模型的话,在验证一笔交易是否有效时,效率要快很多。比如要验证某人确实有10个没有被花费掉的比特币,只需要核查他在账本上最近一次的交易记录,而不需要从账本建立之初的交易开始核查。
比特币的私钥和公钥,以及比特币的交易机制,保证了比特币可以在不同人之间进行流通。
为了存储每笔交易的信息,比特币在存储方面又做了哪些工作呢,咱们且听下回分解。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。