比特币地址生成指南-技术指南

可以使用算法哈希函数从开源库生成比特币地址。用户通常需要多个比特币地址才能在区块链中发送硬币。比特币地址是使用称为公钥密码术的概念创建的。但是,只有所有者/用户才知道私钥。

本文介绍了可用于生成比特币地址的脱机算法概念,例如公钥私钥,EDDCA,SHA-256函数,RIPEMD-160哈希和二进制比特币地址。

比特币地址是基于Base58编码的字母数字字符-它们不能包含0(零),O(大写O),I(大写I),l(小写L)字符,并且不能包含+等非字母数字字符(加号)和/(斜线)。有关Base58编码的更多信息,请参见:https://en.wikipedia.org/wiki/Base58

因此,比特币地址只能包含Base58编码指定的字母字符:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

如今,比特币有3种不同的地址格式:

1. P2PKH(Pay-to-PubkeyHash)-1EmtPRcdK168WSN5czx15VuUxBBLhR8MZC-这些地址以“ 1”开头
2. P2SH(付款至脚本哈希)-34S3z3phL2Fdm7QCas3Q8AN9ZwPs7qpPQn-这些地址可以以“ 3”开头
3. Bech32(SegWit)-bc1qh3qfn8fjj05f7v9x4k9yv487xdp6enpl5nslll-这些地址以’bc1’开头

因此,第一步是使用开源比特币目录创建私钥。之后,通过称为椭圆曲线数字签名算法的算法创建比特币公钥。

图形比特币地址生成器:
http://royalforkblog.github.io/2014/08/11/graphical-address-generator/

您可以在此处了解更多信息:

https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm
https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm

以下是一些提供相同功能的开源库:

https://en.wikipedia.org/wiki/Bouncy_Castle_(cryptography)
https://en.wikipedia.org/wiki/Cryptlib
https://en.wikipedia.org/wiki/Crypto%2B%2B

私钥

  • 这些是随机生成的数字,只有用户知道。这可以通过库或密码哈希函数创建。
  • 不得与任何人共享,因为有权访问私钥的任何人都可以访问区块链加密货币
  • 发送和接收时用于签署交易
  • 这是一个32字节的无符号整数(256位)

公钥

  • 公钥可以与私钥结合使用
  • 公钥可以由私钥生成,但是不能从公钥创建私钥(因此,公钥生成是一种单向功能)

比特币地址

  • 比特币地址是匿名的,这意味着没有人知道哪个地址属于谁
  • 无需互联网连接,即可在计算机上离线创建比特币地址。
  • 创建比特币地址是免费的,您无需为此付费
  • 比特币地址只能使用一次。多次使用一个地址会导致严重的安全问题。
  • 比特币地址最多可以包含35个字符。
  • 比特币地址也可以以QR码的形式生成,因此您的手机可以轻松扫描和发送BTC。

BTC_címek

创建比特币地址的技术步骤

  • 使用开源目录创建私钥
  • 通常,最好同时处理私钥和公钥,因此您不必担心实现细节

步骤0:私钥:a4f228d49910e8ecb53ba6f23f33fbfd2bad442e902ea20b8cf89c473237bf9f
私钥基础58:C6t2iJ7AXA2X1KQVnqw3r7NKtKaERdLnaGmbDZNqxXjk

  • 因此,根据从开源目录生成的私钥创建关联的公钥
  • 所以图书馆也提供公钥

第1步:公钥:0356421318d739994e4d9785bf40eac4edbfa21f0546040ce7e6859778dfce5d4

  • 将SHA-256哈希函数应用于步骤1中生成的公钥(您需要在SHA-256之前解码十六进制)。
  • 您可以在此处阅读有关SHA-256的更多信息:https://en.wikipedia.org/wiki/SHA-2

步骤2:SHA-256公钥:82c77b119e47024d00b38a256a3a83cbc716ebb4d684a0d30b8ea1af12d42d9

  • 将RIPEMD-160哈希函数应用于步骤2中生成的结果(公共密钥SHA-256)。
  • 您可以在此处阅读有关RIPEMD-160哈希的更多信息:https://en.wikipedia.org/wiki/RIPEMD

步骤3:针对SHA-256公钥结果的RIPEMD-160哈希值:0c2c910a661178ef63e276dd0e239883b862f58c

  • 将版本前缀添加到步骤3的结果中,该步骤定义了不同的地址格式-00是版本字节(主网络为0x00)。

步骤4:RIPEMD-160哈希与版本字节:000c2c910a661178ef63e276dd0e239883b862f58c

  • 将SHA-256哈希函数两次应用于步骤4(SHA-256(SHA-256(ripemd-160WithVersionByte)))。

5-6。步骤:2 *用于带有版本字节的RIPEMD-160哈希的SHA-256哈希:c3c0439f33dc4cf4d66d3dd37900fc12597938a64817306b542a75b9223213e0

  • 从第6步中生成的结果中断开前5个字节,这是第二个SHA-256函数的输出结果中的结果

步骤7:CheckSum:c3c0439f

  • 将校验和添加到步骤4中生成的RIPEMD-160哈希版本字节

步骤8:25个字节的比特币地址:000c2c910a661178ef63e276dd0e239883b862f58cc3c0439f

  • 使用Base58应用并将比特币二进制地址转换为比特币地址格式
  • 您可以在此处阅读有关Base58的更多信息:https://en.wikipedia.org/wiki/Base58

步骤9:比特币地址:127NVqnjf8gB9BFAW2dnQeM6wqmy1gbGtv

您还可以在区块链上找到地址:
127NVqnjf8gB9BFAW2dnQeM6wqmy1gbGtv

资讯来源:由0x资讯编译自BITCOINBAZIS。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