当前位置:首页 » 比特币问答 » btc的公钥地址与eth公钥地址

btc的公钥地址与eth公钥地址

发布时间: 2023-06-12 15:11:24

比特币的地址、公钥、私钥,你都了解了吗

了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥,下面我们一个一个来解释。

地址,就好比是银行账(卡)号,在创建数字钱包后就会自动生成,简单来说,就是创建钱包的时候,先产生一对私钥和公钥,然后公钥通过一套算法生成地址,这个地址实质上是一串字符,比如。

像银行账(卡)号可以用来收款一样,比特币地址也可以用来接收比特币。

这个比特币地址不单单给你转币的人知道,连整个比特币网络的人都能查看,可以说,全球所有用户的地址都可以被任何人知道。为什么这样说呢?因为比特币本质就是一个大型的公开账本,所有交易对所有人都是可见的。而交易记录中包括了交易流水单号、发币人的发币地址、收币人地址、发币人的找零地址。

私钥,可以看作是银行密码,是一串很长的由钱包生成的随机数,比如, LBB9ZXMCJ。私钥是唯一能够证明你拥有的比特币是属于你的,也只有用私钥才能转账、交易和使用数字钱包里的比特币。

我们都知道了,银行密码绝对不能泄露给别人,私钥也一样,打死也不要告诉他人,否则你的比特币很容易就被转走。银行的钱被盗了,因为有国家监管和第三方信用,还有可能被追回,但比特币是去中心化的,没有第三方,自己的币只能自己负责看管,丢了,或被他人转走了,就永远拿不回来了。所以千万千万不要把私钥告诉他人,不要把私钥保存在手机或者电脑上,不要通过网络传输你的私钥,那怎么办?记住了,要用笔写在纸上,写两到三份分别放在不同的地方,保管好。

公钥,顾名思义,是可以公开的,也是像地址和私钥一样,是一串长长的字符。公钥由私钥通过椭圆曲线加密算法生成,通过私钥可以算出唯一一个公钥,但公钥不能逆向推导出私钥。

那到底比特币地址、公钥、私钥在交易中起什么作用的呢?

首先,钱包通过加密算法把私钥加密成字符串(也叫作签名),然后把这个字符串,和公钥一起写到交易信息里,再发给矿工。矿工收到信息后,就会将签名、公钥写入一个验证函数,如果得出的结果为“true”,那么这个交易会被确认为真实有效,就能被验证通过。而结果为“false”,则说明这笔交易存在问题,不能被验证通过。

通过以上浅显的文字,希望能帮到你对比特币的地址、公钥和私钥有一个初步的了解吧!感谢你的阅读!

⑵ ​入门科普:比特币的私钥、公钥和地址是什么

上一篇,我们讲到了币圈要注意防范传销、洗钱等一类的骗局,保护好自己的资产。这一篇,我要告诉大家,进行比特币交易时,都会用到的私钥、公钥与地址,如果你还不了解它们的重要性,随便交易,很容易弄丢自己的资产。那什么是私钥、公钥与地址?三者之间有着什么样的关系呢?

01

私钥

1.导出:

创建钱包后,输入密码可以导出私钥,私钥由很长的字符串组成,且是随机生成的, 一个地址只有一个私钥。

2.用途:

用于控制交易时的签名,拥有私钥才能控制账户的资金,相当于银行账户的交易密码,用来解密公钥加密的信息。

3.注意事项:

私钥是用来证明这笔交易的发起人确实是比特币的所有者。所以 私钥一定不能曝光,私钥一旦泄露,你的比特币将会有被盗的风险。 用户必须保管好私钥,防止泄露或丢失。

02

公钥

1.导出:

公钥是由私钥通过算法生成的,使用了椭圆曲线加密, 通过私钥可以计算出唯一的公钥。

2.用途:

公钥是用来验证交易的签名,一个私钥签名的数据,只有对应的公钥才能对其进行验证,公钥相当于银行账户,公开后无风险。

03

地址

1.导出:

地址由公钥生成的,使用了哈希运算。创建钱包后会生成一个以“0x” 开头的 42 位字符串,这个字符串就是钱包地址,一个钱包对应一个钱包地址, 地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。

2.用途:

由于公钥太长,在交易中不方便使用,所以就有了地址,地址是由公钥生成的,地址相当于银行卡号,用来发送和接收比特币。

3.注意事项:

平台上不同代币的转账收款地址一般都不同,因此,转币到交易平台前一定要确认好地址。

总结

私钥 → 公钥 → 钱包地址 (不可逆)

私钥用来签名交易,公钥用来验证私钥签名的交易,地址用来收款。

