Python开发区块链之03如何生成bitcoin address
欢迎关注专栏 《区块链blockquanchain》
前两节的demo中我们生成了private key和 public key,接下来我们就可以生成一个bitcoin 的地址了。
下面我们使用pubtoaddr函数来生成一下bitcoin address
一个bitcoin address 地址是一个单用户的token。就像我们通过邮件地址收发邮件一样,您可以使用bitcoin address来收发bitcoins。不过和邮件不同的是,每个人只能在每次交易中只用唯一的地址
比特币使用哪种算法来生成比特币钱包的地址?
首先生成私钥,再由私钥算出公钥,再由公钥经过一系列哈希算出钱包地址。
怎样快速生成usdt地址?
下载任何一个支持ETH的钱包(推荐TokenPocket),地址就是你的USDT地址。
相关简介:
就目前来看,USDT 可以分为三种,它们分别是:基于比特币的 USDT (Omni USDT) ,基于以太坊的 USDT(ERC20 USDT),以及基于波场的 USDT(TRC USDT),如果是用交易所地址进行收款的话,那么久只用找到USDT币种,自行选一个就好了。
但是一定要确保转入地址和转出地址在是在一样的区块链网络上,这三种链之间是不可以相互转账的,而且是没有办法进行找回的。如果是使用钱包来选择收款地址的话,那么就要先BTC、ETH或TRX的主链钱包,然后找到对应的USDT收币地址。
一般都是通过地址确认 USDT 是哪一种:Omni USDT 的地址是以 1 或 3 开头的,ERC20 USDT 的地址是 0x 开头的,波场的USDT 的地址是 TR 开头USDT 的。除此之外,转账成功的时间主要是由你在转账时设置的矿工费来决定的,设置的矿工费越高,交易越快成功。
Omni USDT 的交易确认参数与比特币是一样的,10分钟一个确认,如果是转入交易所,一般都是2个确认到账(20分钟),而且 Omni USDT 矿工费也比 ERC20 USDT高。
【区块链】什么是比特币地址?
比特币地址是一串由字母和数字组成的26位到34位字符串,看起来有些像乱码。但它就是你个人的比特币账户,相当于你的银行卡卡号,任何人都可以通过你的比特币地址给你转账比特币。
它与比特币私钥不同,不会因为信息泄露而造成比特币丢失,因此你可以将比特币地址放心的告诉任何人。
通过区块链浏览器可以查看每个比特币地址所有的转账交易记录。
常用的比特币区块链浏览器有:
https://btc.com/blockquan
https://www.blockquanchain.com/zh-cn/explorer
我们常用的比特币地址格式一般有如下四种。
1、BASE58格式
BASE58格式是人们常见的比特币地址格式,一般由1开头的。
例如:1M8DPUBQXsVUNnNiXw5oFdRciguXctWpUD
2、HASH160格式
HASH160格式为RIPEMD160算法对130位公钥的SHA256签名进行计算得出的结果 。
例如:fbfb58defc272942fc31d00c007b59aa4cb5087a
3、WIF压缩格式
WIF压缩格式即钱包输入格式,是将BASE58格式进行压缩后的结果130位公钥格式 这是最原始的由ECDSA算法计算出来的比特币公钥。
例如:
0469B0E479C9A358908DB9CF4628BDD643C3F81C4F0096AAD442DA6CA8BCC4FD86A8D47D7A865E178B6D062CC9B702908973952062A1D767DA9B2BD2095D5CCF6E
4、60位公钥格式
60位公钥格式即130位公钥进行压缩后得出的结果。
例如:
0269B0E479C9A358908DB9CF4628BDD643C3F81C4F0096AAD442DA6CA8BCC4FD86
比特币是建立在数学加密学基础上的,中本聪大神用了椭圆加密算法(ECDSA)来产生比特币的私钥和公钥。
由私钥是可以计算出公钥的,公钥的值经过一系列数字签名运算会得到比特币地址。
比特币地址是由算法随机生成,那么就会有人问,既然都是随机生成的,那么比特币的地址会不会重复呢?关于这个问题,想必就更不用担心。
因为比特币的私钥长度是256位的二进制串,那么随机生成的两个私钥正好重复的的概率是2 ^ 256 ≈ 10 ^ 77之一,这个数字大到你根本无法想象,比中彩票的概率还要小好多;所以不用担心的啦,每个人的比特币地址都是独一无二的。
如何收客户的比特币
使用打印的二维码接收付款。
首先,必须澄清的是,对于接受比特币支付的企业来说,它必须有一个钱包,从那里生成BTC地址,尽管在某些情况下,每次支付都可以创建一个,以提高隐私和安全性。这是每个企业家对如何保护他们赚来的钱的偏好。但是,出于安全、隐私和主权方面的考虑,使用自托管钱包更为合适。这是因为在这种情况下,拥有房屋的人是唯一可以访问私钥的人。
例子比比皆是,但最方便的一个是Muun。要在此钱包中接收比特币,你无需费力。Muun是一款自托管钱包,易于使用,适用于任何商家来源:Muun钱包。我们的Muun教程很好地解释了这一点:下载应用程序并创建新钱包后,你必须提供接收选项,以便显示带有地址的二维码进行扫描。钱包对于企业接收比特币付款至关重要。正是这个地方可以帮助他们管理收到的钱。现在,我们继续推进企业必须开始以比特币收费的选项:固定二维码,从钱包到钱包和支付处理器。
btc是什么币
您好!btc指的是比特币。
比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。
根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有的稀缺性。
拓展资料:
一、比特币购买方法
用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币。
由于比特币系统采用了分散化编程,所以在每10分钟内只能获得25个比特币,而到2140年,流通的比特币上限将会达到2100万。换句话说,比特币系统是能够实现自给自足的,通过编码来抵御通胀,并防止他人对这些代码进行破坏。
二、交易方式
比特币是类似电子邮件的电子现金,交易双方需要类似电子邮箱的“比特币钱包”和类似电邮地址的“比特币地址”。和收发电子邮件一样,汇款方通过电脑或智能手机,按收款方地址将比特币直接付给对方。下列表格,列出了免费下载比特币钱包和地址的部分网站。
比特币地址是大约33位长的、由字母和数字构成的一串字符,总是由1或者3开头,例如火币"1PCgrJSzxJTjtUUbijcvPjZ6FVS2jGeZnN"。比特币软件可以自动生成地址,生成地址时也不需要联网交换信息,可以离线进行。可用的比特币地址非常多。
比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。我们可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用比特币钱包时请保存好你的地址和私钥。
比特币的交易数据被打包到一个“数据块”或“区块”(blockquan)中后,交易就算初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,这笔交易基本上就不可逆转地得到确认了。比特币对等网络将所有的交易历史都储存在“区块链”(blockquanchain)中。区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走。区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录 。 中本聪预计,当数据量增大之后,用户端希望这些数据并不全部储存自己的节点中。为了实现这一目标,他采用引入散列函数机制。这样用户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。
三、消费方式
许多面向科技玩家的网站,已经开始接受比特币交易。比如火币、币安、OKEx之类的网站,以及淘宝某些商店,甚至能接受比特币兑换美元、欧元等服务。毫无疑问,比特币已经成为真正的流通货币,而非腾讯Q币那样的虚拟货币。国外已经有专门的比特币第三方支付公司,类似国内的支付宝,可以提供API接口服务。
可以用钱来买比特币,也可以当采矿者,“开采”它们用电脑搜寻64位的数字就行。通过用电脑反复解密,与其他的淘金者竞争,为比特币网络提供所需的数字。如果电脑能够成功地创造出一组数字,就会获得12.5个比特币。比特币是分散化的,需要在每个单位计算时间内创造固定数量比特币是每10分钟内可获得12.5个比特币。到2140年,流通的比特币上限将达到2100万个。换句话说,比特币体制是可以自给自足的,译成编码可抵御通胀,防止他人搞破坏。
如何生成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
如此往复。。。