Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

再论DAGX钱包

945坏男人
482 0 0
Dagx的钱包类型分为两种:- E; q* M( W* U% t

3 d. D- k! T2 k! F: i6 n( m3 Z单设备钱包:该类型钱包仅由单一设备控制,它与特定设备地址是绑定的,钱包中的地址为单签名地址;! B) K+ @' a0 O. K

) Y1 ^- |7 j1 }$ y9 I3 f1 u: _4 t- v6 S' ?% I
多设备钱包:该类型钱包由多个设备共同控制,它与若干个设备地址绑定,钱包中的地址为多签名地址。7 T; j2 C- j8 A2 q1 d

: ?& ?  \( M' a在之前的文章中,我们提到,Dagx的地址分为三种:  t- {" l; M! c& Z% H7 c

$ y0 U& n/ U6 \! h8 S# S- j; S普通地址:地址定义中不包含其它地址,采用BASE32编码,长度为32,比如A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU;
+ R4 r' c$ r, l- C

1 x! g& s  A8 F8 W- w8 q* `1 J$ U1 ~
共享地址:地址定义中包含了其它地址,地址格式与普通地址相同,通常用作智能合约地址;  `9 r: p) D; A# A6 i

3 `: c$ V. K- g3 A
& v6 v6 V; d7 j/ f& A( J设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。
) F4 _1 M' b' P9 G4 b5 N
# z. H& \3 N' Q
因此,Dagx的钱包与地址可以总结为下面这张图:& N8 g8 n% R- Z4 }5 |
& k. A+ {0 T8 Q8 d0 q3 f) E1 V
其中:设备具有唯一的设备地址;普通地址包括单签名地址和多签名地址,单设备钱包生成单签名地址,多设备钱包生成多签名地址;多个普通地址可以共同构成共享地址。
3 Z- R0 [; b: b单签名地址; d4 \$ E1 ~9 T9 T- q7 J
单设备钱包由单一设备生成,假设设备地址为    DEVICE_ADDRESS,单设备钱包中单签名地址定义的模板为:; x( X: [( t* h
  > 7 t8 k9 x1 L. C3 R# V
    ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
5 H" K  S1 O2 ^2 S4 L0 }) E    > ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
3 M1 m! K6 b( _1 `: Z具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。% i# T: W: Z: M5 ~  @4 Y0 z% C# ?% G
多签名地址
4 _$ O6 Y, ~' u5 K2 ]% u) M' C0 F多设备钱包由多个设备共同控制。假设3个设备的地址分别为DEVICE_A_ADDRESS、DEVICE_B_ADDRESS以及DEVICE_C_ADDRESS。我们需要生成一个2-3的多设备钱包,即3个设备中至少需要2个设备签名才可以生效,则相应的多设备钱包中多签名地址定义的模板为:
/ i2 M( x  Z9 t5 l  b8 d   > ["r of set", {1 M8 I) g1 D) @  J3 a
            required: 2,+ }: \/ P% ~  }' _: B
            set: [
' P( Z! M$ [( @) \% B                ["sig", {pubkey: '$pubkey@DEVICE_A_ADDRESS'}],' p1 \9 b$ k/ b; l& T6 |7 \
                ["sig", {pubkey: '$pubkey@DEVICE_B_ADDRESS'}],
5 O0 R1 U4 W% f                ["sig", {pubkey: '$pubkey@DEVICE_C_ADDRESS'}],
4 V' d/ K  S, b& o& F            ]5 P# @8 M: N% }- ~9 f
        }]}]
8 |' j1 u9 C- A8 Y在创建多设备钱包时,设备之间会通过加密消息相互交换xPubKey。这样,不同的设备可以依据相同的地址路径生成相同的地址。
4 ^) r- p# m3 |$ y共享地址
& ~, r( N9 h3 \  N8 E" v; u共享地址本质上可以认为是智能合约的地址,例如    flight delay insurance的地址定义(或者智能合约)示例为:6 ]+ f) ~8 M; l8 P3 e+ G8 n
["or",[: i( l$ }$ P( k/ o5 e
    ["and",[
. Q% p# `: e+ P% s8 t! m1 f       ["seen",{"what":"output","address":"this address","asset":"base","amount":22664}],7 s! q- t0 X. P: U0 r
       ["or",[# ?- L0 Q; o  V- [; b; w
           ["and",[
3 y( k0 E. C' Y* e* p& p6 J               ["address","TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ"],! ]7 p8 p, K, P3 u
               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18",">","60",2810590]]]],/ q& T) d; [5 ]) ?
           ["and",[5 K! r; C5 }+ k7 q$ F
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],
+ E- p& _/ {, t" E+ _/ L               ["in data feed",[["I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT"],"timestamp",">",1529442000000]]]],- t! b8 S& o- G% ^# ^: {3 P3 W
           ["and",[6 |. v/ P3 q4 K
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],0 {) A- y* A7 @
               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18","",1529034037936]]]]]
" Q: Z/ B6 U0 a/ e2 A上述地址定义中共涉及到两个地址TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ及4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ,它是这两个地址的共享地址。
! A6 k1 B4 W) v3 z4 S' R通过上述地址定义,可以得到该共享地址为        WDCIIWRDHSNNE2DQZ7YVU53USELZBLGV。其中,地址的签名路径包括:. I% q; E6 B' K- c  T
{
0 J: R, v2 @' x) W' {+ e- k    r.0.1.0.0: "TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ",9 e, I6 ^# H) R" I& D
    r.0.1.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"5 Q  h6 |3 N9 G7 U8 A0 R
    r.0.1.2.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"
2 a) R8 E! K9 \, j    r.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"8 s( L, B  n6 ^6 C
}
+ {2 [2 V4 M: P* H) o. }只有满足合约中相应的条件,且具有相应路径的签名,才可以对共享地址中的资产进行操作。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10