公钥、私钥以及地址都在比特币交易中起到了不同的作用,所以才能顺利的完成一笔数字货币的交易。 所以用户必须好好保存,防止泄露重要信息。

区块链私钥、公钥和地址是什么关系

区块链私钥,公钥和地址三者之间的关系是私钥生成公钥,公钥转化成为地址。所以私钥是最重要的。这三者之间是不可逆的,地址不能生成公钥,公钥也不能转化成为私钥。

再次是区块链地址,它通常是由26至35个字符的字母和数字字符串组成,区块链地址主要来源于公钥,区块链地址相当于我们平时使用的银行卡卡号,是可以公开给任何人的,没有安全限制,主要作用就是用于接收和发送区块链上的数字资产。

区块链技术现在处于初期发展阶段,但因其具有去中心化、安全性、不可篡改等特性,今后的生活工作中可能会产生杀手级别的落地应用而备受各国重视。本文仅供参考,欢迎留言讨论。

⑷ 【猫说】打开比特币钱包的两把钥匙:私钥、公钥

如果不了解区块链,不知道公钥、私钥这些最基本的概念,拥有钱包对币圈新人来讲,就好像拿手指头去捅鳄鱼的脑袋,风险极高。此文谨献给币圈新朋友,帮助大家梳理比特币钱包的基本常识。

区块链观察网在 《区块链是什么》 一文中提到过,在区块链世界里,每个人都拥有两把独一无二的虚拟钥匙:公钥和私钥。

“公钥”,可以简单理解为银行卡,这是可以发给交易对方看的,银行卡号则相当于比特币转账中要用到的“地址”。

讲得专业一点,公钥就是一个65字节的字符串,多长呢?130个字母和数字堆在一起。公钥太长的话,第一交易起来忒麻烦,第二干嘛非得暴露公钥的真实内容呢,这就好像把自己的银行卡拿出来到处给人看。因此,我们现在看到的地址,就是经过摘要算法生成的、更短一点的公钥。

对方知道你的地址才能给你打钱;而且,任何人有了你的地址,都能在Blockchain.info官网查询这个钱包地址交易了多少次(No. Transactions),收过多少个比特币(Total Received),以及钱包里还剩下多少个比特币(Final Balance),如下图:

“私钥”,就像打死不能告诉别人的银行卡密码。它是一串256位的随机数。因为让非IT用户去记住这个满屏0 和 1的二进制私钥是特别不人道的事儿,所以对这一大串私钥进行了处理,最后私钥就以5 / K / L 开头的字符串呈现在我们面前。

公钥、私钥、地址之间的关系是:

1)私钥 → 公钥 → 地址

私钥生成唯一对应的公钥,公钥再生成唯一对应的地址;

2)私钥加密,公钥解密

也就是说,A使用私钥对交易信息进行加密(数字签名),B则使用A的公钥对这个数字签名进行解密。

其中,私钥是极度私密的东西。如果你把私钥发给别人,现在就开始写一部长篇小说吧,名字都帮你想好了,就叫《永别了,比特币》。

如果是李笑来老师(网传拥有数十万个BTC)这类币圈大佬,强烈建议使用冷钱包(离线钱包),分开储存;电视里的富豪在银行有自己的保险箱,有条件的话也可以参考。

当时,上述方法是安全系数最高的做法。但作为韭菜接班人,暂且假设我们最初只用闲置资金、持有少量的比特币,比如,小于5个。那么,动辄上千成本、操作复杂的冷钱包就有点杀鸡用牛刀了;因此,区块链观察网把选择范围限定在交易所和轻钱包2项:

在交易平台上买了(极少量)比特币,可以先不提出来,继续存在交易所。这种方式最适合币圈新手。在没有深入了解每种加密货币背后的故事之前,鲜嫩的我们总是充满了好奇,而放在交易所的比特币,可以直接进行币币交易,交易简单快捷,不用经数字钱包导来导去;另一方面,平台上币种齐全,可以满足我们的尝鲜心理,方便随时小试牛刀。

而且像火币、币安(已被墙)这些大型交易所,不仅安全等级比某些专为收割韭菜而生的小平台高很多,而且操作简单,很快就能上手,只需保管好自己的账号、密码就行了(再安全一级的话,开启谷歌二次验证),其他的就交给平台。

值得注意的是,存在交易所上的资产并不完全属于自己,更确切地说是借给平台的,我们在资产那一栏看到的数字,相当于平台向我们借钱而打的白条。此外,交易平台本身不是去中心化的,如果安全措施不到位,用户的账号密码有可能被黑客拿到。

