Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

再论DAGX钱包

945坏男人
435 0 0
Dagx的钱包类型分为两种:! T9 D. C* S: g2 d8 Z

4 ?4 k( ^+ M" I  B/ R0 P单设备钱包:该类型钱包仅由单一设备控制,它与特定设备地址是绑定的,钱包中的地址为单签名地址;. p: w  w# E2 B
, A; U% B) i$ `! s8 {

# g( U! n! {/ y3 k0 {7 v多设备钱包:该类型钱包由多个设备共同控制,它与若干个设备地址绑定,钱包中的地址为多签名地址。
0 |! t( D! ]# w/ c2 B
. N, y' _; n4 y
在之前的文章中,我们提到,Dagx的地址分为三种:0 a. e6 \* m! r1 h  P$ |

* Z- q5 n! x" M+ N" {, C5 y普通地址:地址定义中不包含其它地址,采用BASE32编码,长度为32,比如A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU;+ X8 G9 p$ O5 N* W( x$ Q; O8 J; |

1 K, E5 w/ \) P, q- `) {" c( d) I/ S! f: ^
共享地址:地址定义中包含了其它地址,地址格式与普通地址相同,通常用作智能合约地址;6 n: V0 p9 `% f5 ?

6 \% f* ]; H% h; s( W
( ]4 l. q9 s5 g设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。5 _9 E& D+ a, Q( s2 J5 h) l

$ U* G% X/ ~9 K因此,Dagx的钱包与地址可以总结为下面这张图:
; H3 N- X4 F1 m% [6 O& J' V  F* I9 v9 g
其中:设备具有唯一的设备地址;普通地址包括单签名地址和多签名地址,单设备钱包生成单签名地址,多设备钱包生成多签名地址;多个普通地址可以共同构成共享地址。! M' c0 g' I# N9 U6 o8 j
单签名地址: q. t. ^0 [9 M! ]' f
单设备钱包由单一设备生成,假设设备地址为    DEVICE_ADDRESS,单设备钱包中单签名地址定义的模板为:6 b2 Q' |. Q0 }: ]+ ]2 a+ |
  > + L6 ~' n, {0 F8 ]
    ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
/ j3 E( ?; ~  w1 C6 j, x. K; _    > ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
) O6 o4 k. h" o/ H具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。
% L0 E' g2 p+ H. |, D0 V+ S% Z多签名地址
. H5 q8 n, H. S& G多设备钱包由多个设备共同控制。假设3个设备的地址分别为DEVICE_A_ADDRESS、DEVICE_B_ADDRESS以及DEVICE_C_ADDRESS。我们需要生成一个2-3的多设备钱包,即3个设备中至少需要2个设备签名才可以生效,则相应的多设备钱包中多签名地址定义的模板为:: k, j/ o( R# h
   > ["r of set", {  b7 P$ ^5 Q* F- W
            required: 2,
; z5 I- s; }# U( e) m            set: [
3 Z% ^) ~$ l* H. y4 Y; ?! @) _& a                ["sig", {pubkey: '$pubkey@DEVICE_A_ADDRESS'}],. y. }7 {; |- B$ ]+ v  E
                ["sig", {pubkey: '$pubkey@DEVICE_B_ADDRESS'}],6 N) a2 ~% d: A) h4 R
                ["sig", {pubkey: '$pubkey@DEVICE_C_ADDRESS'}],: @$ h5 S$ `8 D2 D& L4 S- L; m
            ]
' M# r/ R. T- q6 I' f+ R        }]}]0 ~  @8 U) }" ^5 [. j
在创建多设备钱包时,设备之间会通过加密消息相互交换xPubKey。这样,不同的设备可以依据相同的地址路径生成相同的地址。; `1 _6 i6 P4 Z* P: [$ i" G
共享地址
/ e* T! }& E1 e! b, x2 Y( }共享地址本质上可以认为是智能合约的地址,例如    flight delay insurance的地址定义(或者智能合约)示例为:
9 p' r; J" @" E" F["or",[4 u" X1 f6 f# z7 t- v) u6 h
    ["and",[
; Q) {, y: u$ I' o. `9 e2 w. b       ["seen",{"what":"output","address":"this address","asset":"base","amount":22664}],& q# K; C: Q8 |; l/ h( |
       ["or",[, }' X$ _5 G3 I8 a0 C8 D% P% Y$ @
           ["and",[3 ?" C; H" I1 t4 h0 m. w) P& A8 e
               ["address","TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ"],
' G# u% m5 N2 Q: R5 M               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18",">","60",2810590]]]],/ U/ X3 m3 T/ f7 C
           ["and",[& m$ _. X% ~$ `8 W& Z
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],8 o- Z. F+ k/ j
               ["in data feed",[["I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT"],"timestamp",">",1529442000000]]]],
, G- F7 N8 z% i, B. m8 r1 v. a           ["and",[
# q( t+ F8 {% ~5 p" g               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],# _  c# a# G# M: x" i
               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18","",1529034037936]]]]]* a  @) }0 @& X( ~! f& a! ^; Z
上述地址定义中共涉及到两个地址TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ及4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ,它是这两个地址的共享地址。
7 t7 s) E1 j) y; r  X通过上述地址定义,可以得到该共享地址为        WDCIIWRDHSNNE2DQZ7YVU53USELZBLGV。其中,地址的签名路径包括:! U( \3 Q# ^7 d/ f& D( \3 n8 s
{6 t: w( c& X0 }0 L4 C0 x0 ^- d
    r.0.1.0.0: "TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ",
8 @+ S) F9 D3 ?. g    r.0.1.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"
5 V+ M0 u, }# @+ D; z( q' a9 x    r.0.1.2.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"3 h7 P. p$ H" w) r
    r.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"* G$ V9 v9 V2 g. d; ^
}, j& G7 }% Y& x1 V8 t
只有满足合约中相应的条件,且具有相应路径的签名,才可以对共享地址中的资产进行操作。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10