本方案只考虑具有token流转的联盟链系统。联盟链是由多个组织或成员机构共同维护,但一般的联盟链系统的客户归属无法确认,并且共用一个账本(不考虑channel隔离机制,因为联盟链的成员机构需能够验证整个联盟链的token流转是否正确)。对于机构私有链可以独立管理客户并且账本数据独立,所以私有链对于某些机构可能更加合适。本文提出一种独立账本的联盟链系统,由联盟链的成员机构各自独立生成自己的私有链,然后通过成员机构共识将私有链合并为联盟链,适合机构既需独立又需联盟的场景需求。
机构生成的私有链是有限隐私的,也即机构为每个客户颁发加密密钥,加密客户的交易数据,只有相关的客户和机构能够解密查看交易,其他人和机构都不能够获取该客户的交易明文信息,但可以密文验证交易的token流转是否正确以及客户解锁签名是否有效。所以机构的私有链可以公开验证账本数据,然后共识合并为联盟链也不会泄露机构及其管理客户的隐私。所以机构的数据是完全独立的,不会对外以及联盟链的其他成员机构泄露隐私。
联盟链使用UTXO模型,根据UTXO模型,交易数据能够形成一个复杂的链式结构,也即是DAG的结构。而DAG的结构可以拆分为多个子DAG的结构,所以也可以由多个子DAG的结构合并为一个DAG的机构,这也就是将私有链合并为联盟链的基础。可以把每个子DAG结构作为一个私有链,合并后的DAG则是联盟链。(如果将DAG继续拆分为单个连接,则是之前文章所述的连接存储,所以也能够实现分布式存储和验证)。
本方案类似分片的逆向操作,但不同之处在于分片的作用是拆分以减小分片处理的规模,而本方案是为了机构所管理的客户和数据独立,使用私有链合并的方式。为了保证联盟链的正确性,某个机构需要验证联盟内其他所有机构的私有链,并且包括跨私有链的交易,以保证联盟链内token正确流转,所以需要验证交易的规模并没有减少,并且验证都是在密文情况下进行,不会泄露数据的隐私。虽然需要验证的数据并没有减少,但可以使用远端验证的方式,也即不需要传输账本数据,而是远端验证账本数据正确后,将对应的区块头数据打上标记并签名,只需传输区块头数据并使用区块头进行合并且共识,所以本方案的联盟链具有两层结构,第一层是私有链的区块头,第二层是私有链区块头所对应的账本。所以该方式无论私有链具有多大的规模,都可以将多个私有链合并为联盟链。而上述通过分布式存储和验证,也可以处理大规模的账本数据,并不需要依赖全节点。对于客户端也可认为该链既是一个私有链亦是一个联盟链分片(需合并为联盟链)的二层结构,所以小额转账时可以直接信任私有链,大额转账时可等待区块合并为联盟链,以保证交易数据是不可篡改的。
本方案可由联盟内专门的机构进行token的发行或回收,而其他机构只使用和流转所发行的token。发行或回收的token使用明文,然后给出对应的盲因子并转化为Pedersen承诺,所以联盟内流转的token总数量是确定且可验证的,但某个机构私有链所流转的token总量是未知的(跨私有链交易同样是隐私的)。一个联盟内可以流转多种token,也可以不同联盟流转不同的token,并且某个机构可以同时流转不同联盟所发行的token,只需验证该机构所流转的某个联盟token不与非该联盟成员机构进行流转即可,也即验证token流转的边界,确保联盟内的token总数量一定。所以某个机构的私有链可以同时参与多个联盟链的合并,不会产生任何冲突。也可以自己生成私有链,然后再选择加入联盟链(token不冲突情况下)。
本方案客户交易并不使用点对点的方式,因为在跨私有链交易中,双方客户并不属于同一机构,所以如果是点对点的方式,跨私有链交易只能是机构与机构交易,而不能是客户与客户交易,因为某个机构并不能管理双方客户(双方客户属于不同机构)。本方案将一个点对点的交易,拆分为两个或多个交易,所以具有(中间者)机构处理,但通过算法防止中间者作弊,所以双方客户可以验证交易是否正确。其他机构可以密文验证跨私有链交易token流转是否正确,并且只需出示所输入引用的未花费的跨私有链输出即可,所以某个机构的私有链账本可以独立验证是否正确,并不依赖其他机构的私有链账本。机构内部的业务因为不需要引用其他机构的输出,也不会对其他机构造成影响,机构内部可以高并发短延迟的生成私有链区块,所以不会影响机构内部的业务交易。如果存在跨链交易,所引用的未花费交易输出必须合并为联盟链后,其他机构才能够引用,所影响的只是输入引用跨链交易的完成时间。
所以本联盟链方案特别适合既需独立以保证机构的客户和数据的安全性和隐私性,又需要和其他机构形成联盟,共同流转某个token的场景。并且由于数据的独立性,能降低机构之间的信任成本,因为即使两个互不相通的机构,也可以通过共同流转的其他机构形成联盟,相互之间数据也保持隐私,并且不同机构的私有链可以使用不同的密码算法,比如国内的机构可以使用国密算法,其他机构可以使用非国密算法,不同算法之间可以流转相同的token(在跨私有链交易时转化为不同椭圆曲线上的Pedersen承诺并给出zkp证明数额相等),所以适合不同国家不同地区的不同机构之间形成联盟。也可以同时支持批发型和零售型的数字货币。并且本方案可以支持将多个大规模的私有链账本数据,合并生成更大规模的联盟链账本,或者是由子联盟链合并生成为更大的联盟链。(实际联盟链共识生成的第一层数据量很小,只是需要验证大规模的私有链账本数据,而通过分布式存储和验证已支持,并不需要依赖全节点。所述私有链是指一个机构管理的多个节点共识生成的区块链。例如私有链和联盟链都采用PBFT共识算法,不同之处在于私有链为一节点一票,当超过2/3节点数验证交易数据正确后,共识打包交易数据为私有链区块数据;联盟链为一机构一票,当超过2/3机构数验证私有链区块头所对应的区块体数据正确后,共识打包私有链区块头数据为联盟链区块数据)。

注:本方案相关技术已申请专利,未经许可不得使用。
本文提出了一种联盟链解决方案,各成员机构生成独立的私有链,通过加密保护客户交易隐私,仅公开验证账本数据。私有链采用UTXO模型,形成DAG结构,通过共识机制合并为联盟链,确保数据独立性和联盟链的正确性。机构间通过密文验证跨链交易,支持多种token流转,适合需要数据隐私和联盟合作的场景。此方案降低了信任成本,支持不同密码算法,适用于跨国跨地区合作。
1323

被折叠的 条评论
为什么被折叠?