轻钱包是相对于“全节点”钱包来说的。

全节点钱包,比如 Bitcoin-Core(核心钱包),运行时需要同步所有区块链数据,占用相当大内存空间(目前至少50GB以上),完全去中心化;

轻钱包虽然也依赖比特币网络上其他全节点,但其仅仅同步跟自己有关的交易数据,基本实现去中心化的同时,也提升了用户体验。

根据不同的设备类型,我们把轻钱包分为:

1)PC钱包:适用于电脑桌面操作系统(如Windows/MacOS/Linus);

2)手机钱包:适用于安卓、iOS智能手机,比如比太钱包(以太也有PC端);

3)网页钱包:通过浏览器访问,比如上文提过的blockchain网页版。

轻钱包操作比较简单,一般是免费获取。申请钱包的时候,系统会生成一个私钥。准备敲黑板!

1)不要截图、拍照存在手机里;

2)不要把私钥信息发给任何人;

3)最好手写(几份)抄下,藏在你觉得最安全的地方。

总之一句话,谁掌握了钱包的私钥,谁就拥有钱包的绝对控制权。私钥只要掌握在你的手里,比特币就绝不会丢。

最后多说几句,作为普通投资者,我们需要做的并不多:

1)走点心,不要把手机弄丢了,毕竟丢了对手机里的比特币钱包有风险;

2)不要手痒删掉设备上的钱包应用,除非你决定再也不用这个钱包了,否则后期很麻烦;

3)设置复杂的密码(原因见第1点),并用心去记牢,这是私钥弄丢以后留的一手。

对于记不住密码,又懒得科学备份私钥的朋友,咱还是把钱存在银行里吧。

⑸ 比特币常用密码

比特币密码又称为密钥,常用的秘钥又分为公钥和私钥。
公钥是部分公开的比特币钱包地址,一般指的是企业的内部密钥,是由一串代码生成的,只使用58个字符。
通常私钥是由256个二进制数字组成的,也有部分私钥是由64位字符组成的,这些不同的密码对应不同的钱包,这些钱包的作用也各不相同。

⑹ 比特币使用教程

比特币是一种建立在全球网络上的货币。
比特币是一种没有央行参与发行的,总量固定的数字货币。
比特币建立在全球的P2P网络上。
全球无数的P2P节点全天候的在维护着比特币的网络。
英文:bitcoin 货币符号: 英文缩写:BTC或 XBT。

维基网络对比特币的介绍:

Bitcoin与传统货币不同,比特币运行机制不依赖中央银行、政府、企业的支持或者信用担保,而是依赖对等网络中种子文件达成的网络协议,去中心化、自我完善的货币体制,理论上确保了任何人、机构、或政府都不可能操控比特币的货币总量,或者制造通货膨胀。它的货币总量按照设计预定的速率逐步增加,增加速度逐步放缓,并最终在2140年达到2100万个的极限。

为什么要使用比特币?

全球交易畅通无阻。
比特币费用低廉。
比特币易于携带,在全球范围内交易畅通无阻,全世界很多地方都接受比特币。
去中心化。
比特币的发行由整个P2P网络完成,不受任何组织和个人控制,是一个完全去中心化的货币系统。
比特币的发行数量是固定的,不会因通胀而贬值,就像黄金一样。

如何使用比特币钱包?

我们从三个方面来说明这个问题。

一:什么是比特币钱包?

简单来说,比特币钱包可以让你和整个世界进行交易。利用比特币钱包中生成的比特币地址你可以接收来自他人的比特币,你也可以将你帐户上的比特币转到他人的比特币地址上面。比特币地址就像银行卡号一样,你只有知道别人的比特币地址才能进行比特币转账。比特币钱包中保存着你自己的所有比特币地址和私钥信息。
二:什么是比特币地址和私钥?

比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。我们可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用比特币钱包时请保存好你的地址和私钥。

三:比特币地址和私钥的格式

比特币地址是一段由数学算法生成的二十七到三十四位长度的字符串,一般以数字“1”或者“3”开头。每个比特币地址都对应着一个比特币私钥。比特币私钥亦是由一串字符组成,一般以数字“5”开头。私钥保证了你对该比特币地址上比特币的所有权。比特币私钥有不同的格式,详细资料读者可参见下面的基础教学内容。

请注意

