? ? 2008 年提出的区块链是一种分布式的链式数 据结构,它具有去中心化、不可篡改、不可伪造等众多优点,被认为是金融服务基础设施的未来,在金融、医疗数据共享、物流监管等领域得到了 极为广泛的应用。区块链的应用模式目前主要分为 3类:公有链、联盟链和私有链。其中,公有链允许节点自由进出,而联盟链和私有链需要授权与验证后方可让节点加入。联盟链由多个机构组成的联盟构成,联盟指定的成员进行账本的生成、共识、维护。 联盟链具有处理事务速度快等优点。
? ? 公有链完全公开,用户可自由加入或退出,具有完全去中心化的特点;私有链则是完全私有的一种区块链,只有内部人员可以使用;联盟链介于公有链与私有链之间,多由线下的企业等联盟组成,节点的进入与退出需要满足一定条件并得到许可,同时,联盟链可以完全公开也可以仅由联盟内部人员访问。
? ? 在区块链中,隐私保护问题主要分为 2 类:身份隐私和交易金额隐私问题。用户希望仅通过链上存有的公开数据内容无法获取与其身份相关的任何有用信息;交易双方为保护自身利益并不想交易的具体金额公开,这就使得交易金额的隐私保护极为重要。
同态加密是一种可以对密文进行计算的加密技术,其中部分同态加密由于构造简单、执行效率较 高,所以使用较广。当前较为常用的半同态加密有 RSA 同态加密、ElGamal同态加密以及 Paillier同 态加密。但 RSA 与 ElGamal同态加密为乘同态,无法满足验证交易金额、账户金额和交易后账户余额的合法性,因此选用具有加同态特点的Paillier算法。
? ? 比特币区块链采用基于交易的数据模型,在此模型中,交易通过 Hash指针与上笔交易构成多条 以交易为节点的链条,实现通过链上数据对每笔交易进行向前追溯,矿工通过查询 UTXO(未花费交 易)池实现对交易合法性的验证?。
? ? UTXO 虽可快速验证,但无法快速查询账户余额;并且一个用户可能拥有多个地址,每个地址上又 拥有多笔交易产生的 UTXO,要 验 证 一 个 账 户 余 额,需要验证其所有地址上所有 UTXO 的来源,这使得联盟链的多种应用场景无法契合该模型。相 比于 UTXO,基于账户模型与银行的储蓄账户类似,更直观和高效。因此,为了支持更多的应用,以太 坊、超级账本等区块链平台采用了基于账户的模型。
上图为以太坊所使用的账户模型,其中 Address 为账户地址,Balance为账户余额,Nonce为该账户交易的计数防止双花,CodeHash 为合约代码中的 Hash值,StorageRoot为合约状态数据的树根。
注:双花就是一份钱被花两次,这是数字货币领域最大的难题。
? ??群签名的概念最初来自于 Chaum 等人,它允许群中任一成员代表群进行签名,而除群管理员外的验证人员只能验证此签名来自于该群,但不能精确到该签名由哪一位群成员进行签署。
?参考文献:基于群签名和同态加密的联盟链双重隐私保护方法(刁一晴,叶阿勇,张娇美,邓慧娜,张强,程保容)【A Dual Privacy Protection Method Based on Group Signature and Homomorphic Encryption for Alliance Blockchain(Diao Yiqing, Ye Ayong, Zhang Jiaomei, Deng Huina, Zhang Qiang, Cheng Baorong ?)】计 算 机 研 究 与 发 展59(1):172181,2022
|