Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

再论DAGX钱包

945坏男人
400 0 0
Dagx的钱包类型分为两种:2 s6 M9 R$ `/ M! ?3 x
8 Q6 y. j2 l- E2 N
单设备钱包:该类型钱包仅由单一设备控制,它与特定设备地址是绑定的,钱包中的地址为单签名地址;
* v7 N( H2 w0 S4 j: P, @/ c6 {# J$ O
5 y  v# C8 G2 H$ p: \0 Y
# \/ Y8 ~. U8 ?( d7 E: L# T  D5 _
多设备钱包:该类型钱包由多个设备共同控制,它与若干个设备地址绑定,钱包中的地址为多签名地址。# J6 [7 |. X& o! u7 V% A
) L# j0 ]$ T* V. z7 y
在之前的文章中,我们提到,Dagx的地址分为三种:% O* @& ?/ `" @2 i
+ I8 R* H" Z; f1 i
普通地址:地址定义中不包含其它地址,采用BASE32编码,长度为32,比如A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU;0 [; m+ M4 k$ e  M. R& v
6 Q, q  h$ e0 f/ X5 I9 c

5 K( R- B8 v3 m3 }) [7 ^共享地址:地址定义中包含了其它地址,地址格式与普通地址相同,通常用作智能合约地址;# U: X( A" r! `0 F& n& @7 o' \9 L
$ w/ ?% E6 E( }+ \
* [( _4 v" Q* w4 X, `
设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。! Z5 R2 L8 {! P$ _8 o
# ]( `4 f+ z0 }6 d& U6 B
因此,Dagx的钱包与地址可以总结为下面这张图:  t  c+ E+ R% j( o" y
/ I: J1 l, K4 ~7 N1 X. U  \
其中:设备具有唯一的设备地址;普通地址包括单签名地址和多签名地址,单设备钱包生成单签名地址,多设备钱包生成多签名地址;多个普通地址可以共同构成共享地址。; p0 X- I7 N  L" V
单签名地址, `3 e  g, l/ F! E9 `2 T5 y3 u
单设备钱包由单一设备生成,假设设备地址为    DEVICE_ADDRESS,单设备钱包中单签名地址定义的模板为:, Y$ ~- O& A  c. n1 B
  > 1 m/ k8 |/ N0 u: d8 Q" Q2 t2 O0 L
    ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]0 i" T7 w! z. K3 q
    > ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]3 b$ @* n$ u. ]# U* N
具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。6 n! _2 r7 B" r# A( N& g
多签名地址
. @$ i4 L! a, g多设备钱包由多个设备共同控制。假设3个设备的地址分别为DEVICE_A_ADDRESS、DEVICE_B_ADDRESS以及DEVICE_C_ADDRESS。我们需要生成一个2-3的多设备钱包,即3个设备中至少需要2个设备签名才可以生效,则相应的多设备钱包中多签名地址定义的模板为:
% _  K4 b) h1 J1 L9 W   > ["r of set", {; F- |+ }  o- s( K
            required: 2,
' P+ }3 c' d/ F' f            set: [
. Q) E! }( I- D, p: c! p. T7 F; o                ["sig", {pubkey: '$pubkey@DEVICE_A_ADDRESS'}],: u$ H$ ~; V! N
                ["sig", {pubkey: '$pubkey@DEVICE_B_ADDRESS'}],
: S) S, l1 L/ z, e# x. n                ["sig", {pubkey: '$pubkey@DEVICE_C_ADDRESS'}],- G3 i* ^9 Q" C9 @& G
            ]0 k: k# q3 K3 ^5 r
        }]}]3 y2 T  s( q. a' n) w1 R- |
在创建多设备钱包时,设备之间会通过加密消息相互交换xPubKey。这样,不同的设备可以依据相同的地址路径生成相同的地址。
) R9 l% G' ^. ^) T- @共享地址+ M- d  h4 A' @+ u
共享地址本质上可以认为是智能合约的地址,例如    flight delay insurance的地址定义(或者智能合约)示例为:9 V7 E7 U' L4 K5 z
["or",[+ c! u. _3 s( K" x( o6 E' X
    ["and",[
* x( J9 K+ B! T5 y+ {       ["seen",{"what":"output","address":"this address","asset":"base","amount":22664}],
1 `4 e9 z+ w# J* k+ `; n       ["or",[
9 c3 z) u2 Y; k/ W           ["and",[7 P+ J# H  J1 U. }8 M9 k9 O8 W
               ["address","TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ"],
3 [* G" x, Y" `& _               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18",">","60",2810590]]]],
" o& f5 j* P4 B           ["and",[
' ?, `$ t  W* T% O: X' v+ L" n               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],6 B3 o  _" N" _9 z6 D" p
               ["in data feed",[["I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT"],"timestamp",">",1529442000000]]]],
4 N% e" X) \# \) D: d           ["and",[
1 E$ T" T$ y9 r* Q" m$ P( W               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],- o0 M% I" R4 k4 L; @6 O) E
               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18","",1529034037936]]]]]% u/ ^, V) k( R8 q* S$ T
上述地址定义中共涉及到两个地址TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ及4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ,它是这两个地址的共享地址。2 q, l* f) s4 X. [, d4 r
通过上述地址定义,可以得到该共享地址为        WDCIIWRDHSNNE2DQZ7YVU53USELZBLGV。其中,地址的签名路径包括:9 \' w2 A, D2 g# S  Q" u* H
{" A' V% Q4 \! R9 Y: S
    r.0.1.0.0: "TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ",' @5 a! {( N  \) \/ [
    r.0.1.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"4 V' d1 u( b0 L  g8 G9 ~' H  _
    r.0.1.2.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"
8 R( o+ b& C' N; ?- ^0 q    r.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"7 F. b: r: r% |% \
}* @5 t) X2 O/ r5 d/ x5 A+ q
只有满足合约中相应的条件,且具有相应路径的签名,才可以对共享地址中的资产进行操作。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10