比特币的私钥可以生成该私钥对应的比特币地址,但是比特币地址不能计算出该地址所对应的私钥。因此,假如你忘记了私钥而只记得比特币地址,那么该地址上的比特币便不属于你了。所以,一定要备份好比特币钱包,保护好私钥。如何生成比特币地址和私钥呢?你可以用比特币钱包来生成任意数量的地址和私钥。当然,也有离线生成比特币地址和私钥的比特币钱包工具(关于钱包的概念详见后面的基础教学)。
比特币钱包的种类有哪些?

比特币常用的钱包有三种:软件钱包、手机钱包、在线钱包。

软件钱包:通常指可以在本地机子上运行的比特币客户端。使用软件钱包是最安全的保护你比特币的方式。
手机钱包:只装在手机上的比特币钱包,用手机钱包你可以随时随地的使用比特币。
在线网络钱包:让你可以在任何地方使用比特币,在线服务提供商帮助你保护你的比特币安全。但是值得注意的是,你要仔细谨慎的选择你的在线钱包提供商。

常用软件钱包介绍:

①Bitcoin-Qt:
是最早的比特币客户端,比特币初期的骨干网络就是建立在它上面的。它提供了最高级别的安全性,隐私性和稳定性。然而,它具有的功能并不多。

②Multibit:
是一个轻量级的客户端。Multibit专注于便捷和易用。它与网络同步是在几分钟内就可以使用。Multibit还支持多语言。对于非技术用户,这是一个不错的选择。

③Electrum:
和Multibit类似,Electrum是一款基于SPV原理的比特币钱包软件客户端,它能在几分钟之内完成同步。不同的是Electrum采用了和Bitcoin-qt和Multibit不同钱包的找零机制,所有的比特币私钥都由安全密码种子生成,因此他的安全性更高。Electrum适合对比特币技术原理已经有一定了解的玩家使用。

④Armory:
Armory客户端是运行于Bitcoin-Qt客户端之上的高级比特币客户端,为高级用户提供了更多的扩展功能,其中包括了很多关于备份和加密的功能,以及非常安全的线下冷存储。和Electrum一样,Armory适合对比特币有一定了解的用户使用。

常用的手机钱包介绍:

Bitcoin Wallet:

Bitcoin Wallet可以在Googleandroid商店找到。它是一个轻量级的移动客户端,支持Android和黑莓系统。这个客户端并不需要在线才能工作。它支持QR码(二维码)扫描和NFC(近距离无线通信)。

常用的在线钱包介绍:

①Blockchain:
Blockchain是最早的比特币在线钱包提供商,它提供的功能最多,也非常可靠。您可以用它在全球免费付款。它支持在手机上或个电脑上使用。

②P2PBUCKS:
提示:为保证安全,Blockchain.info在线钱包的用户请使用GoogleAuthenticator或Yubikey等双因子认证方式登陆。 并定时从Blockchain上下载自己的钱包备份到本地电脑。
我是在 完美生活 卫星号上看到这篇文章哦,详细的你可以去关注一下:funinusa

⑺ eth/btc是什么意思

BTC比特币

比特币是第一个创建的分布式数字资产平台。自2009年发布以来,它已被证明不仅是最受欢迎的,也是最大的市场资本价值。此外,它也是最贵的,每个币在2018年2月17日的价值为10,710美元。比特币引入了第一个专门用于记录所有交易的区块链分布式账本,并摆脱了用户需要中央机构处理或验证交易的功能。

其目标是为用户提供一个平台,让他们可以跨境进行交易,而无需任何中介,也就是我们所说的去中心化。该平台的最大货币(BTC)供应量约为2100万。在这个数字中,约有1650万已被开采,目前正在流通。它在全球无时无刻的被开采着,来确保硬币的流通性。

优点:

1、它的分布式系统为用户提供了很大的自由。

2、高便携性。

3、这是一个安全的网络。

缺点:

1、价格波动较大。

2、用户可能会丢失密钥。

ETH以太坊

以太坊也是一个分布式的平台,由网络程序员Vitalik Buterin于2015年7月创建。以太坊旨在使用户能够创建和部署智能合同。智能合约的一个主要功能是允许创建在Ethereum网络上运行的加密资产或令牌。以太坊代币用于购买云存储空间等各种功能。这些令牌存储在与以太坊区块链兼容的数字钱包中。

以太坊的数字货币Ether充当了执行智能合约的介质。目前,已有约9800万个以太币已被开采和流通,流通供应量每年增加约1800万。以太币被创建为在以太坊网络上运行,它可以用于补偿参与者节点,也可以从一个用户转移到另一个用户。

优点:

1、构建了多平台。

2、能够运行智能合约。

3、安全性极高。

缺点:流通量较多。

(7)btc的公钥地址与eth公钥地址扩展阅读:

产生原理:

从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。

