当前位置:首页 » 比特币问答 » 比特币地址验证

比特币地址验证

发布时间: 2023-04-06 02:11:39

比特币钱包隔离地址是什么意思

比特币钱包隔离地址是比特币“隔离见证体系”中的一部分。
“隔离见证地址”是比特币“隔离见证体系”中的一部分,整个隔离见证体系是由多个部分组成的。
隔离验证地址为比特币的新地址格式,在收发操作上与普通地址一致。

Ⅱ 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个字符,那么计算量将无法想象。

Ⅲ 求助如何用js或者jqurey实现判断比特币地址是否合法,有效

位数什么的,都可以用长度直接判断,关键字可以用正则来对比。比特币校验应该是有公式的,你找到公式,把字符串放进去运算一下,看看是否符合规则即可

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

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

01

私钥

1.导出:

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

2.用途:

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

3.注意事项:

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

02

公钥

1.导出:

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

2.用途:

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

03

地址

1.导出:

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

2.用途:

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

3.注意事项:

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

总结

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

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

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

Ⅳ 比特币钱包地址是如何得到的不是比特币地址而是钱包地址!

首先,你应该在大脑中想象出一个“钱包”的概念。你的bitcoin都放在你的“钱包”中一个钱包可以包含很多很多......很多个地址。地址的形式就是形如。

利用比特币钱包中生成的比特币地址你可以接收来自他人的比特币,你也可以将你帐户上的比特币转到他人的比特币地址上面。比特币地址就像银行卡号一样,具有支付、转账、提现功能,但在转账时,你只有知道别人的比特币地址才能进行比特币转账。

如果我们把比特币钱包简单比作成银行卡账户的话,那么比特币钱包地址就可以看成是银行卡账号。不同的是,比特币地址是可以不存储在网络上的,更是可以独立于你的钱包而存在的。

(5)比特币地址验证扩展阅读:

比特币地址是一串由 26位到34位字母和数字字符串组成的。 看上去像一堆乱码一样,说白了这个就像你的银行卡卡号一样。 通过区块链查可以查每个比特币地址的所有转账记录,公开透明。

比特币钱包地址生成:通过随机选出256位二进制数字,形成私钥,然后通过加密函数来生成地址。这个生成方向是单向的。也就是你知道了地址是无法通过解密方法来计算出私钥的。就目前的人类计算机运算能力无法破解,你可以很放心地把地址公布到网上。

参考链接:比特币|网络

Ⅵ 【2019-07-12】比特币的钱包地址验证

第一步,随机选取一个32字节的数,大小介于1~0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之间,作为私钥



第二步,使用椭圆曲线加密算法(ECDSA-SECP256k1)计算私钥所对应的非压缩公钥(共65字节,1字节0x04,32字节为x坐标,32字节为y坐标)。



第三步,计算公钥的SHA-256哈希值



第四步,计算上一步哈希值的RIPEMD-160哈希值



第五步,在上一步结果之间加入地址版本号(如比特币主网版本号"0x00")

00

第六步,计算上一步结果的SHA-256哈希值



第七步,再次计算上一步结果的SHA-256哈希值



第八步,取上一步结果的前4个字节(8位十六进制数)D61967F6,把这4个字节加在第五步结果的后面,作为校验(这就是比特币地址的16进制形态)

00D61967F6

第九步,用base58表示法变换一下地址(这就是最常见的比特币地址形态)



如果给你个地址你只要:

base58->二进制-> 这时是第8步,
如果我们把后面4个字节拿掉,
就是第5步的结果,你只要重复以上步骤到第8步
取前4个和地址后4位比较就可以得到答案了

Ⅶ bitpie有收款地址怎么查询

1、如果我们把比特币钱包简单比作成银行卡账户的话比特币钱包地址在哪里查询,那么比特币钱包地址就可以看成是银行卡账号不同的是,比特币地址是可以不存储在网络上的,更是可以独立于你的钱包而存在的温馨提示以上内容仅供参考应答时间202109。

2、我再Bitoffer的操作是这样的,登录后进入资金,我的钱包就看到比特币钱包地址在哪里查询了。
3、比特币的交易去向是可以查询的,比特币交易都会记录在比特币区块链上,可以查到比特币的流动性,从哪一个钱包转移到了哪一个钱包但是,你只知道转移到哪一个钱包里了,你并不知道这个钱包属于谁比特币即是透明公开的。
4、完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款在安装好比特币客户端后,它将会分配一个私钥和一个公钥需要备份你包含私钥的钱包数据。
5、1输入数字货币区块浏览器网址,进入首页,点击统计2在页面当中点开地址富豪榜 3选择你需要查看的内容你在页面中可以看到比特币地址数量分布图比特币地址余额分布图和持仓地址信息通过地址数量分布图,可以看到拥有。
6、bitkeep钱包同币包钱包一样,都是用于存放比特币在网上直接搜索找到相关网站,其网址就是钱包地址这种钱包都是需要用户进行注册,可以个人账户后台,也可以找到用户自己的比特币莱特币等多个币种的地址BitKeep钱包是一款。
7、比特币新钱包bitcoincore其实同币包钱包一样,都是用于存放比特币可以在网上直接搜索,然后找到相关网站,进入,网址就是钱包地址都是需要用户进行注册,可以个人帐户后台同样也可以找到用户自己的比特币莱特币等多个。
8、比特币地址是大约33位长的由字母和数字构成的一串字符,总是由1或者3开头比特币软件可以自动生成地址,生成地址时也不需要联网交换信息,可以离线进行可用的比特币地址非常多钱包地址的特点 钱包地址通过随机选出256位。
9、这样就找到bitcoin core钱包地址了也可以在 iPhone 上打开此网站,登录并复制 API Keybitcoin core简介 Bitcoin Core比特币核心,有两个理解一个是Bitcoin Core钱包另一个是指Bitcoin Core团队也就是钱包的开发。
10、下载比特币钱包,打开钱包就会自动生成钱包地址比特币钱包是一种遵特比特币网络协议的软件,它可以用来存储发送收取比特币比特币钱包分三类比特币客户端钱包比特币网络web钱包比特币手机和pad钱包。
11、你好,在比特币区块浏览器上只能查询订单的明细,具体是什么交易所的是查询不到的哈,比如从火币交易所转入讯齐交易所,你就只能看到转出和转入的地址,却不能知道是什么钱包或者交易所的除非你对他们交易所的地址了解。
12、ChainLink CoinUSDCCrypto com币CROVeChainVENIno币INOBATBATPaxos标准PAX支持的加密钱包功能列表比特币钱包BTC, EOS钱包EOS, Ether。

