洒脱喜一周评 | “N号房”折射隐私之殇,看中科院区块链“天眼”如何破局
写在前面:
关于天眼(SkyEye),我们很容易联想到通过监控视频的“天眼”数字监控系统,或者是可查询企业信息的天眼查,抑或是影视作品《终结者》里的天网(Skynet),这些系统有的能够帮助我们查询到有用的信息,有的则会产生非常严重的后果,例如美国版天眼计划棱镜(PRISM)在被斯诺登曝光之后,便引发了全球范围的担忧。正如现实世界一样,区块链世界也会出现一些违法犯罪的现象,因此对于监管的需求是非常迫切的,但正如棱镜计划一般,赋予监管者过大的权限,可能最终会引发新的灾难。
正是如此,区块链监管必然要进行权衡,既要对潜在的违法行为进行追踪,同时确保监管者不会滥用职权。
这期的学术研究分享,我们会介绍来自中科院学者马天军等人提出的具有监督功能的区块链身份追溯方案BTSOF,该方案是中科院天眼区块链(SkyEye)方案的升级版,在这种架构下,监管机构必须获得委员会的同意,才能对用户数据进行追踪。
而在硬核技术文章精选部分,我们还会看到关于以太坊默克尔树结构切换、密码学原语混淆电路的内容。
另外,在过去的一周当中,比特币闪电网络,以太坊1.X及2.0研发均迎来了一些新的进展。
(图片来自:tuchong.com)
一、“N号房”引发隐私技术争议,中科院区块链“天眼”如何破局
当前有很多区块链研究专注于隐私保护,然而,对于隐私意识非常淡薄的普通用户而言,强隐私技术的发展,并不一定是件好事。
这是因为,犯罪分子也可利用强大的隐私保护功能来对其犯罪进行掩护,例如最近轰动一时的韩国N号房事件,便是这样的例子,其主犯赵主彬主要利用隐私币门罗及Telegram来隐藏其交易痕迹,在这起事件当中,庆幸的是犯罪分子使用了加密货币交易所,因此暴露了他们的身份,若假设他们并未使用这些第三方工具,则会给破案带来巨大的阻力。
也因此,关于区块链身份可追溯机制的研究,似乎在当前的背景下,要显得更为重要一些。
1、1 关于区块链身份可追溯机制的研究
针对保护隐私的区块链项目,一些研究者提出了自己的身份追溯机制,比如:Ateniese和Faonio 提出了一种针对比特币的身份追溯方案,在他们的方案中,如果用户从可信证书颁发机构获得经认证的比特币地址,则该用户就是经认证的。然后,监管机构就可通过证书颁发机构,来确认比特币交易用户的身份,这种方案与交易所的KYC方案有一些类似。
Garman,Green和Miers则基于Zerocash构建了一个去中心化匿名支付系统,他们的方案通过添加隐私保护策略执行机制来实现追踪。
Narula,Vasquez和Virza则设计了一个称为zkLedger的分布式账本,其可以提供强大的隐私保护、公共可验证性及可审核性,他们的方案主要用于审核某些银行的数字资产交易。据悉,账本在zkLedger中是以表格的形式存在,每个用户的身份对应于表中的每一列,因此,监管者可据此来确定每个用户的身份。
而来自中科院的Tianjun Ma等人则提出了SkyEye(天眼),这是一种可追溯用户身份的区块链方案,其允许监管机构追踪区块链用户的身份,而没有任何限制,因此存在监管滥用的可能。
而在最新的研究中,信息安全国家重点实验室的研究者Tianjun Ma、Haixia Xu以及Peili Li基于SkyEye提出了一种具有监督措施的区块链身份追踪方案,简单来说,监管机构必须要在获得委员会同意的情况下,才能对用户数据进行跟踪。
论文链接:https://eprint.iacr.org/2020/311.pdf
此外,研究者构造了一个非交互式可验证的多秘密共享方案(VMSS方案),并利用VMSS方案为Cramer-Shoup公钥加密方案设计了一个分布式多密钥生成(DMKG)协议,这也是BTSOF所采用的一个协议。
1、2 关于区块链天眼(SkyEye)
在中科院的天眼(SkyEye)区块链方案设计中,使用了一些密码学原语(例如chameleon哈希函数方案),SkyEye由多项式时间算法(
Setup
,
Geninfo
,
Verinfo
,
Genproof
,
Verproof
以及
T race
)组成,其中
Setup
为系统生成公共参数
pp
,
Geninfo
和
Verinfo
分别创建和验证用户注册信息,
Genproof
和
Verproof
分别生成和验证用户的身份证明,而
T race
算法则在区块链数据中跟踪用户的真实身份。
如上图所示,当用户u生成注册信息
reginfo
后,这个
reginfo
信息就会发送给监管机构。如果
reginfo
的信息验证成功,则监管者可以从
reginfo
中提取一些信息
recordu =(PKcu,IDu,CHidu)
,并将其存储到数据库(Database)中,同时把
PKcu
和
CHidu
信息添加到Merkle树(MT),并广播这些信息,如果用户u的(PKcu ||CHidu ) 出现在Merkle树(MT)中,则表明其注册成功,然后,用户u可以生成区块链数据
datau
,这些数据发送到节点网络(由普通节点和验证节点组成),与区块链中的传统验证过程不同,这里的验证过程验证的是:
- 数据内容;
- 数据中的身份证明;
监管者从区块链获取
datau
数据,并通过使用私钥
skreg
解密datau中的chameleon哈希公钥的每个密文,以获得chameleon哈希公钥集
PKc
,最后,监管者可以根据
PKc
搜索数据库,从而在
datau
中获取用户的真实身份集ID。
而这样一个系统,就用到了这些密码学原语:Cramer-Shoup加密方案 、非交互式零知识 、数字签名方案 以及多秘密共享方案(关于这些密码学组件的具体描述,可以看原论文);
对于SkyEye方案,监管者进行追踪的前提条件,是使用可追溯的私钥
skreg
对区块链数据datau中的所有chameleon哈希公钥密文进行解密,以获得chameleon哈希公钥集PKc。
然而在SkyEye方案中,监管机构的权力过大成为了一个主要问题,其可以任意跟踪区块链用户的身份,而不受任何限制和监督,从而引发了一些担忧。
1、3 具有监督功能的区块链可追溯方案(BTSOF)
为了监督监管机构,研究者提出了新方案BTSOF,其主要设计思想如下图所示:如果监管机构想要追踪区块链数据datau,则必须将数据
datau
和相应的证据
witu
发送给委员会。如果委员会同意追踪,则它将把追踪信息发送给监管机构,最后,监管机构可以根据委员会发送的信息追踪数据datau。
上面提到,SkyEye方案中使用了Cramer-Shoup加密方案,而在新方案中,则是让委员会定期生成Cramer-Shoup加密方案的可追溯公私钥对,换句话说,监管机构必须获得委员会的同意才能进行追踪,这相当于起到了一个监督的作用。
而在这个过程中的关键,是一种称为DMKG的加密协议,其是研究者基于分布式密钥生成协议DKG,为Cramer-Shoup加密方案而设计的,其负责生成的是委员会的可追溯公私钥对。
1、4 BTSOF的威胁模型,目标及构造
在BTSOF方案中,我们要考虑的一个威胁模型,就是委员会非诚实成员的比例,如果对手控制了超过1/3的委员会成员,则可能对最终结果构成威胁。而BTSOF的目标,是确保监管机构必须获得委员会的同意才能进行跟踪,并且只能跟踪发送给委员会的数据集,那这又是如何实现的呢?
它的关键思想描述如下:
监管机构向委员会广播一条消息,指出其要跟踪的数据集,而消息有两种类型:
-
消息
mrtc = (R, dw) = (R,(datal, witl)l∈{1,...,len})
表示监管机构希望使用len
元素跟踪数据集,其中R
表示监管机构的标识符,以及(datal,witl)
表示第l个数据,和l∈{1,...,len}
的相应证据。 -
消息
mrtc =(R,dw)=(R,(T,witT))
表示监管机构想要追踪T周期的所有数据,其中R
表示监管机构的标识符,而witT
表示相应的证据。
Pi
收到上述消息
mrtc
后,对于每个
i∈Qfinal
,Pi都会验证
mrtc
中相应证据的正确性。如果验证成功,Pi在消息mrtc中对
dw
签名,然后将签名发送给监管机构。每次收到委员会成员的签名时,监管机构都会对签名进行验证,如果验证成功,则将其保存在集
sigall
当中。
最后,如果
sigall
的大小大于或等于t,则监管者将消息
mrtc =(R,dw,sigall)
广播给委员会。
在收到上述消息
mrtc =(R,dw,sigall)
之后,Qfinal中的每个委员会成员首先验证集sigall中的每个签名,并计算有效签名的数量。 如果该数字大于或等于t,则Qfinal中的委员会成员会执行一些操作。
监管者在接收到诚实成员Pi为i∈Qfinal发送的消息
mi
后,选择这些消息中占多数的值,并根据该值进行追踪。
洒脱喜简评:区块链隐私保护与监管看似相互矛盾,实际是可以做到两者兼得。天眼升级版协议BTSOF在确保普通用户的隐私前提下可打击犯罪行为,同时确保不会造成监管权力过大的问题,而实现这个目标,就依托于各种密码学工具的组合,而类似这样的方案,会更容易被大众和监管机构所接受。
二、硬核技术文章一周精选
2、1 以太坊 2020:路线图与展望
在这篇文章中,作者ethos.dev对以太坊创始人Vitalik 发布的以太坊路线图进行了详细说明,并提出了以太坊在2020年中可能的亮点。文章链接:https://www.8btc.com/article/576260
2、2 以太坊核心开发者:MPT十六叉树将被替换
在这篇文章中,作者Guillaume Ballet提出了一种方案,可以将以太坊从当前使用的MPT十六叉树结构转换成二叉树结构,以此大大较少以太坊无状态中的见证数据。文章链接:https://www.8btc.com/article/575138
2、3 Vitalik:混淆电路(Garbled circuits)快速入门
在这篇文章中,作者Vitalik Buterin 科普了密码学原语混淆电路(Garbled circuits)的概念,并提出了一些潜在的应用。文章链接:https://www.8btc.com/article/572746
三、比特币&以太坊 开发更新进展
3、1 比特币开发更新进展
- Eclair#1339 阻止用户将其htlc-minimum量设置为0毫聪,这将违反BOLT2,新的最小值为1毫聪;
-
LND#4051
最多可跟踪每个peer 10个错误,并在必要时重连接存储它们,最新的错误消息将作为
ListPeers
结果的一部分返回,从而使诊断问题变得更加容易; - BOLT#751 更新了BOLT7,以允许节点宣布给定类型(例如IPv4,IPv6或Tor)的多个IP地址。这确保了多宿主节点可以更好地通知网络关于它们的网络连接。
3、2 以太坊开发更新进展
以太坊1.X更新内容:- Geth v1.9.11的eth/65 数据传播提案将带宽要求降低了75%;
- Nethermind v1.7.12 支持了eth/65 提案;
- Guillaume Ballet解释了为何以太坊要从 十六叉树结构切换至二叉树结构 ,并介绍了覆盖树的工作原理;
- 研究者评估了一些方案对 降低以太坊见证数据(witness)大小 的影响;
- Least Authority发布了 以太坊2.0的规范审计报告 ;
- Mikerah探索了用于验证者隐私的 混合网络架构 ;
- 最新的 Nimbus客户端更新 ,全面互操作是主要重点,另外客户端处理验证和签名的速度提高了5倍;
- RuntimeVerification: 验证ewasm代码 ;
- 基于哈希图的多项式承诺方案 ;
- 用于状态存储的 多层哈希图方案 ;
编译:洒脱喜 稿源:巴比特资讯(http://www.8btc.com/article_576473)