以钞票来比喻的话,比特币就是钞票的冠字号码,某张钞票上的冠字号码,就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。

要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。

完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。

在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。

⑻ 比特币私钥、公钥和地址如何确保一一对应

比特币真相:
1、研究炒作比特币谁获益最大?
2、实质上是USA的阴疼饵(INTEL)、阴伪呆(NVIDIA)、挨骂的+挨踢(AMD+ATI)
3、挖比特币需要巨量CPU、GPU、内存、主板、电源、线材、场地。
4、自从炒作比特币以来,CPU、GPU、内存、主板、电源、线材销量最高。
5、真正赚大头的是USA的CPU、GPU产业,别国的零售、服务只是中间商赚差价。
6、炒作比特币的策划案:助推了USA的高端、核心、基础芯片产业能力,别国是买办而已。
7、危害:丧失发展本国高端、核心、基础芯片的能力,沦为只能替USA卖芯片的零售商。

⑼ 4. 比特币的密钥、地址和钱包 - 精通比特币笔记

比特币的所有权是通过密钥、比特币地址和数字签名共同确定的。密钥不存在于比特币网络中,而是用户自己保存,或者利用管理私钥的软件-钱包来生成及管理。

比特币的交易必须有有效签名才会被存储在区块中,因此拥有密钥就拥有对应账户中的比特币。密钥都是成对出现的,由一个公钥和一个私钥组成。公钥相当于银行账号,私钥就相当于银行卡密码。通常情况下密钥由钱包软件管理,用户不直接使用密钥。

比特币地址通常是由公钥计算得来,也可以由比特币脚本得来。

比特币私钥通常是数字,由比特币系统随机( 因为算法的可靠性与随机性正相关,所以随机性必须是真随机,不是伪随机,因此比特币系统可以作为随机源来使用 )生成,然后将私钥作为输入,使用椭圆曲线算法这个单向加密函数生成对应的公钥,再将公钥作为输入,使用单向加密哈希函数生成地址。例如,通过公钥K得到地址A的计算方式为:

其中SHA256和PIPEMD160被称为双哈希或者HASH160,Base58Check是带有验证功能的Base58编码,验证方式为先计算原始数据(编码前)的验证码,再比较编码后数据的验证码,相同则地址有效,否则无效。而在使用Base58Check编码前,需要对数据做处理。
处理方式为: 版本前缀 + 双哈希后的数据 + 校验码
其中版本前缀是自定义的,如比特币私钥的前缀是0x80,校验码是把版本前缀和双哈希后的数据拼接起来,进行两次SHA256计算,取前4字节。得到处理的数据后,再进行Base58编码,得到最终的结果。

下图是Base58Check版本前缀和Base58编码后的结果

密钥可以采用不同的编码格式,得到的编码后结果虽然不同,但密钥本身没有任何变化,采用哪种编码格式,就看情况而论了,最终目的都是方便人们准确无误的使用和识别密钥。
下图是相同私钥采用不同编码方式的结果:

公钥也有很多种格式,不过最重要的是公钥被分为压缩格式和非压缩格式,带04前缀的公钥为非压缩格式的公钥,而03,02开头的标识压缩格式的公钥。

前面说过,公钥是椭圆曲线上的一个点,由一对坐标(x, y)表示,再加上前缀,公钥可以表示为:前缀 x y。
比如一个公钥的坐标为:

以非压缩格式为例,公钥为(略长):

压缩格式的公钥可以节省一定的存储,对于每天成千上万的比特币交易记录来说,这一点点的节省能起到很大效果。

因为椭圆曲线实际上是一个方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公钥是椭圆曲线上的一个点,那么公钥即为方程的一个解,如果公钥中只保留x,那么可以通过解方程得到y,而压缩公钥格式有两个前缀是因为对y2开方,会得到正负两个解,在素数p阶的有限域上使用二进制算术计算椭圆曲线的时候,y坐标或奇或偶,所以用02表示y为奇数,03表示y为偶数。

所以压缩格式的公钥可以表示为:前缀x
以上述公钥的坐标为准,y为奇数为例,公钥K为:

不知道大家发现没有,这种压缩方式存在一个问题,即一个私钥可以得出两个公钥,压缩和非压缩公钥,而这两个公钥都对应同一个私钥,都合法,但生成的比特币地址却不相同,这就涉及到钱包软件的实现方式,是使用压缩公钥还是非压缩公钥,或者二者皆用,这个问题后面来介绍。

