昨天一晚上没睡觉研究读$DUSK 白皮书读到Phoenix的note结构那一段,有一行字让我停下来看了很久
note的加密字段enc,是用收件人的view key加密的。白皮书说,view key允许用户把扫描网络查找交易的权限委托给第三方,但对方拿不到完整的secret key,所以花不了钱
我一开始没太在意这个细节。后来想通了,这其实就是选择性披露的密码学核心。同一条交易数据,用不同的密钥控制不同的访问权限
白皮书里view key的定义是(a, B),secret key是(a, b)。少了一个私钥分量b,就多了一层安全边界。note的加密数据可以解密查看,但无法生成对应的nullifier花掉。这套机制的本质是,控制权和使用权可以被拆开
对公众来说,交易是加密的,ZK证明只验证正确性不暴露数据。对监管来说,授权方拿到view key就能解密note的具体内容,验证余额、交易对手和合规性,但无法动用资金。@Dusk_Foundation 官网说这叫controlled visibility for audit, supervision, and regulated disclosure,我越看越觉得这个表述精准
一套密码学钥匙,同时解决了隐私和合规这两个看似矛盾的需求。公众看不到,监管看得清,用户自己说了算
#dusk
不过说实话,我还没完全想通Hedger的EVM环境里怎么对齐view key这套机制。白皮书里的view key是针对Phoenix原生的UTXO模型设计的,Hedger走的是混合UTXO/账户模型,两者的密钥体系能不能无缝映射,我还没找到明确的答案
note的加密字段enc,是用收件人的view key加密的。白皮书说,view key允许用户把扫描网络查找交易的权限委托给第三方,但对方拿不到完整的secret key,所以花不了钱
我一开始没太在意这个细节。后来想通了,这其实就是选择性披露的密码学核心。同一条交易数据,用不同的密钥控制不同的访问权限
白皮书里view key的定义是(a, B),secret key是(a, b)。少了一个私钥分量b,就多了一层安全边界。note的加密数据可以解密查看,但无法生成对应的nullifier花掉。这套机制的本质是,控制权和使用权可以被拆开
对公众来说,交易是加密的,ZK证明只验证正确性不暴露数据。对监管来说,授权方拿到view key就能解密note的具体内容,验证余额、交易对手和合规性,但无法动用资金。@Dusk_Foundation 官网说这叫controlled visibility for audit, supervision, and regulated disclosure,我越看越觉得这个表述精准
一套密码学钥匙,同时解决了隐私和合规这两个看似矛盾的需求。公众看不到,监管看得清,用户自己说了算
#dusk
不过说实话,我还没完全想通Hedger的EVM环境里怎么对齐view key这套机制。白皮书里的view key是针对Phoenix原生的UTXO模型设计的,Hedger走的是混合UTXO/账户模型,两者的密钥体系能不能无缝映射,我还没找到明确的答案