比特币 公钥接收地址是私钥还是公钥

揭秘比特币白皮书(3)--当你发送比特币,你在发送什么?
16:07 & & 原创:godsex
比特币发送的原理
大家都知道,人民币上面会有编号,就在右下角,防伪水印的下边边,对吧。
为了便于理解,你可以将比特币当做是人民币上面的那一串编号,但它绝不仅仅是一串编号那么简单。
在比特币白皮书的第二节里,有这样一个图,如下:
这幅图片,其实已经很明了了解释了比特币的意义所在,以及比特币是什么这样的终极问题。
前文我们说了,比特币是一串数字。
那么这串数字代表的是什么,跟人民币右下角的数字编号一样,无意义的数字吗?
当然不是,若是那样,那直接那张纸上面写上&比特币&,然后印上编号不就行了吗,那又和现今所使用的漏洞百出,经常货币超发,通货膨胀的纸币有什么区别?
从上图中可以看出,比特币其实并非一串数字那么简单。
我们经常会说,某人拥有多少比特币,对吧?
从表面上来看,好像比特币是一个私人记账薄,它背后的数字代码里,记录着持有人所拥有比特币的最终数量。
可它并非如此。
我们从上图中可以看出,比特币根本就不是私人记账薄,它甚至从来都记录谁谁谁,拥有多少个比特币。
这串数字所记录的,只是交易记录,它记录所有人的交易记录,然后形成一个巨大的公用记账薄,与银行不同的是,这个巨大无比的,包含所有人交易信息的账簿,是对外公布,所有人都可以查看,之后降到区块链技术,会有详解。
接下来我们详细来说一下比特币的发送过程,如何将比特币从一个人,发给另一个人。
比如今天你发给我五个比特币,那么如同上图所示,你将这条信息与我的比特币地址(即我的公钥)放在一起,输入散列函数,会得到一串数字,然后用你自己的私钥,对这串数字进行加密,得到数字签名,数字签名同时也在账单里头放着。
可是之前我们说了,比特币并不是私人记账薄,或者银行账户那样的东西,你用银行账户汇款给某人,只需要进入网银从自己的户头上划转就行,可是比特币是没有户头的。
既然比特币没有私人户头,它只是记录所有人交易记录的公用账簿,那么你需要做的,就是援引之前的交易记录,证明哪些比特币是你拥有的,然后发给我。
是不是有点绕?呵呵,这玩意儿绕了我好几个月了。
好的,你从公用账簿里援引了几条交易记录,凑够了你要发给我的比特币数量,而且这些被你援引的交易记录,并非只是凑数那么简单,它们同时证明了,在当前这个时刻,你是这些比特币的真正所有人。
然后你用自己的私钥加密,发给了我。
那么我在收到这个信息之后呢,首先,会从你援引的那些历史交易记录里,找到你的公钥,然后用你的公钥,对用你的私钥加密的数字签名进行解密,得到一串数字。
同时,我也用我的公钥(即我的比特币地址),连同你发过来的账单信息,放在一起输入散列函数,也会得到一串数字。
这两串数字如果对的上,那么经过一段时间之后,我会收到五个比特币。
Ps:科普文真累啊,尤其是讲这么复杂抽象的理论,今儿就到这了,改天来讲区块链。
推广不易!
BTC:& &&&1N55rYGhX2ck4n9eW9kvueXfhmEmKMjZip&
LTC:& &&LQqGBp8NvwDp1vfUGVGCwgc4fVQkaMSRXH&
NXT:&& &&&&&&&NXT-TZ6N-PA5K-MKE6-CTH4C&
DOGE: &&&&DKWvtGX8xSu38zrUtzCArxBPBiMPPJiar7&
BC:&&& &&&BMznrE2Shbb8UPPrJtAiYmoZXE1Vsrk9hM&
欢迎赐币!
这两天过节呀,祝大家中秋节快乐呀!每到过节呢国人就特别,特别特别,特别特别特别忙,更新会慢点,包括之前的小说数字谋杀,包括写到的基于区块链技术的超人计划,其实都在我的脑子里,就等着写出来,这需要时间,而我还得上班还得照顾家人还得应付各种事情,其实说这些都没用,喜欢我的文的人你只要相信,我不会太监就行啦,哈哈。
还有,喜欢我文的人呢,欢迎踊跃发言(当然,不喜欢的也欢迎啦,我又不是专业作家必然不会做到完美,可要是你提出建议就是对我的帮助,咱们也能够完成双向互动),比特币是一个新兴的行业,这行业跟随着它惊为天人的底层技术最终会走向至今人类都不曾企及过的辉煌,希望我们都能在它还是一张纸飞机的时候,在上面留下自己的痕迹,否则将来它长成宇宙飞船,你想上也上不去了,这个变化速度将是飞快的,在可预见的未来。
人气:658753
稿酬:3.98BTC
壹比特QQ交流群
壹比特新手交流群:
壹比特比特币讨论:
壹比特LTC新型币讨论:
壹比特挖矿交流群:
壹比特DAC综合讨论群:当前位置: && 知识详情
从比特币钱包TREZOR中提取私钥
来源:360安全播报
阅读:5126次
Reddit网站上有一些人讨论认为,无论TREZOR(比特币钱包独角兽)是否可以被像功率波动和电磁辐射等类似的单侧信道的方式攻击。通常在此类讨论中都会附带有签名代码。对一个信息进行签名,你首先需要输入PIN码。所以当你需要一个物理连接去执行一个单侧信道攻击时,这就没多大用处了。TREZOR然而,公共密钥的生成同样也会有通过单侧信道泄漏某些信息的可能,直到发布了固件版本为1.3.2的TREZOR不再受PIN码保护。因此,我对是否有从公共密钥计算中使用单侧信道去提取私钥的可能性进行了研究。我首先将我的研究成果告知了Satoshi实验室,这就是最新的1.3.3固件版本中要求计算公共密钥时输入PIN码的原因。他们同样采纳了我的建议,在这个固件版本中将会通过对公共密钥、签名和解密的计算降低单侧信道泄漏信息的可能性。这篇文章解释了你如何能够从固件版本为1.3.1的TREZOR中提取一个私钥。我们省略了一些关键步骤,以避免读到这篇文章的人可以轻而易举地做出什么破坏。尽管如此,我们希望这篇文章可以激励你立刻更新你的TREZOR。同样,如果你有密码的保护,即使你是用的固件版本是1.3.1,这种攻击也不会生效,所以你也许会考虑添加这个功能。安装:我发现了一个便宜的示波器,仅需要62欧元。目的是为了测量我TREZOR运行时的功率消耗,从而查看我是否可以检测到哪段代码正在执行或直接提取私钥。为了测量功率消耗,我在测量时将电流通过一个USB线。既然示波器只能测量电压,那么我将一个10欧姆的电阻(0.05欧元)接入了USB线中。因此,通过这个电阻的电压将会恒定成比例地通过电阻。TREZOR的消耗功率也会成一定比例。最初的结果:上面的图像表示,TREZOR开启时的消耗功率。水平轴的时间按秒表示,垂直轴表示电阻的电压。在后台打开时TREZOR是处于连接状态的。计算机检测到TREZOR时将会要求TREZOR提供公共密钥。如果TREZOR没有密码保护,它会被唤醒,从种子中计算出主私钥并实现公钥到私钥的计算。从上面的数据中,我们可以区分出不同的相位变化。正常的变化是由运行功率为90Hz的显示器引起的。显示出的消耗功率可以由白色像素中看到实时变化。因此,当进程条显示出来时达到了顶峰。在图像的中间部分表示私钥正在被计算,你可以看到相位变化非常大,因为进度条快走完了。同样明显的是图像的左边在进程中被清除了。在这个部分功率消耗慢慢地降低了。为了计算主密钥,一个叫PBKDF-2的算法将被执行。在此期间,功率消耗会明显增加。在最后一个TREZOR的公钥计算完之后,我们可以对图像进行放大,并从不同的区域分辨出PBKDF-2算法在哪一阶段对公钥进行了计算。我们放大pbkdf-2算法的曲线。这是pbkdf的第一部分,此时进度条还没有满。在图像的中部你可以看到这个地方功率消耗得很少,我们称之为OLED刷新。你同样可以清楚地看到90Hz的显示器有规律的刷新曲线。每一个循环包括两个顶点,它们是由进度条的上线部分引起的。这是一些小的顶峰,是由PBKDF-2算法执行的SHA-512操作引起的。尽管一个周期曲线已经能够看清了,他们看起来几乎是相同的。一些小的失真是由显示器引起的。你从SHA-512操作的计算图像中几乎不可能发现什么有用的信息。消耗功率的变化主要是由不同的指令、不同的cache丢失或者分支预测错误等原因引起的,而不是输入数据的不同导致的。分析密钥的推导函数我对私钥的推导更加感兴趣。这个部分我将会对密钥推导和生成进行研究。在这个图像中,有四个顶峰,代表着bip32的推导过程。如果你对小顶峰进行计算,你将会发现计算每一个公钥时使用的数字。以下是密钥推导函数的伪代码:hdnode_private_ckd_cached(HDNode&*inout,&int&*i,&int&count)&{
&&&...&some&code&looking&up&the&key&in&the&cache&..
&&&for&(j&=&0;&j&&&&j++)
&&&&&&hdnode_private_ckd(inout,&i[j])
hdnode_private_ckd(HDNode&*inout,&int&i)&{
&&&...&data&=&private/public&key&+&i&...
&&&I&=&hmac_sha512(inout-&chaincode,&data)
&&&inout-&chaincode&=&I[32:]
&&&inout-&private_key&+=&I[0:32];
&&&inout-&public_key&=&scalar_multiply(inout-&private_key)
//&compute&point&private_key&*&G.
scalar_multiply(bignum256&*private_key)&{
&&&iszero&=&1
&&&for&(int&i&=&0;&i&&&255;&i++)&{
&&&&&&if&(privatekey&&&(1&&&&i))&{
&&&&&&&&&//&do&two&bits&at&a&time.
&&&&&&&&&twobits&=&(privatekey&&&&i)&&&3;
&&&&&&&&&//&lookup&twobits&*&2&^&i&*&G&in&a&big&table.
&&&&&&&&&toadd&=&bigtable[twobits][i];
&&&&&&&&&if&(iszero)&{
&&&&res&=&
&&&&&&&&&&&&iszero&=&0;
&&&&&&&&&}&else&{
&&&&&&&&&&&&res&=&point_add(res,&toadd);
&&&&&&&&&}
&&&&&&&&&i++;&//&skip&another&bit
&&&return&
point_add(point&*a,&point&*b)&{
&&&...&some&conditons&that&are&usually&false&...
&&&bn_inverse(b-&x&-&a-&x);
&&&...&some&multiplications&...
bn_inverse(bignum256&*a)&{
&&&...&some&talkative&function&leaking
&&&a&lot&of&random&information&about&the&
&&&input&a&over&my&side-channel&...
}以下的图像表示密钥推导的第一阶段的详细信息,并且与算法的不同运行方式进行对比。第一行和第二行显示了对同样的私钥进行两种不同方式公钥计算的信息。第三行显示了一次对生成不同私钥而进行的公钥计算。你可以从一开始就清晰地看到SHA-512的循环周期,我们已经在pbkdf-2算法的放大图像中看到过了。BIP32算法需要这些去计算子密钥。在这些循环之后,公钥的计算便开始了。为了计算出公钥,scalar_multiply函数将会调用point_add函数来对每一位私钥进行计算。你可以从一个小顶峰中看到这部分算法的开始。大多数的点相加是由bn_inverse函数完成的。这是一个非常有趣的函数,代码是根据输入来执行的,所以不同的输入会产生不同的图像。在算法结束时会有一系列乘法运算,之后下一轮的点相加便会开始。如果你对三行图像进行了对比,你就会发现由bn_inverse函数引起的图像每一轮看起来都不同,但是如果输入的数据相同,那么图像也会相同,就像在第一行和第二行的图像显示的一样。如何恢复私钥我们可以清晰地看到私钥中的每一位数据,这些数据会在点相加时被调用。然而,这些操作所花费的事件太短了以至于我们无法看清过程。所以从波形中无法直接读出位数据。然而,基于&bn_inverse函数指纹的输入足够去提取私钥了。这个想法是第一轮bn_inverse函数的输入只基于最初的两轮私钥中最低数据位的点相加结果。我们可以生成所有可能的密钥最低数据位的值,然后计算TREZOR相应的公钥,并且记录bn_inverse的指纹。这些数据可以与TREZOR受害者的指纹进行对比。我认为,对函数的排序和调整是非常重要的,无论其是否跨过了cache的界限。然而,即便是固件版本不同,指纹已经足够去识别它了。结论单侧通道攻击并不像人们所想象的那样困难。一个简单的示波器和功率分析仪就足够了,这些都称不上是昂贵的实验室装置。你只用记录公钥计算的数据,从中提取私钥。好的一面是,简单的单侧信道攻击可以通过使用一个恒定的时间函数来降低风险。最新的1.3.3固件自从它要求PIN码来计算公钥和使用分支自由算法从私钥中推导公钥之后,便对这种攻击起到了防御作用。
本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
参与讨论,请先
安全播报APP
Copyright & 360网络攻防实验室 All Rights Reserved 京ICP证080047号[京ICP备号-6]比特币的发展现状、风险特征和监管建议 - 百度文库
比特币的发展现状、风险特征和监管建议
2014年第4期学习与探索No.4.2014(总第225期)Study&Explorationserial.No.225?经济学理论与思潮新探索?
比特币的发展现状、风险特征和监管建议
陈道富,王刚
(国务院发展研究中心金融研究所,北京100010)
摘要:比特币是一种依托于互联网的虚拟货币。自2009年1月诞生以来,其在全球的接受程度和交易
范围显著扩大,价格不断攀升,受到众多投资者追捧。但由于法律地位不明确,交易平台存在脆弱性,且易被
洗钱等非法交易所利用,比特币已经引起国际社会的广泛关注,并被纳入反洗钱和消费者保护法律框架。目
前,中国已快速发展成为全球最大的比特币交易市场,近期伴随价格的暴涨暴跌,积聚了不容忽视的投机风
险。比特币的根本特征是非主权超国家性,中国在相当长时间内应否定其货币属性,同时也应正视各种网络
虚拟货币的快速发展,适时调整货币统计口径,重新设计网络支付工具和网络金融的监管、司法保护体系等。
关键词:比特币;虚拟货币;网络金融;风险特征;金融监管
中图分类号:F830文献标志码:A文章编号:1002-462X(2014)04-=0088-05
比特币是一种基于开源的点对点(P2P)软中心化的分布式匿名数字货币。
件,通过执行特定算法产生的虚拟货币。自2009社会公众可以通过两种方式获得比特币,一年1月诞生以来,比特币在全球的接受程度显著是通过在电脑上执行公开的复杂算法生成,俗称提高,交易范围不断扩大,价格快速攀升。但由于“做矿工挖矿”。比特币诞生的头4年,有1000法律地位不明确,交易平台较脆弱,且易被用于洗万个比特币被制造出来,这个数值的半衰期为4钱等非法交易,各国对比特币的态度不尽相同,存年,比特币的总量将于2140年趋近于2100万在较多争议。2013年以来,中国的比特币交易发个,此后数量不再增加。④二是通过比特币中国、展迅速,已成为全球最大的比特币交易市场。近Mt.Cox.tom等专门交易平台用其他货币购买,俗期比特币价格暴涨暴跌,风险敞口迅速扩大,值得称“做商人购买”。
密切关注。比特币具有以下基本特征:一是非主权超国
一、比特币的基本概念与特征家性。比特币是全球网络发展的产物,不属于某
个国家所有。二是去中心化。比特币的发行和支
比特币(Bitcoin,BTC)是一种源代码可以为付没有中央银行等管理部门充当中央控制中心,公众使用的、基于网络的、点对点的匿名虚拟货币其转账支付由网络节点集中管理。比特币系统是(ViaualCurrency)。比特币由中本聪(SatoshiNa通过整个网络的分布式数据块来记录其交易,并kamoto)于2008年设计开发,是世界上第一个去由整个比特币系统共同承担交易风险。三是匿名
性。从技术上讲,比特币的交易各方可以通过随
①截至2013年12月2日,全球共有比特币约1206意变化收款地址来隐藏自己的真实身份。传统的万枚,历史最高值为每枚1206.9美元,2013年11月以来电子货币严重依赖账号系统,必须收集交易双方的平均价位为599美元,以2013年11月平均价格计算,的个人信息来完成交易,而比特币通过公开密钥比特币经济总值为72.2亿美元,折合人民币约440亿元。技术不再依赖账号系统,交易双方可以随意生成
收稿日期:2014-02-1l自己的私钥,随后将与私钥对应的公钥告知付款作者简介:陈道富(197仁),男,副研究员,经济学博人即可收到款项。下次再使用时,可以重新生成士,从事货币政策和金融改革研究;王刚(1976一),男,副一对公私钥进行交易。这种一次一密的做法可以研究员,银监会博士后流动站研究人员,从事金融监管做到完全匿名交易,难以跟踪。四是具有网络健研究。壮性。比特币完全依赖点对点网络,无发行中心。?88?
贡献者:努力的鳞

我要回帖

更多关于 比特币钱包私钥 的文章

 

随机推荐