如何生成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(谁发送的,包括两部分)
Previous tx: 你要花的这笔钱的那个账单的id, 也就是说,你花的任何一笔钱都应该有人转给你过,需要出示那个账单的id
scriptSig: 你对这笔交易的签名,就是把单子用你的私钥做hash,只有你能做这个hash

TO(谁接受,包括两部分)
Value: 要发多少
scriptPubKey: 对方的公钥,比特币账户就是一段公钥
6.等你签完单子以后,开始往全网发送,怎么发呢? 比特币通讯没那么复杂,你可以类比成IRC频道,但和普通的“IRC”不同的是,任何一个客户端都是一台“IRC”服务器,当你启动客户端的时候,会接收到周围的有公网IP的客户端地址,就是“服务器”列表,这个列表也不断的刷新,都是其他的比特币用户,于是你在这个“IRC”喊一句话的时候,周围的人会听到,进而扩散的全世界。

7.把签单发送到全世界以后,所有收到这个单子的客户端会效验你这个单子对不对,比如会效验你的签名,是不是你发的,会效验你是否有那么多钱(根据历史交易可以推算出你有多少钱可以花)
如果这个交易大家算过没问题了,基本上就算转账成功了。

8.实际上现在对方已经接受了比特币,但是要想花的话,他得有那个地址(公钥)对应的私钥。于是他就能填下一个单子的 FROM头部,Previous tx就是刚才这笔交易的序号,scriptSig填用他私钥签名过的hash

如此往复。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-05
1.首先要安装Bitcoin官方客户端以获取你的收款地址(Address),BTC
协议鼓励每次收款使用不同收款地址以保持不可追踪性。这里的收款地址相当于你的一个收款帐号,而每个人可以有无限多个收款帐号,官方客户端会自动汇总你所有地址中的款额作为可用总额。

2.安装、运行Bitcoin官方客户端后,程序会自动计算出你的私钥并生成第一个收款地址,以1开头的一串字母和数字组合,如
1AhNWp14rNUoWgwrZNtc9vm586pCVqom3n 。这个就是你的收款地址了。

3.注册集体挖矿网站

你需要到挖矿网站注册(Register)一个帐号(Account),以便保存你的工作成果和收款地址。目前运作的比较好的有
BMP
(按积分分配,服务器不稳定会影响收益份额)
Deepbit
(推荐,3%手续费,也可以按每个计算成果付费,即Pay per share模式)
BTCGuild
(推荐,无手续费)

注册好帐号后,可能需要点开电子邮件中地址或输入邮件中的确认码,以确认邮箱地址。在网站payment
address中填入你的收款地址,比如 1AhNWp14rNUoWgwrZNtc9vm586pCVqom3n 。将minimum
payment(最小自动付款额)设置成0.01,以便尽快收到第一笔付款。

然后注册新的worker帐号(挖矿工人进程),因为每个人可能有多个计算机或多个计算进程可以使用,所以每个帐号下可注册多个worker。
Worker通常有独立的用户名和密码,worker用户名一般是你的帐号名+自定义后缀,密码简单好记就好,worker的密码被别人知道也没有什么安
全问题。注意不要和账户或邮箱密码相同即可。

4.安装GPU计算程序

下载GUI Miner。如果你有独立显卡,尽可能使用GPU计算程序,因为设计结构和指令集不同,GPU
计算能力一般是CPU的几十至几百倍。如果使用AMD/ATI显卡,还需安装AMD显卡开发包。

解压缩GUI Miner后,运行GUIMiner.exe,选择你注册的挖矿网站,填入你的worker帐号和密码,点Start
mining即可开始挖矿。

(File->Save settings保存当前设置。菜单第一项为创建新的Worker。)

使用ATI 5xxx系列显卡计算时,可以在flags里填入-v -w128参数。使用CPU计算无需填写任何参数。

5.Device为设备列表,显卡通常显示为显卡核心的名字,如57xx系列为Juniper,以及CPU设备。一个设备可以对应多个worker同时工作,程序会自动分配计算能力。即几个不同worker设置使用一个device,同时挖矿。不过对提高效率没有什么帮助……

过1个小时刷新你的挖矿网站页面就可以看到你的预期收益了,等待1天网络确认这次计算即可收款。

Bitcoin 官方客户端运行时会自动显示最新余额。当然,离线时也可以正常收款。下次启动Bitcoin
客户端即可看到收款。

6.使用BTC付款

在Bitcoin官方客户端中,点击Send
Coins即可付款,填入付款地址和数量即可。付款小于0.01时需要支付至少0.01的手续费,以防止大量付款攻击BTC网络。支付更多则可以免手续费。

0.3.22新版客户端中将最小手续费降到了0.0005,可以在bitcoin项目在sourceforge的项目主页下载所有版本的客户端。