四目观天下

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

(本文以比特币为例,同时适用于绝大多数山寨币)(不适用于极少

[复制链接]
发表于 2021-1-12 07:42:07 | 显示全部楼层 |阅读模式
(本文以比特币为例,同时适用于绝大多数山寨币)5 Q. S( I8 F$ I  E. |9 t1 c
(不适用于极少数改动巨大的山寨币,但是这样的币就不应该再叫山寨币了)/ s8 a; _# E9 ?6 y
将比特币发到山寨币的地址上,会发生什么?
  s: q7 F4 T5 _3 W通常情况,因为一般的山寨币地址开头和比特币的不一样,地址是非法的,交易根本就不会成功。6 u+ M$ I, K% ]6 L- E/ G6 _- r8 U
(但是,只要稍微处理一下,依旧可以使交易成功,并且对方可以花费这些比特币,好奇宝宝请看最后的部分)& R* I7 g, `2 n  g; ?9 I
如果山寨币地址的开头和比特币地址是一样的呢?
, \& a$ r/ R0 D8 ~3 ~/ X: l情况1,有一些山寨币,地址也是1开头的,例如开发币DVC。
0 n9 b. R+ h0 Q那么地址是合法的,交易成功,比特币发出去了。发到哪里了?
& B7 {9 V, {5 O8 ]如果你看过《比特币和山寨币地址规律》比特币和山寨币地址规律
" b. @; _9 ^4 M1 |+ n0 d2 g9 d你就会明白,1开头的地址,NetworkID必然是0x00。
' m: g7 R& c1 O; B2 @! Y=>BTC地址和DVC地址、私钥、公钥是完全相同的。
3 Q$ H! v; o2 N  I  F& ~: n  R=>同一个私钥,可以导入BTC客户端,可以导入DVC客户端,生成的地址也完全相同。% ]8 @& w; r1 `: z/ ?5 X
=>如果你把比特币发到山寨币地址,并且交易成功了,那么拥有这个山寨币地址对应私钥的人,就可以使用这些比特币了。
. N/ i" W/ c- K2 M6 Q+ H(两种密码币的NetworkID一样的情况,还有狗狗币DOGE与数码币DGC)
, }7 c( k) ^+ j; o( P9 J, t( h情况2,虽然没听说过,但是山寨币可以设置其NetworkID为0x05.地址3开头。
+ X: E, t) r( a" r3 Q0 a& r这种地址被比特币客户端识别为“合成地址”,也是合法地址,交易成功,比特币发出去了。发到哪里了?
3 y. ~, k4 C% L; Y" [想为合成地址签名(即多重签名)的时候,需要额外的参数"redeemScript",生成山寨币地址时当然不会生成多重签名用的redeemScript,所以……无法签名,这些币大概就相当于丢失了。(我对多重签名了解不深,如果错了请指教)
' F  I# E& R1 D( M最后说说更有趣的事情:
' ?/ }5 d( a; L, ~$ S4 d如果我只知道一个人的比特币地址,并且确信他掌握着这个地址的私钥,我能不能给他发一些山寨币?( ]. B- h* i% K$ j
可以。
5 A1 A' U* \) d2 W# z- P简单地说,我们可以看破比特币地址的“本质”,然后将它打包成需要的山寨币地址,然后,往这个山寨币地址发山寨币就可以了。6 s4 @5 w) m- r+ ]* U! O
接收方用同样的方法,看破比特币私钥的“本质”,将它打包成山寨币私钥,就饿可以花费这些山寨币了。1 y9 {# R5 _4 X" G7 n
————原理————% t6 f# _: C/ }" N  @
我们通常看见地址和私钥,都是经过一次Base58Check处理的,这种写法会产生一部分冗余信息,冗余信息包括四个校验字节,为了防止错误输入;还有一个头字节,使地址、私钥更加容易被人类识别。
! t4 v9 ]5 I/ s2 Z  Y  P7 K3 v6 R去掉这些冗余信息后,比特币和山寨币的地址/私钥其实是一样的。( Q& ^2 g; J/ i
因为山寨币没有改变比特币私钥->公钥->地址的算法,所以相同的私钥,一定会生成相同的地址。8 C2 C: p# i8 e9 I+ r; J
————细节————
+ L8 G; }  d; R* H4 E例:发送方知道接收方的比特币地址A1,知道接收方掌握着这个地址的私钥R1。
7 l/ S6 i) ^( n合法的私钥和地址都是经过Base58Check处理得到的字符串,它的逆运算是:转化为16进制,去掉前两位和后八位。
' O' K- o' W$ d" {地址A1:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm# A! W9 b" U6 J2 {
十六进制:0091b24bf9f5288532960ac687abb035127b1d28a50074ffe0) X# {% S& Z; `
去掉前2后8:91b24bf9f5288532960ac687abb035127b1d28a5* i$ C5 [, ^  x6 p  `" o# J9 z
这就是公钥进行哈希运算的结果,HASH160。1 a. L; e$ u/ T* i2 G9 R
再套上莱特币的参数48,执行Base58Check,得1 U$ i( I. a1 d: I+ ^$ {. V
LYWKqJhtPeGyBAw7WC8R3F7ovxtzAiubdM
6 n6 {0 t, z3 K/ g0 d发送方可以向这个地址发送莱特币。
+ J3 a# F. z3 M# {. s) D接收方需要将R1用相同的方法处理一下,得到山寨币的私钥:1 z' [7 e* K! ~& F. y; ]3 U
私钥R1:5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf6 d4 R6 J! w( K, S1 |9 q' [
十六进制:800000000000000000000000000000000000000000000000000000000000000001a85aa87e/ ?( @% ~% j  p
去掉前2后8:0000000000000000000000000000000000000000000000000000000000000001
3 T- R% S7 [# m) @0 @8 j这就是私钥的16进制写法,Private Key Hexadecimal Format。: l# e+ S4 F2 d; y! B1 M3 M/ P( V+ C
用参数48执行Base58Check得3 F8 j7 R) x8 H$ S
6u823ozcyt2rjPH8Z2ErsSXJB5PPQwK7VVTwwN4mxLBFrao69XQ- O$ A3 v+ x$ s, W6 a' R
接收方可以用此私钥花费莱特币。
6 C9 f& N5 e9 k4 k3 A————完毕————2 ?6 l8 g+ r* P, R
打赏 1BfXayW2vrj6uRpoZg3nR8rMEckLpGmaiL3 T- C) ^1 l, e+ n5 B6 @
软妹币打赏 SKZkDHNBZbo8VU8d3Rcb9TcmUPsE5B5Dix
http://www.simu001.cn/x227962x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

发表于 2021-1-12 07:43:00 | 显示全部楼层
(本文以比特币为例,同时适用于绝大多数山寨币)  q* |5 N5 {6 h, L  u- Q7 e
(不适用于极少数改动巨大的山寨币,但是这样的币就不应该再叫山寨币了), S, @/ ~8 o* u' A5 Y
将比特币发到山寨币的地址上,会发生什么?
& v; J; U) V" V/ o通常情况,因为一般的山寨币地址开头和比特币的不一样,地址是非法的,交易根本就不会成功。" j; C6 {1 `6 E7 R) O% S1 [, ]5 r
(但是,只要稍微处理一下,依旧可以使交易成功,并且对方可以花费这些比特币,好奇宝宝请看最后的部分)
: V; K$ c* l$ i: W3 ?如果山寨币地址的开头和比特币地址是一样的呢?- M" y/ L  X! u# q% G1 K! `
情况1,有一些山寨币,地址也是1开头的,例如开发币DVC。4 S4 v. g% ~( c7 M3 Y4 q% n0 K
那么地址是合法的,交易成功,比特币发出去了。发到哪里了?# d8 f% y" g. T/ E6 Z
如果你看过《比特币和山寨币地址规律》 比特币和山寨币地址规律  0 X) U1 N" ^) Y0 t
你就会明白,1开头的地址,NetworkID必然是0x00。
  s+ `% M# j+ _+ S2 ^  _=>BTC地址和DVC地址、私钥、公钥是完全相同的。
0 s- p- p% r2 `3 B  u) g=>同一个私钥,可以导入BTC客户端,可以导入DVC客户端,生成的地址也完全相同。; q, A7 C4 N2 l9 K2 H" a) u  q6 k
=>如果你把比特币发到山寨币地址,并且交易成功了,那么拥有这个山寨币地址对应私钥的人,就可以使用这些比特币了。1 [/ `% ^2 X* g/ C
(两种密码币的NetworkID一样的情况,还有狗狗币DOGE与数码币DGC)
9 m2 V, d8 s# X; t/ r' K情况2,虽然没听说过,但是山寨币可以设置其NetworkID为0x05.地址3开头。
! P, U- B( t8 A# a! z8 l  [: {) C  o这种地址被比特币客户端识别为“合成地址”,也是合法地址,交易成功,比特币发出去了。发到哪里了?
6 w% S/ Y! o' z- x. o) e想为合成地址签名(即多重签名)的时候,需要额外的参数"redeemScript",生成山寨币地址时当然不会生成多重签名用的redeemScript,所以……无法签名,这些币大概就相当于丢失了。(我对多重签名了解不深,如果错了请指教)
4 v: M5 ^) `. w- R4 E0 Z最后说说更有趣的事情:* Q' h# X; }+ d8 Y: f7 U3 |
如果我只知道一个人的比特币地址,并且确信他掌握着这个地址的私钥,我能不能给他发一些山寨币?2 |, M2 P3 y2 D* `0 C, O
可以。
: Z' v3 b* q  t简单地说,我们可以看破比特币地址的“本质”,然后将它打包成需要的山寨币地址,然后,往这个山寨币地址发山寨币就可以了。" V+ U7 W, a+ D( |0 W6 e
接收方用同样的方法,看破比特币私钥的“本质”,将它打包成山寨币私钥,就饿可以花费这些山寨币了。3 x2 P9 m: T' A, Z$ s% y- z) w
————原理————
; m: L8 F  R1 u5 }/ \4 ^3 j, s我们通常看见地址和私钥,都是经过一次Base58Check处理的,这种写法会产生一部分冗余信息,冗余信息包括四个校验字节,为了防止错误输入;还有一个头字节,使地址、私钥更加容易被人类识别。$ h& A! C* g$ A, S0 b' ~
去掉这些冗余信息后,比特币和山寨币的地址/私钥其实是一样的。
2 ]0 a9 K# z+ C# u因为山寨币没有改变比特币私钥->公钥->地址的算法,所以相同的私钥,一定会生成相同的地址。
0 J( f/ Q4 R, t& Z$ I" `. B+ j————细节————) u! A, b: o% j. i" G
例:发送方知道接收方的比特币地址A1,知道接收方掌握着这个地址的私钥R1。
9 q% M) I. @/ i6 f2 t3 C& ]4 t0 ]9 `合法的私钥和地址都是经过Base58Check处理得到的字符串,它的逆运算是:转化为16进制,去掉前两位和后八位。
7 S% O. O+ X, t! y+ I地址A1:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm
" ^1 ^: Z, s6 M& j+ _十六进制:0091b24bf9f5288532960ac687abb035127b1d28a50074ffe03 `& y0 ?! K' m0 _3 B
去掉前2后8:91b24bf9f5288532960ac687abb035127b1d28a5
+ D6 v7 h/ h* S. Y" e% n这就是公钥进行哈希运算的结果,HASH160。+ f( z& I- U0 ]$ e3 M  A" u7 g
再套上莱特币的参数48,执行Base58Check,得
1 }7 b4 N: {$ `LYWKqJhtPeGyBAw7WC8R3F7ovxtzAiubdM; b; p' \! p8 k: S- Q- @2 v
发送方可以向这个地址发送莱特币。1 L- y5 {* e; D) E6 a6 N& `
接收方需要将R1用相同的方法处理一下,得到山寨币的私钥:
8 i( S& E" j- U私钥R1:5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
2 |/ m& b& w) |/ F4 X十六进制:800000000000000000000000000000000000000000000000000000000000000001a85aa87e
7 |' k0 u* \! f4 }3 _' t1 V去掉前2后8:0000000000000000000000000000000000000000000000000000000000000001
( M, h3 a) s/ j. J5 D这就是私钥的16进制写法,Private Key Hexadecimal Format。
' {6 r( H! L" ^用参数48执行Base58Check得
+ s( `* A; G$ {. C- e3 m" L/ p6u823ozcyt2rjPH8Z2ErsSXJB5PPQwK7VVTwwN4mxLBFrao69XQ- m$ @4 c; x3 G: s  r
接收方可以用此私钥花费莱特币。
! K8 Q. ?2 \* r0 m2 ]# |* x————完毕————
6 g/ V, G2 F. Q7 a打赏 1BfXayW2vrj6uRpoZg3nR8rMEckLpGmaiL: X9 J3 D* o, ~! O) ?/ s
软妹币打赏 SKZkDHNBZbo8VU8d3Rcb9TcmUPsE5B5Dix
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Archiver| ( 桂ICP备12001440号-3 )|网站地图

GMT+8, 2026-9-30 20:56 , Processed in 0.568555 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表