Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

再论DAGX钱包

945坏男人
345 0 0
Dagx的钱包类型分为两种:
5 S) D: z  j1 p  d
& V) J4 C7 j6 T0 s0 V" t# j单设备钱包:该类型钱包仅由单一设备控制,它与特定设备地址是绑定的,钱包中的地址为单签名地址;. ^: R+ M, |6 k: q7 G: @

4 e( r4 p. m% U% S! l( o* J& `$ N3 I( [# d
多设备钱包:该类型钱包由多个设备共同控制,它与若干个设备地址绑定,钱包中的地址为多签名地址。
6 U1 D) I! a& `7 o1 K' g5 k

- N+ a1 Z' w6 ]在之前的文章中,我们提到,Dagx的地址分为三种:( R6 `& _4 `3 e& v& r3 B
* B. z4 ~8 K" t5 y
普通地址:地址定义中不包含其它地址,采用BASE32编码,长度为32,比如A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU;& w$ j: `  e- }# E' J( p

2 V* a! [4 d  x5 K2 q) b, k' O$ N9 S2 w$ V
共享地址:地址定义中包含了其它地址,地址格式与普通地址相同,通常用作智能合约地址;
3 }* _2 L+ W! D6 J- N
% y/ }8 E4 l" S- i% _) J% n3 F
3 k1 p$ L" \, |& A/ U
设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。5 D0 ]) m7 f% B$ @, @& n& z/ G
& J! @7 |9 n  f' s# t/ ^, D7 O0 I/ y5 n
因此,Dagx的钱包与地址可以总结为下面这张图:) ]9 t6 c! Z# g9 [
" C5 t7 L/ W- v3 `" l( `0 [- a$ a1 Z
其中:设备具有唯一的设备地址;普通地址包括单签名地址和多签名地址,单设备钱包生成单签名地址,多设备钱包生成多签名地址;多个普通地址可以共同构成共享地址。
6 q2 L& s: L9 a# [" w  q, ~单签名地址
) [6 u0 i  A8 S单设备钱包由单一设备生成,假设设备地址为    DEVICE_ADDRESS,单设备钱包中单签名地址定义的模板为:
* e+ V6 I; f/ A/ ?8 e. `  > 6 @9 Q2 i5 D* m4 @+ H; L
    ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]) N+ ^. s0 P4 G( ]0 f7 V: z8 u
    > ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
/ w9 F0 U) M6 G) [# A具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。% a" K! V- u5 h4 Z& R
多签名地址
  K( V% W: _( d7 X' I多设备钱包由多个设备共同控制。假设3个设备的地址分别为DEVICE_A_ADDRESS、DEVICE_B_ADDRESS以及DEVICE_C_ADDRESS。我们需要生成一个2-3的多设备钱包,即3个设备中至少需要2个设备签名才可以生效,则相应的多设备钱包中多签名地址定义的模板为:) a8 r3 r5 T/ ~
   > ["r of set", {
3 z* Y& E. F. [% c+ \* w6 U            required: 2,% t, L; `  }( Y9 R
            set: [
' O, L7 j3 F# e) {$ a                ["sig", {pubkey: '$pubkey@DEVICE_A_ADDRESS'}],
* a: Z' W3 g/ `* o. A- ?6 V                ["sig", {pubkey: '$pubkey@DEVICE_B_ADDRESS'}],
# s* ?! U3 Q* S1 d& I; t: t                ["sig", {pubkey: '$pubkey@DEVICE_C_ADDRESS'}],
7 y2 l$ F4 W8 d  G5 y+ x            ]
$ X! W- C+ R- i        }]}]
7 j8 O3 |% A5 Y; n* _* h在创建多设备钱包时,设备之间会通过加密消息相互交换xPubKey。这样,不同的设备可以依据相同的地址路径生成相同的地址。
9 G0 Y1 X0 w/ @4 V# a5 W) I! I' K1 V共享地址
3 J# G- j# e" s& W+ j4 K共享地址本质上可以认为是智能合约的地址,例如    flight delay insurance的地址定义(或者智能合约)示例为:6 D* T5 D+ {! H4 X
["or",[
  r$ T& u6 `, X7 N9 W9 ?( p    ["and",[
$ h" I  }9 w! C; [       ["seen",{"what":"output","address":"this address","asset":"base","amount":22664}],' n. P0 ?' ~" W; N* e8 q
       ["or",[  V& [+ P+ @0 @( R/ t
           ["and",[
8 E# ]; T' H7 s& G  X6 L               ["address","TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ"],
7 i! L6 A9 w$ V* w               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18",">","60",2810590]]]],
3 _' j! c6 F5 H* {6 s% i           ["and",[0 p- m, @3 |9 C1 ?4 o  S
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],0 j& j. D# {2 N% Q8 I
               ["in data feed",[["I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT"],"timestamp",">",1529442000000]]]],
1 m1 Z2 n( h8 r           ["and",[/ v2 i' s" o$ |9 Y1 |* J. I6 w
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],
3 Z1 E. G) b: X. x4 t4 B" w, d               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18","",1529034037936]]]]]' h0 {4 O: O+ N
上述地址定义中共涉及到两个地址TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ及4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ,它是这两个地址的共享地址。( G3 r* X/ I$ H) @/ c/ @
通过上述地址定义,可以得到该共享地址为        WDCIIWRDHSNNE2DQZ7YVU53USELZBLGV。其中,地址的签名路径包括:
5 N9 h% D  a( g& ?- L{
, J0 }9 d8 u, W: W& b: Q3 ?# \$ P    r.0.1.0.0: "TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ",# t  s) I  e- l4 h' H) _% c
    r.0.1.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"
* N  E8 F( f/ F' @) `2 G    r.0.1.2.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"3 R0 \& ^7 D7 x( J0 A
    r.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"2 @1 s% N, R1 x' z$ w
}4 b* F* r; k! @6 C: K& ?
只有满足合约中相应的条件,且具有相应路径的签名,才可以对共享地址中的资产进行操作。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10