13、下载比特币钱包,打开钱包就会自动生成钱包地址你的比特币都放在你的“钱包”中一个钱包可以包含很多很多很多个地址地址的形式就是形如延展阅读比特币Bitcoin比特金最早。
14、不会你只用一个私钥导入其他币种,就是说只用一个私钥管理所有币种Bitpie app指的就是比特派钱包,这是一款由比太团队研发的比特币钱包软件,致力于为用户提供安全,隐私的资产管理以及交易和应用服务,并且内置了一站式。
15、看上去像一堆乱码一样,说白了这个就像你的银行卡卡号一样通过区块链查可以查每个比特币地址的所有转账记录,公开透明如何获取自己专属的比特币地址呢我们可以下载一个比特币钱包注册好钱包后点击收币就可以看到。
16、下载,安装,完成以后,点击箭头看到的就是。

Ⅷ 如何查询比特币接收情况

具体操作如下:
1、首先需要登录你的地址所在地找到地址,并且复制你的地址。
2、点击资金管理页面就可以找到你的比特币地址。
3、在区域块查询把你的地址复制之后点击搜索即可查询到你的地址情况。
4、查询之后在页面右上方可以查询到该地址情况。
5、在页面下方可以查询到每笔交易的动向和交易的地址以及确认的次数等。

Ⅸ 比特币的加密(秘钥、地址、脚本验证)

https://en.bitcoin.it/wiki/Address

https://www.cnblogs.com/zhaoweiwei/p/address.html
生成方式:

P2PKH的交易脚本

举个真实的例子:
ScriptSig:
PUSHDATA(72)[9701] PUSHDATA(33)
[]

这里面的一个scriptSig由2部分组成,第一部分是签名,第二部分是公钥,PUSHDATA(N),表示要压入栈顶的byte,1个byte表示2个字符,PUSHDATA(72)表示压入144个字符

Output Scripts
HASH160 PUSHDATA(20)[] EQUAL
DUP HASH160 PUSHDATA(20)[] EQUALVERIFY CHECKSIG

第二个找零output地址因为是P2PKH开头的,所以格式和描述的一样

https://www.hibtc.org/2428.html
结合多重签名一起使用
scriptSig: ..signatures... <serialized script>
scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL

表示一共有n个参与方,只要有m个参与方同意了这笔交易,则这笔交易就生效了,具体的规则是通过scriptHash里面的脚本内容决定的
m-of-n multi-signature transaction:
scriptSig: 0 <sig1> ... <script>
script: OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG

ScriptSig:
0[] PUSHDATA(72)[1201] PUSHDATA(71)[01] PUSHDATA1[]

HASH160 PUSHDATA(20)[] EQUAL

结合P2SH的新特征

https://en.bitcoin.it/wiki/Transaction
目前比特币支持两种类型的交易:Pay-to-PubkeyHash、Pay-to-Script-Hash

验证一笔P2PKH交易的一个输入是否合法:

总结:先验证这笔output是不是属于该用户,再验证该用户的签名是否有效

参考:
https://blog.csdn.net/jerry81333/article/details/56824166

初级版的比特币交易
https://www.jianshu.com/p/a57795ec562c

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

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

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

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

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

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

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

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

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

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

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

热点内容
币圈大咖的视频 发布:2025-06-26 07:00:18 浏览:277
区块链在贸易融资中具体应用 发布:2025-06-26 06:46:12 浏览:781
1usdt相当于多少人民币2020 发布:2025-06-26 06:26:02 浏览:834
比特币私链构建 发布:2025-06-26 06:18:17 浏览:829
10家主流交易所usdt 发布:2025-06-26 05:57:10 浏览:715
BTC中一张 发布:2025-06-26 05:56:23 浏览:239
流动性挖矿usdt交易对 发布:2025-06-26 05:54:10 浏览:703
区块链与医疗器械 发布:2025-06-26 05:47:53 浏览:320
成都区块链具乐部 发布:2025-06-26 05:20:00 浏览:414
莱特币确认数多少钱 发布:2025-06-26 05:09:46 浏览:213