比特币钱包最主要的功能就是替用户保管比特币私钥,比特币钱包有很多种,比如非确定性(随机)钱包,确定性(种子)钱包。所谓的非确定性是指钱包运行时会生成足够的私钥(比如100个私钥),每个私钥仅会使用一次,这样私钥管理就很麻烦。确定性钱包拥有一个公共种子,单向离散方程使用种子生成私钥,种子足够回收所有私钥,所以在钱包创建时,简单备份下,就可以在钱包之间转移输入。

这里要特别介绍下助记码词汇。助记码词汇是英文单词序列,在BIP0039中提出。这些序列对应着钱包中的种子,种子可以生成随机数,随机数生成私钥,私钥生成公钥,便有了你需要的一切。所以单词的顺序就是钱包的备份,通过助记码词汇能重建钱包,这比记下一串随机数要强的多。

BIP0039定义助记码和种子的创建过程如下:

另外一种重要的钱包叫做HD钱包。HD钱包提供了随机(不确定性) 钥匙有两个主要的优势。
第一,树状结构可以被用来表达额外的组织含义。比如当一个特定分支的子密钥被用来接收交易收入并且有另一个分支的子密钥用来负责支付花费。不同分支的密钥都可以被用在企业环境中,这就可以支配不同的分支部门,子公司,具体功能以及会计类别。
第二,它可以允许让使用者去建立一个公共密钥的序列而不需要访问相对应的私钥。这可允许HD钱包在不安全的服务器中使用或者在每笔交易中发行不同的公共钥匙。公共钥匙不需要被预先加载或者提前衍生,但是在服务器中不具有可用来支付的私钥。

BIP0038提出了一个通用标准,使用一个口令加密私钥并使用Base58Check对加密的私钥进行编码,这样加密的私钥就可以安全地保存在备份介质里,安全地在钱包间传输,保持密钥在任何可能被暴露情况下的安全性。这个加密标准使用了AES,这个标准由NIST建立,并广泛应用于商业和军事应用的数据加密。

BIP0038加密方案是: 输入一个比特币私钥,通常使用WIF编码过,base58chek字符串的前缀“5”。此外BIP0038加密方案需要一个长密码作为口令,通常由多个单词或一段复杂的数字字母字符串组成。BIP0038加密方案的结果是一个由base58check编码过的加密私钥,前缀为6P。如果你看到一个6P开头的的密钥,这就意味着该密钥是被加密过,并需个口令来转换(解码) 该密钥回到可被用在任何钱包WIF格式的私钥(前缀为5)。许多钱包APP现在能够识别BIP0038加密过的私钥,会要求用户提供口令解码并导入密钥。

最通常使用BIP0038加密的密钥用例是纸钱包一一张纸张上备份私钥。只要用户选择了强口令,使用BIP0038加密的私钥的纸钱包就无比的安全,这也是一种很棒的比特币离线存储方式(也被称作“冷存储”)。

P2SH函数最常见的实现时用于多重签名地址脚本。顾名思义,底层脚本需要多个签名来证明所有权,然后才能消费资金。这类似在银行开设一个联合账户。

你可以通过计算,生成特殊的比特币地址,例如我需要一个Hello开头的地址,你可以通过脚本来生成这样一个地址。但是每增加一个字符,计算量会增加58倍,超过7个字符,需要专门的硬件或者矿机来生成,如果是8~10个字符,那么计算量将无法想象。

⑽ 比特币基础知识 你绝对想不到


