Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

再论DAGX钱包

945坏男人
478 0 0
Dagx的钱包类型分为两种:
* k1 L5 ?" K+ }& o
2 S  ~2 \4 {) S- t单设备钱包:该类型钱包仅由单一设备控制,它与特定设备地址是绑定的,钱包中的地址为单签名地址;' q. P! ^) C2 V0 \  z- w

. |2 [; e" E+ h5 `8 h6 M5 \" ?% O$ ?1 F' m
多设备钱包:该类型钱包由多个设备共同控制,它与若干个设备地址绑定,钱包中的地址为多签名地址。1 Y+ J- j5 Y) ~; I# S+ i2 p

2 r' J& E9 @6 _% q! g) b$ V3 ~3 C在之前的文章中,我们提到,Dagx的地址分为三种:" Z  G- C9 y6 B
8 q; u9 B; ~' n" n4 D
普通地址:地址定义中不包含其它地址,采用BASE32编码,长度为32,比如A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU;: ^- @+ B# x9 R" e8 ]" E9 J
5 Z6 r! K9 D9 W# j1 s
! L$ W/ m4 X- ]2 \- Z2 e$ B
共享地址:地址定义中包含了其它地址,地址格式与普通地址相同,通常用作智能合约地址;
' n5 ^. _4 X9 @! d; E
& |5 K* J" I6 T0 L$ Q. f
8 u& \$ t5 k$ v  r" \* ?4 j% ]
设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。设备地址:生成方法及地址格式类似普通地址,但在设备地址在头部添加了一个0,长度为33,比如05FV4WNIEU4OHIAIF7XEIRC2QRRLFPAC3。7 \2 P7 q6 b7 R5 ^8 X9 [% \

: s+ h/ Z* `& o& Q因此,Dagx的钱包与地址可以总结为下面这张图:& @1 P, P/ S: {( c0 t
* s4 d. u4 I; W; v4 N: f
其中:设备具有唯一的设备地址;普通地址包括单签名地址和多签名地址,单设备钱包生成单签名地址,多设备钱包生成多签名地址;多个普通地址可以共同构成共享地址。
# y- R2 K, y% e; I单签名地址* r" M) J6 y& O  y# Y# n+ e
单设备钱包由单一设备生成,假设设备地址为    DEVICE_ADDRESS,单设备钱包中单签名地址定义的模板为:
& [$ n$ H6 X& e9 X* X' N9 N: D  >
2 d4 [* ~. B& N" B& r    ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]
, x2 `/ a6 _0 W" T- [- w    > ["sig", {pubkey: '$pubkey@DEVICE_ADDRESS'}]& S; V5 C3 z& V. N6 n
具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。具体在生成地址时,$pubkey@DEVICE_ADDRESS会替换成相应的公钥。. d, o) a7 v: }# ^
多签名地址
* o1 Q1 ~6 j' u4 l多设备钱包由多个设备共同控制。假设3个设备的地址分别为DEVICE_A_ADDRESS、DEVICE_B_ADDRESS以及DEVICE_C_ADDRESS。我们需要生成一个2-3的多设备钱包,即3个设备中至少需要2个设备签名才可以生效,则相应的多设备钱包中多签名地址定义的模板为:9 X) p2 Z$ y* o* Z
   > ["r of set", {
' z8 d6 t$ V' ]# q. ~% T/ Y* e            required: 2,
% ~1 {/ o" s4 Q) i7 S! f            set: [' J* B) Y/ }0 t" Q' M3 J
                ["sig", {pubkey: '$pubkey@DEVICE_A_ADDRESS'}],
/ e! n6 r3 A  t3 f: \                ["sig", {pubkey: '$pubkey@DEVICE_B_ADDRESS'}],5 H" m7 X3 p& M8 X6 d4 \
                ["sig", {pubkey: '$pubkey@DEVICE_C_ADDRESS'}]," c3 J4 |. m& G& B
            ]
$ M# I0 F1 a- d: i; K        }]}]+ m9 @: w1 R# T3 Y; t0 k, d6 ?
在创建多设备钱包时,设备之间会通过加密消息相互交换xPubKey。这样,不同的设备可以依据相同的地址路径生成相同的地址。& d0 G  `/ M6 I- [" N
共享地址
; }2 s* o  Y5 }) _共享地址本质上可以认为是智能合约的地址,例如    flight delay insurance的地址定义(或者智能合约)示例为:0 Q' t  t$ h+ D6 s/ u
["or",[) g  ]* o6 ^1 }6 a2 E! }
    ["and",[% @- c% Q/ I& u$ a  `
       ["seen",{"what":"output","address":"this address","asset":"base","amount":22664}],6 l! k- e+ m) q+ a+ v7 ^) Y. g  g% v
       ["or",[* M" ?- N! w- Z
           ["and",[
" i) j1 e) N7 p; {5 a2 U! K               ["address","TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ"],
; t- i9 x3 X" ~/ d, U               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18",">","60",2810590]]]],% C: K+ V; j! v6 Y* H( N
           ["and",[
. L7 U; Y! u$ p# F: V2 Q               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],
4 o; \1 h4 f% S, \* _, x               ["in data feed",[["I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT"],"timestamp",">",1529442000000]]]],% {1 ?" C  J* _: B* `$ U3 P
           ["and",[' S6 P9 ], `; B4 E
               ["address","4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"],$ d7 j9 M# R# @" d+ a9 ?
               ["in data feed",[["GFK3RDAPQLLNCMQEVGGD2KCPZTLSG3HN"],"MU5152-2018-06-18","",1529034037936]]]]]
9 V  w6 `8 @! u2 z$ ?6 {6 ?上述地址定义中共涉及到两个地址TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ及4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ,它是这两个地址的共享地址。- q% d) O2 y' a6 m* o* g
通过上述地址定义,可以得到该共享地址为        WDCIIWRDHSNNE2DQZ7YVU53USELZBLGV。其中,地址的签名路径包括:% l( c8 o+ j2 x& T/ G( _9 O
{
: ?; `/ I5 y# Q    r.0.1.0.0: "TTD2AVY4W2VH62NJXIP7R67XBHWZRQRJ",
1 l6 b% u2 c& {$ a+ F    r.0.1.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"6 _7 g" \5 Z! K0 i4 Z0 D
    r.0.1.2.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ"
& m8 Z* w7 C! U6 }    r.1.0: "4JZOKE43GALLZA4P63NXT7NYAJLSMNYZ": Z) b$ G% ^( n  q: s  l
}
& v+ Q  J  {( I! B只有满足合约中相应的条件,且具有相应路径的签名,才可以对共享地址中的资产进行操作。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10