一、基本模型:
将交易分成两种类型,”PublicTransaction”和“PrivatTransaction”。在实际的交易中,这两种类型都采用了以太坊的Transaction模型,但是又做了部分修改。在原有的以太坊tx模型基础上添加了一个新的“privateFor”字段。同时,针对一个tx类型的对象添加了一个新的方法“IsPrivate”。用“IsPrivate”方法来判断Transaction是public还是private,用“privateFor”来记录事务只有谁能查看。
PublicTransaction
PublicTransaction的机理和以太坊一致。Transaction中的交易内容能被链上的所有人访问到。
PrivateTransaction
PrivateTransaction虽然被叫做“Private”,但是在全网上也会出现与其相关的交易。只不过交易的明细只有与此交易有关系的成员才能访问到。在全网上看到的交易内容是一段hash值,当你是交易的相关人员时,你就能利用这个hash值,然后通过TransactionManager和Enclave来获得这笔交易的正确内容。
加密货币投资公司Cypher Capital向TON注资1000万美元:12月29日消息,位于阿联酋的多策略加密货币投资公司Cypher Capital已向Telegram Layer 1权益证明区块链延续项目The Open Network(TON)注资1000万美元,用于支持其建设区块链的基础设施。
Cypher Capital董事长兼TON基金会董事会成员Bill Qian表示,新资金将推动TON在中东、非洲、亚洲、土耳其和印度市场应用。目前尚不清楚有多少Telegram用户尝试过TON区块链上的服务,根据tontech提供的数据显示,TON网络上的账户数量稳步增长,12月已超过160万,但活跃用户数量不详。[2022/12/29 22:15:03]
PublicTransaction的处理流程和以太坊的Transaction流程一致。Transaction广播全网后,被矿工打包到区块中。节点收到区块并校验区块中的事务信息。然后根据Transaction信息更新本地的区块
PrivateTransaction也会将Transaction广播至全网。但是它的Transactionpayload已经从原来的真实内容替换为一个hash值。这个hash值是由TransactionManager提供的。
NuCypher与Keep Network的合并提案受到双方代币质押者一致支持:隐私基础设施NuCypher在推特上表示,根据投票结果,NuCypher与Keep Network的合并提案(#CodenameKEaNU)受到了NU和KEEP质押者的一致支持(反对票数为0)。
此前消息,NuCypher提出与隐私层协议项目Keep Network合并的提案,以合并为KEANU网络。NuCypher表示,这是首次去中心化链上的网络硬合并方案,KEANU网络的第一个组件是一个同时接受NU和KEEP的质押合约,每个合约都有一个DAO指定的质押权重,还将建立一个机制,让现有的NU质押者也能选择直接加入。另外该提案指出,Keep和NuCypher核心团队不会进行合并,他们将会保持独立运作,都拥有KEANU网络的权益。[2021/3/28 19:24:11]
二、实现步骤:
1.改造现有程序,将其升级到以太坊较新的代码,将我们的共识算法融入最新代码中。
2.将state分成public和private两部分来实现,分别用来记录“PublicTransaction”和“Private?Transaction”的改变状态。
Coinbase Pro上线NuCypher:据官方公告消息,Coinbase Pro宣布上线NuCypher(NU)。Coinbase Pro现已接受NU代币的存款,如果满足流动性条件,交易预计将于北京时间12月3日01:00或之后开始。[2020/12/1 22:38:44]
3.增加对接本地Tessera服务部分(这部分是重点,P2P的加密消息交换机,是以安全的方式提交信息的通用系统)Tessera是一个无状态的java系统,主要用来保证Cypherium中的加密、解密和私有交易的分布式。
每个Tessera节点:
生成和保存许多公私钥对
自我管理,通过公钥和尽可能少的节点链接,在通过自己链接的这些节点进而发现整个网络的所有节点
提供公开和私密的API通讯接口:
私密API-主要用于Cypherium内部的通讯
公开API-主要用于Tessera节点之间的通讯
基于多种信任模型提供双向SSL通讯,包括TLS证书、TOFU(TrustOnFirstUse)、白名单、证书授权等
Cypherium CEO:央行数字货币是未来大国的必争之地:纽约区块链开发公司Cypherium CEO Sky Guo表示,一些国家如美国认为DC/EP是中国人民币国际化的重要途径之一,另外一些国家对数字人民币如何与其他国家的数字货币进行互操作,以及如何保护用户隐私表示关注。Guo表示,目前各国的央行数字货币研发路线差异非常大。数字货币会取代现金,这是历史必然。数字货币带来的便捷也会极大影响金融市场的流动性和发展。尤其是以智能合约为代表的新技术正在以前所未有的速度产生新的金融服务模式创新。对于央行数字货币,如何适应新的变化以及监管、网络安全等方面挑战必将成为各国央行的重中之重。央行数字货币背后包含了技术、货币政策、监管等各方面的较量,是未来大国的必争之地。(证券时报)[2020/9/29]
支持IP白名单
可以连接任何支持JDBC的SQL数据库
它主要由交易处理器和Enclave两部分组成
(1)?交易处理器
交易处理器在整个私有交易流程中起到的作用可以查看本章第一节,这里总结概括一下,交易处理器主要有以下几个作用:??<1>Tessera节点P2P网络的基础,Tessera节点是通过交易处理器模块进行节点间通讯的??<2>和Enclave组件之间进行payload加密/解密的沟通??<3>向数据库存储和读取数据??<3>和Cypherium节点进行沟通
CYPHER MONEY评测17家交易所,Hotbit位居全球第二:据CYPHER MONEY发布的“全球17家潜力交易所调查报告”显示,Hotbit以综合得分12.25分与MXC并列第二名。该报告从用户体验、理财产品、Staking产品、创新等多个维度,选定KUCOIN、Hotbit、MXC、CoinOne、BitMax、BiKi等全球17家交易所进行综合测评。[2020/4/5]
注意,交易处理器必须通过Enclave进行数据的加密解密,本身不能访问任何公私钥,也不能进行任何的数据加密和解密,最大程度保证了数据的安全性。
另外Tessera在启动时,可以通过-Dspring.profiles.active=enable-sync-poller指定是否启用数据恢复功能。启用该功能以后,Tessera节点每连接上一个新的节点都会发送一个“resendrequest”请求,收到该请求的节点会将自己数据库中的交易数据再次发送给每个交易参与方。
2Enclave
Enclave更像是一个接收命令处理数据的黑盒,Enclave可以以软件形式存在也可以以硬件的形式存在,无论是哪一种形式,其目的都是为了保证信息只在Enclave内部,不会被恶意攻击盗取。
TesseraEnclave主要的作用是进行数据的加密/解密,已经公私钥对的生成和管理。这就保证了在程序中有一个安全的地方可以进行数据的加密解密处理,同时敏感信息不会流入程序内存被不必要的参与方读取。如果采用硬件Enclave,也保证程序能够以更小的体积运行在一个安全环境中。
Enclava存储的数据:
·?公私钥访问
·?交易参与方的公钥(这部分信息不涉及敏感数据,其实可以放到交易管理器中)
·?默认连接节点(Tessera节点,不是Quorum)的公钥
Enclave可以处理的请求:
·?获取默认连接节点(Tessera节点)的公钥
·?为每笔交易提供forwardingkeys(推送公钥)
·?当前Enclave保存的所有公钥
·?为给定发送者和参与者的交易载荷加密
·?为给定参与者的交易载荷加密
·?对指定接受者/发送者的交易解密
·?为已经存在的交易载荷增加参与者
其实Enclave的安全性主要在于它只能同Tessera节点的交易管理器通讯,其他组件无法连接Enclave
Enclave可以和交易处理器部署在本地,Enclave也可以部署在远程,提供Restful接口,交易处理器通过HTTP连接。
以下是和Tessera服务对接的工作流程
以上流程图说明:
1、A向Cypherium节点发送一笔交易,注明具体的交易payload,并且设置privateFor字段的值为A(可选)和B的公钥。
2、A的Cypherium节点将这笔交易发送给自己配套的TesseraNodeA的交易管理器,交易管理器存储交易的payload。
3、TesseraNodeA的交易管理器把这笔交易发给Enclave组件,Enclave组件进行交易发起者的身份校验并且加密payload。
4、Enclave的加密过程:
??(1)、随机生成一个主钥RMK和一个随机数,
??(2)、根据上一步生成的RMK和随机数加密交易payload
??(3)、遍历交易参与方
????针对每个参与方:根据Enclave和每个参与方的公钥,生成共享秘钥;生成一个随机数。
????根据共享秘钥和随机数加密RMK。这样保证了每个加密RMK对每一个交易参与方是独一无二的,并且只能由该参与方读取
????返回第二小步生成的加密payload和第三小步生成的所有加密RMKs给交易处理器
5、A的交易处理器计算加密载荷的哈希值并且在数据库中存储(加密payload,hash,加密RMKs)。
6、A的交易管理器通过HTTPS向B的交易管理器发送加密payload,和专门给B的共享钥匙随机数。B接收到以后回复Ack/Nack。
7、A的交易管理器在收到B的接收回复后,将交易的hash值发送给A的Cypherium节点,Cypherium节点会用hash值替换原有的交易payload并且将交易的V值改为37或38,向其他节点表明这是一笔私有交易。
8、随后这笔交易会利用原有的EtherumP2P通信在节点之间同步。
9、一个包含该交易的块被打包出来,并发送给网络中的所有节点。
10、在处理块时,所有的节点都会处理这条交易,发现交易V值为37或38,Cypherium节点会把交易的内容发给自己对应的Tessera节点的交易处理器,交易处理器根据hash值查找自己的数据库,看自己是否能够解密该笔交易。
11、因为C不是这笔交易的参与反,所有C的Cypherium节点会收到交易处理器的NotARecipient回复,然后C会跳过这笔交易,并且不会改变自己的PriviatestateDB。
12、A和B的交易处理器会发现自己能够处理这笔交易,因此会调用Enclave,向其传入加密payload,加密的秘钥和交易签名等。
13、Enclave验证交易签名,然后用Enclave存储的私钥解密获得RMK,再用RMK解密payload获得交易明文。
14、A和B的交易处理器将解密后的交易内容发送给EVM执行执行智能合约。本次智能合约的执行只会更新节点的PrivatestateDB。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。