椭圆曲线数字签名算法
椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟,该算法是构成比特币系统的基石。
私钥
非公开,拥有者需安全保管。通常是由随机算法生成的,说白了,就是一个巨大的随机整数,32字节,256位。
大小介于1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之间的数,都可以认为是一个合法的私钥。
于是,除了随机方法外,采用特定算法由固定的输入,得到32字节输出的算法就可以成为得到私钥的方法。于是,便有了迷你私钥(Mini Privkey),原理很简单,例如,采用SHA256的一种实现:
private key = SHA256()1
迷你私钥存在安全问题,因为输入集合太小,易被构造常见组合的彩虹表暴力破解,所以通常仿轮纳还是使用系统随机生成的比较好,无安全隐患。
公钥
公钥与私钥是相对应的,一把私钥可以推出唯一的公钥,但公钥却无法推导出私钥。公钥有两种形式:压缩与非压缩。
早期比特币均使用非压缩公钥,现大部分客户端已默认使用压缩公钥。
这个貌似是比特币系统一个长得像feature的bug,早期人少活多代码写得不够精细,openssl库的文档又不足够好,导致Satoshi以为必须使用非压缩的完整公钥,后来大家发现其实公钥的左右两个32字节是有关联的,左侧(X)可以推出右侧(Y)的平方值,有左侧(X)就可以了。
现在系统里两种方式共存,应该会一直共存下去。两种公钥的首个字节为标识位,压缩为33字节,非压缩为65字节。以0x04开头为非压缩,0x02/0x03开头为压缩公钥,0x02/0x03的选取由右侧Y开方后的奇偶决定。
压缩形式可以减小Tx/Block的体积,每个Tx Input减少32字节。
签名
使用私钥对数据进行签署(Sign)会得到签名(Signature)。通常会将数据先生成Hash值,然后对此Hash值进行签名。签名(signature)有两部分组成: R + S。由签名(signature)与Hash值,便可以推出一个公钥,验证此公钥,便可知道此签名是否由公钥对应的私钥签名。
通常,每个签名会有三个长度:73、72、71,符合校验的概率为25%、50%、25%。所以每次签署后,需要找出符合校验的签名长度,再提供给验证方。
地址
地址是为了人们交换方便而弄出来的一个方案,因为公钥太长了(130字符串或66字符串)。地址长度为25字节,转为base58编码后,为34或35个字符。base58是类似base64的编码,但去掉了易引起视觉混淆的字符,又在地址末尾添加了4个字节校验位,保障在人们交换个别字符错误时,也能够因地址校验失败而制止了误操作。
由于存在公钥有两种形式,那么一个公钥便对应两个地址。这两个地址都可由同一私钥签署交易。
公钥生成地址的算法:
Version = 1 byte of 0 (zero); on the test network, this is 1 byte of 111
Key hash = Version concatenated with RIPEMD-160(SHA-256(public key))
Checksum = 1st 4 bytes of SHA-256(SHA-256(Key hash))
Bitcoin Address = Base58Encode(Key hash concatenated with Checksum)1234
下图是非压缩公钥生成地址的过程:
对于压缩公钥生成地址时,则只取公钥的X部分即可。
推导关系
三者推导关系:私钥
公钥
两个地址。过程均不可逆。拥有私钥便拥有一切,但通常为了方便,会把对应的公钥、地址也存储起来。
交易
比特币的交易(Transation,缩写Tx),并不是通常意义的桐散交易,例如一手交钱一手交货,而是转账。交易由N个输入和M个输出两部分组成。交易的每个输入便是前向交易的某个输出,那么追踪到源头,必然出现一个没有输入的交易,此类交易称为CoinBase Tx。CoinBase类备没交易是奖励挖矿者而产生的交易,该交易总是位于Block块的第一笔。
拥有一个输入与输出的Tx数据:
Input:
Previous tx:
Index: 0
scriptSig:
241501
Output:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160
OP_EQUALVERIFY OP_CHECKSIG12345678910
一旦某个Tx的第N个输出成为另一个Tx的输入,那么该笔比特币即为已花费。每个交易有唯一Hash字符串来标识,通过对交易数据做两次SHA256哈希运算而来:
Tx Hash ID = SHA256(SHA256(Tx Data))1
矿工费
矿工费(Transaction Fee)是鼓励矿工将Tx打包进Block的激励报酬。计算一笔交易的矿工费:
Transaction Fee = SUM(Inputs amount) - SUM(Outputs amount)1
每笔Tx的矿工费必然大于等于零,否则该笔Tx即为非法,不会被网络接收。
数据块
数据块(Block)是存储Block Meta与Tx的地方。Block的第一笔Tx总是CoinBase Tx,因此Block中的交易数量总是大于等于1,随后是这段时间内网络广播出来的Tx。
找到合适的Block是一件非常困难的事情,需要通过大量的数学计算才能发现,该计算过程称为“挖矿”。首个发现者,会得到一些比特币作为奖励。
数据链
多个Block连接起来成为数据链(Block Chain)。
为了引入容错与竞争机制,比特币系统允许Block Chain出现分叉,但每个节点总是倾向于选择最高的、难度最大的链,并称之为Best Chain,节点只认可Best Chain上的数据。
首个Block称为Genesis Block,并设定高度为零,后续每新增一个Block,高度则递增一。目前是不允许花费Genesis Block中的比特币的。
每个Block中的Tx在此Block中均唯一
一个Tx通常只会在一个Block里,也可能会出现在多个Block中,但只会在Best Chain中的某一个Block出现一次
货币存储
比特币是密码货币、纯数字化货币,没有看得见摸得着的硬币或纸币。一个人持有比特币意味着:
其拥有一些地址的私钥
这些地址是数笔交易的输出,且未花费
所有货币记录均以交易形式存储在整个blockchain数据块中,无交易无货币。货币不会凭空产生,也不会凭空消失。遗失了某个地址的私钥,意味着该地址上的Tx无法签署,无法成为下一个Tx的输入,便认为该笔比特币永久消失了。
货币发行
既然所有交易的输入源头都是来自CoinBase,产生CoinBase时即意味着货币发行。比特币采用衰减发行,每四年产量减半,第一个四年每个block的coinbase奖励50BTC,随后是25btc, 12.5btc, 并最终于2140年为零,此时总量达到极限为2100万个btc。
减半周期,严格来说,并不是准确的四年,而是每生成210000个block。之所以俗称四年减半,是因为比特币系统会根据全网算力的大小自动调整难度系统,使得大约每两周产生2016个block,那么四年约21万块block。
该函数GetBlockValue()用于计算挖得Block的奖励值:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
nSubsidy = (nHeight / 210000);
return nSubsidy + nFees;
}123456789
当达到2100万btc以后,不再有来自CoinBase的奖励了,矿工的收入来源仅剩下交易的矿工费。此时,每个block的收入绝对值btc很低,但此时比特币应当会非常繁荣,币值也会相当的高,使得矿工们依然有利可图。
杜绝多重支付
传统货币存在多重支付(Double Spending)问题,典型的比如非数字时代的支票诈骗、数字时代的信用卡诈骗等。在比特币系统里,每笔交易的确认均需要得到全网广播,并收录进Block后才能得到真正确认。每笔钱的花销,均需要检测上次输入交易的状态。数据是带时间戳的、公开的,BlockChain由巨大的算力保障其安全性。所以比特币系统将货币的多重支付的风险极大降低,几近于零。通过等待多个Block确认,更是从概率上降低至零。一般得到6个确认后,可认为非常安全。但对于能影响你人生的重大支付,建议等待20~30个确认。
匿名性
任何人均可以轻易生成大量的私钥、公钥、地址。地址本身是匿名的,通过多个地址交易可进一步提高匿名性。但该匿名性并不像媒体宣传的那样,是某种程度上的匿名。因为比特币的交易数据是公开的,所以任何一笔资金的流向均是可以追踪的。
不了解比特币的人为它的匿名性产生一些担忧,比如担心更利于从事非法业务;了解比特币的人却因为它的伪匿名性而苦恼。传统货币在消费中也是匿名的,且是法律保障的,大部分国家都不允许个人涂画纸币。
地址本身是匿名的,但你可以通过地址对应的私钥签名消息来向公众证明你拥有某个比特币地址。
其他名词
哈希
哈希(Hash)是一种函数,将一个数映射到另一个集合当中。不同的哈希函数映射的空间不同,反映到计算机上就是生成的值长度不一样。同一个哈希函数,相同的输入必然是相同的输出,但同一个输出却可能有不同的输入,这种情况称为哈希碰撞。
常见的哈希函数有CRC32, MD5, SHA1, SHA-256, SHA-512, RIPEMD-160等,哈希函数在计算中有着非常广泛的用途。比特币里主要采用的是SHA-256和RIPEMD-160。
脑钱包纸钱包
前面提到过的脑钱包与纸钱包,这其实不算是钱包的分类,只是生成、存储密钥的方式而已。脑钱包属于迷你私钥的产物。脑钱包就是记在脑袋里的密钥,纸钱包就是打印到纸上的密钥,仅此而已。
有同学提到过,以一个计算机文件作为输入,例如一个数MB大小的照片,通过某种Hash运算后得到私钥的方法。这个方案的安全性还是不错的,同时可以防止盗私钥木马根据特征扫描私钥。文本形式存储私钥是有特征的,而一个照片文件却难以察觉,即使放在云盘等第三方存储空间中都是安全的。

热点内容
芝麻开门提usdt最少要340 发布:2025-07-15 06:05:35 浏览:105
filecoin矿机比较表 发布:2025-07-15 05:57:46 浏览:614
区块链人工智能是一样的 发布:2025-07-15 05:55:35 浏览:143
2020年广东省区块链补贴政策 发布:2025-07-15 05:39:35 浏览:975
区块链与房地产销售 发布:2025-07-15 05:38:12 浏览:560
无人深空矿机怎么用 发布:2025-07-15 05:34:09 浏览:878
币圈的前10投资机构 发布:2025-07-15 05:30:50 浏览:687
查看比特币行情api 发布:2025-07-15 05:18:59 浏览:818
量子矿机什么意思 发布:2025-07-15 04:45:31 浏览:320
比特币的全球算力 发布:2025-07-15 04:35:09 浏览:570