大家好,今天小编来为大家解答比特币地址如何生成这个问题,比特币地址如何生成的很多人还不知道,现在让我们一起来看看吧!
本文目录
比特币钱包地址是如何得到的不是比特币地址而是钱包地址!离线生成的比特币地址是如何避免冲突的如何生成bitcoin 地址长度不一样比特币是怎样产生的比特币钱包地址是如何得到的不是比特币地址而是钱包地址!首先,你应该在大脑中想象出一个“钱包”的概念。你的bitcoin都放在你的“钱包”中一个钱包可以包含很多很多......很多个地址。地址的形式就是形如1QCXRuoxWo5bYa9NxhaVBArBQYHatHJrU3。
利用比特币钱包中生成的比特币地址你可以接收来自他人的比特币,你也可以将你帐户上的比特币转到他人的比特币地址上面。比特币地址就像银行卡号一样,具有支付、转账、提现功能,但在转账时,你只有知道别人的比特币地址才能进行比特币转账。
如果我们把比特币钱包简单比作成银行卡账户的话,那么比特币钱包地址就可以看成是银行卡账号。不同的是,比特币地址是可以不存储在网络上的,更是可以独立于你的钱包而存在的。
扩展资料:比特币地址是一串由26位到34位字母和数字字符串组成的。看上去像一堆乱码一样,说白了这个就像你的银行卡卡号一样。通过区块链查可以查每个比特币地址的所有转账记录,公开透明。
比特币钱包地址生成:通过随机选出256位二进制数字,形成私钥,然后通过加密函数来生成地址。这个生成方向是单向的。也就是你知道了地址是无法通过解密方法来计算出私钥的。就目前的人类计算机运算能力无法破解,你可以很放心地把地址公布到网上。
参考链接:比特币|百度百科
离线生成的比特币地址是如何避免冲突的BTC的地址生成过程如下,完整的可以查一下比特币中文维基:
比特币地址的生成过程
(说明:有些数字以"0x"开头,意思是此数字使用十六进制表示法。"0x"本身没有任何含义,它是C语言流传下来的,约定俗成的写法,比如0xA就是十进制的10。另外,1个字节=8位二进制=2位十六进制)。
第一步,随机选取一个32字节的数、大小介于1~0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141之间,作为私钥。
18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
第二步,使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥。(共65字节,1字节0x04,32字节为x坐标,32字节为y坐标)关于公钥压缩、非压缩的问题另文说明。
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B
23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
第三步,计算公钥的SHA-256哈希值
600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408
第四步,取上一步结果,计算RIPEMD-160哈希值
010966776006953D5567439E5E39F86A0D273BEE
第五步,取上一步结果,前面加入地址版本号(比特币主网版本号“0x00”)
00010966776006953D5567439E5E39F86A0D273BEE
第六步,取上一步结果,计算SHA-256哈希值
445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094
第七步,取上一步结果,再计算一下SHA-256哈希值(哈哈)
D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30
第八步,取上一步结果的前4个字节(8位十六进制)
D61967F6
第九步,把这4个字节加在第五步的结果后面,作为校验(这就是比特币地址的16进制形态)。
00010966776006953D5567439E5E39F86A0D273BEED61967F6
第十步,用base58表示法变换一下地址(这就是最常见的比特币地址形态)。
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
如何生成bitcoin 地址长度不一样1.首先你要知道公钥和私钥的概念(已经懂的不用看这部分了)
公钥私钥是现代密码学分支非对称性加密里面的名词,通常都是用公钥加密信息,用私钥解密信息,为什么要这样?因为你看电视剧的时候,发电报那种都是对称性加密,这种加密方式缺点是显而易见的,如果被人知道了密钥和加密方法,于是按照加密方法反着来就能解密。一直到非对称性加密这种情况才有所改观,公钥就是可以对全世界公开的密钥,比如你和google通讯,用google给的1024位的公钥加密,送到google那里只有他有对应的私钥,只有他能解密,于是就保证了通讯安全
2.比特币主要用了ECDSA,也就是椭圆曲线签名算法,这个算法有两个特性,注意这两点对下面至关重要
a.只要知道私钥,可以算出相应的公钥;
b.你用私钥签名过的东西,可以用公钥算一下是不是你签的;
3.知识准备完了,下面开始讲比特币的交易,比特币其实没有钱包,只有交易账单,整个比特币就是一大堆交易账单
比如:
账单1从A转到B转了XXX比特币
账单2从B转到C和D转了XXX比特币
账单3从C转到E转了XXX比特币
。。。。任何人只要下载了客户端都能接收到从比特币成立那一天起的所有账单,所以,只要把所有账单都下载全了自然知道每个账户上应该剩多少钱(这里仔细思考下)
4.比特币的账户,就是刚才讲的一段公钥
5.下面我开始贴一个比特币的账单,这里是核心部分了!!!每个账单都是一段数据,你签完了以后会发送到全网,把数据结构逆向成易懂的中文解释如下:
FROM(谁发送的,包括两部分)
Previoustx:你要花的这笔钱的那个账单的id,也就是说,你花的任何一笔钱都应该有人转给你过,需要出示那个账单的id
scriptSig:你对这笔交易的签名,就是把单子用你的私钥做hash,只有你能做这个hash
TO(谁接受,包括两部分)
Value:要发多少
scriptPubKey:对方的公钥,比特币账户就是一段公钥
6.等你签完单子以后,开始往全网发送,怎么发呢?比特币通讯没那么复杂,你可以类比成IRC频道,但和普通的“IRC”不同的是,任何一个客户端都是一台“IRC”服务器,当你启动客户端的时候,会接收到周围的有公网IP的客户端地址,就是“服务器”列表,这个列表也不断的刷新,都是其他的比特币用户,于是你在这个“IRC”喊一句话的时候,周围的人会听到,进而扩散的全世界。
7.把签单发送到全世界以后,所有收到这个单子的客户端会效验你这个单子对不对,比如会效验你的签名,是不是你发的,会效验你是否有那么多钱(根据历史交易可以推算出你有多少钱可以花)
如果这个交易大家算过没问题了,基本上就算转账成功了。
8.实际上现在对方已经接受了比特币,但是要想花的话,他得有那个地址(公钥)对应的私钥。于是他就能填下一个单子的FROM头部,Previoustx就是刚才这笔交易的序号,scriptSig填用他私钥签名过的hash
如此往复。。。
比特币是怎样产生的比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
产生原理
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。
而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。
完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!