🔐哈希锁及保险箱
Last updated
Last updated
哈希锁的基本原理是利用哈希函数的强无碰撞属性,以哈希值为锁,锁定链上标的权益,以源数据为钥匙,用来触发解锁函数(即,将源数据的哈希运算结果等于哈希值作为解锁条件)。权益出让方在锁定函数中设置标的权益的数量、受让方、有效期等信息,然后将解锁的源数据作为秘钥,在链下收到对价的同时交付给权益受让方;受让方获得秘钥后,在链上输入源数据以满足解锁条件进而触发解锁函数,使得标的权益自动变更到自己名下。这样就可以实现链下收取权益对价,链上自动转让簿记权益的交割安排。
系统的保险箱具备两项基本功能,一是以哈希锁原理设立锁定函数和解锁函数,使得系统用户可以用保险箱锁定并交割链上簿记权益;另一项功能则是在簿记权益的解锁函数中加入交易对价保险箱的智能合约地址和解锁函数API,使得权益受让方输入秘钥解锁时,系统可同步解开交易对价保险箱的哈希锁,从而可以用同一个区块链交易指令同步解开簿记权益和交易对价两把哈希锁,实现权益和对价同步交割。
保险箱主要的成员包括保险柜对象,以及采用“哈希锁->保险柜对象”结构的保险箱映射表。
from
权益出让方用户编号。
to
权益受让方用户编号。
expireDate
保险柜有效期截止时点。
value
锁定权益的数额。
counterLocker
锁定交易对价的保险柜合约地址。
payload
交易对价解锁函数调用指令数据内容。
保险箱的成员包括采用“哈希值->保险柜对象”的保险柜映射表,以及所有作为检索键的哈希值列表。
getHeadOfLocker
查询特定哈希锁对应的保险柜Head对象。
getLocker
查询获取特定哈希锁对应的保险柜对象。
getSnList
查询获取保险箱内所有哈希锁列表。