12-23
CivetChain的架构与技术方案
2021-03-08 币乎
该链是为了适配物联网、医疗、电子政务等多个商业和生态应用形态特点而开发出来的具有去中心化的区块链系统,全新的智能合约2.0系统兼容了WASM虚拟机,单独的智能合约状态存储考虑了更多的安全性和各类DeFi应用系统。链的设计原则追求的不仅仅是扩展性,还保证了链的鲁棒性、安全性,协议的简洁性,长期稳定性。该链直接使用了以太坊2.0的分层分片技术,链的共识达成时间缩短到了3~5s,且帐户的Gas消耗极低,保证了各类商业Dapp系统使用该链的用户体验度和最终帐户的一致性。去中心化的交易摄合系统,为各类的生态应用资产的高效互换提供了可能性,从而能够更大程度保证该链生态的繁荣。
通过商业应用生态融合+区块链+云平台,以及区块链的模块化拆分达到商业化应用多维度、多角色的应用接入,当下区块链开源系统云集,CivetChain作为一个致力于解决产业商业应用生态网络之间安全通信,搭建基于区块链的商业应用生态网络云平台,也必将要了解全世界诸多的开源区块链平台。
CivetChainl通过建立商业应用生态网络区块链生态融合、开发社区生态、区块链底层的自我进化旨在建立一个强大的服务于商业实体及整合各类应用的自我价值激励的自进化区块链系统。
CivetChain看重的主要原理和规则有:
1)最小:CivetChain需要有尽可能少的功能性。
2)简单:只要他们可以推给中间件、放在生态链、或用下面要讲的一种优化手段,就不在基础协议里添加多余的复杂性。
3)通用:没必要在基础链中添加任何要求、约束或限制;CivetChain需要成为共识系统开发的基石,要尽量通过给模型加入最具适应度的扩展和优化。
4)健壮:CivetChain需要提供一个稳定的基础层。为了经济稳定性,需要采用分散的方法,来降低高额奖励这个攻击向量可能引发的问题。
1、CivetChain区块链商业应用生态融合平台(catPlatform)
这是一个自助式商业应用生态网络区块链生态融合平台,通过对区块链系统应用的落地实践,融合了众多的参与者贡献应用,区块接入者实名注册与资质审核,参与整个产业商业应用生态网络价值传递的贡献,根据为整个生态贡献的有价值的数据,以让越来越多的开发者、生态合作商参与进来,促进整个区块链商业应用生态网络产业的健康发展。为信用评估机构提供可信有价值的信用数据。然后根据信用评估获取的数据内容,通过区块链与大数据的集合,进行参与区块链各用户的记账数据确权从而针对不同维度的数据价值CivetChain平台给予相应的CAT奖励。总体架构如下图所示:
总体架构图
Civet Cloud(区块链基础私有云)
主要解决区块链系统的搭建和低成本运维问题,可以将一个个位数节点的网络扩展至成百上千个节点,例如CivetChain链利用底层云属性,搭建和构建一个产业商业应用生态网络区块链系统,可以快速把接入平台的各个角色和运营商集合区块链浏览器、钱包系统甚至交易系统关联到这个链上,实现业务系统对区块链的操作;
CAT SDK(区块链接入开发工具包)
面对企业及个人开发者,能够创建帐户、资产数字化、获取区块链的区块高度、创建与查询交易信息、链的实时通知等功能。现阶段,通过SDK,可以实现接入、信息隐私保护、价值传递、存证方面的BaaS服务;
CVT AAS(区块链即服务)
根据区块链系统的分布式去中心化、无需信任系统、不可篡改和加密安全性等优点,可以使得用户在不运行任何区块链系统的前提下,使用区块链所提供的服务。CATAAS对接入CivetChain的人,不需要有任何的技术背景知识,直接在简化操作的同时,又为大家提供深度定制的可能。
在底层数据采集层面上,CivetChain就是一个只可追加、不可更改的分布式数据库系统,是一个分布式账本。所有的采集数据,可以被任何人在任何地方进行查询,完全公开透明。在区块链网络中,节点通过使用共识算法来维持网络中账本数据库的一致性。同时采用密码学的签名和哈希算法来确保这个数据库不可篡改,不能作伪,并且可追溯。
在应用方面,CivetChain平台能够提供编程环境让一系列的参与方进行良好的对接。通过智能合约,可以把业务规则转化成在CivetChain平台自动执行的合约,该合约的执行不依赖可信任的第三方,也不受人为的干预,比如客户与采购商的合同、质押贷款的合同等等。理论上只要一旦部署,一旦符合合约执行的条件就会自动执行。执行结果也可以在CivetChain上供公开检查,提供了合约的公正性和透明性。
contractMyToken {
/*在合约中使用public关键字定义所有能被识别的合约访问的变量*/
stringpublic name;
stringpublic symbol;
uint8public decimals;
/*建立一个数组存储账户的余额,合同金额*/
Mapping(address =>uint256) public balanceOf;
/*建立一个公共的事件用于用户通知*/
EventTransfer(address indexed from,address indexed to,uint256 value);
/*初始化合约,当合约内的函数名和合约名相同时(MyToken),则该函数是合约的构造函数*/
FunctionMyToken(uint256 _supply,string _name,string _symbol,uint8 _decimals){
/*默认将合同分为多份,最小单位是0.01%*/
If(_supply==0)_supply=1000000;
/*可自定义合同参与方的数量和最小单位*/
balanceOf[msg.sender]=_supply;
/*定义合同名称*/
name=_name;
/*设定合同所使用的单位符号,例如%*/
symbol=_symbol;
/*设定小数位数*/
decimals=_decimals;
}
/*创建股权转移函数*/
functiontransfer(address _to,uint256 _value){
/*检验是否有足够的金额*/
If(balanceOf[msg.sender]<_value)throw;
If(balanceOf[_to]+_value<balanceOf[_to])throw;
/*更新合同转让信息*/
balanceOf[msg.sender]-=_value;
balanceOf[_to]+=_value;
/*通知用户合同执行成功*/
Transfer(msg.sender,_to,_value);
}
}
3-3-1、区块链底层的自我进化
CATLedger动态记账协议,不同应用系统接入,参与记账与共识功能,为整个生态做贡献和融合奖励CAT,为平台的共识参与贡献自己的一些力量为了保障接入整个CAT生态自始自终接入的低成本,CAT首次创新的提出了交易手续的费率调整,现在的各个区块链平台,都面临着一个随着业务的拓展,系统的流动性从而导致数字货币的升值以及发行自己数字资产的成本的增加,CATPal着重于落地与服务,所以这个是CATPal急需要解决的一个问题,CATPal始终贯彻接入的低成本,重发挥区块链服务和应用的特点。提供了外部计算数字货币的价值计算能力,从而动态调整交易消耗的神农令。
3-3-2、开发社区生态
人为基金孵化模式相对中心化、低效率、不透明、不友好的孵化现状,也最大的激发了开发者对于系统的创造力及活跃度。想象一下:如果AppStore中每一个APP开发团队,可以基于社区生态贡献从苹果公司获得可观的“股权”激励,APP生态一定会进入一个质量量和数量量迸发的新纪元。这就是星云链生态的未来愿景,在DIP协议的激励下,通过正向反馈机制,实现社区生态孵化的去中心化。我们有理理由相信,现象级DApp将不断涌现。区块链世界正在日益加速发展,我们每天都可以看到更更多的DApp开发者,将越来越多的信息接入区块链,如何简单有效的把这些信息呈现给用户,将会变得至关重要。
2、价值传递
在互联网的各种协议栈中,我们用的较多有TCP/IP,HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等网络层,传输层,应用层的协议,并且借助这些协议,我们已经比较完美了搭建了各种各样的互联网服务。但是如果我们深思,我们会发现,在比特币网络出现之前,我们一直无法互联网上面,在不借助于第三方的情况下,较好的进行点对点的价值的转移和传输。其实我们并不是缺少一种特定的方法,而是缺少基于信息高速公路(InformationSuperHighway)的价值高速公路(ValueSuper Highway),以及如何实现ValueSuper Highway的ValueTransfer Protocol (VTP协议),而比特币网络则是运行于信息高速公路上面的第一个VTP协议。在的白皮书中,我们也归纳和提出了互联网应用层ValueTransferProtocol的概念。为的就是在整个产业商业应用生态网络+区块链的体系中,对整个产生数据的流通有几个待解决的痛点(数据权属:无法清晰界定;数据质量:标准不一,良莠不齐;数据安全:隐私和滥用无法保障;数据定价:数据价值无法准确衡量;)要解决这几个问题,首先极需要解决的就是通过区块链这种隐私与保护,选择性共享数据这种技术手段来解决,其中最重要的当属不同区块之间的通信,流转的模型如下图所示:
价值流转图
P2P网络(peer-to-peernetwork,对等网络)是一种在对等者(peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。因此,从字面上,P2P可以理解为对等计算或对等网络。P2P也不是什么新鲜的技术。对于产业商业应用生态网络中各个接入CivetChain的网络中所有的节点具有同等的地位,通过CivetChain优化过的DPOS共识协议,很好的解决数据写入速度以及确权问题,为以后的数据价值使用打开良好的基础。
P2P网络对等节点图
3生态激励FPA
在整个CivetChain共识算法的选型上,因为是商业应用生态网络化大规模的商业化运用,而永远要保持及时的一致性同步,而商业应用生态网络设备的多样性更对交易速度和时间有很高的要求,因为是养鱼,所以就意味着所有传感设备的数据同步必须要达到近乎实时的一致性,而PoW存在着浪费能源、区块的确认时间难以缩短,而PoS也更存在着容易产生分叉需要等待的致命缺陷。
原始的拜占庭容错系统由于需要展示其理论上的可行性而缺乏实用性。另外,还需要额外的时钟同步机制支持,而对于整个产业商业应用生态网络中接入的各类角色和系统(共识节点),像政府监督部门的食药监、农委(产业局)、商务局、商业产品养殖种植的产业养殖公司、合作社,以及诸如的产业科技服务商、农资供应商、以及为公民贷款的金融类的产业贷款机构、检测机构,还有最终面向广大消费者的电商、连锁餐饮等等,就需要做到对一致性、正确性有很强的要求,一般来说采用强一致性的共识算法。对产业商业应用生态网络来说,已经不再需要PoW这类工作量证明共识协议了。
另外算法的复杂度也是随节点增加而指数级增加。我们采用的CVTConsensus系统,从指数级别降低到多项式级别(Polynomial),CAT独创的FCAT使在产业商业应用生态网络上各类分布式系统中统一应用成为可能。CivetChain上的FCAT是一类状态机系统,要求共同维护一个状态,所有节点采取的行动一致。例如农产品流程的合法性和正伪、再比如对同一监测收集温湿度的各类传感器。为此,需要运行三类基本协议,包括一致性协议、检查点协议和视图更换协议。我们主要关注支持系统日常运行的一致性协议。一致性协议至少包含若干个阶段:请求(request)、序号分配(pre-prepare)和响应(reply),CATPal上还加上了相互交互(prepare),序号确认(commit)。
CivetChain通过发行CAT,来联合各个接入的商业应用生态网络子系统节点群(共识节点),以来扩散到商业生态圈中的种类应用场景。结合整个产业商业应用生态网络这一块的场景多样化,有时候不同于互联网具有的大量的节点同时在线,产业商业应用生态网络存在着诸多的不确认性,比如传感设备受到天气、质量以及人为损坏,因此CivetChainl提出FCAT以满足不同的应用需求。每个钱包/地址是由一个私钥生成的,并保存有数字货币的余额,可以接收和发送交易。钱包/地址对于区块链的用户是可见的。私钥则是用于签署起源于这个地址的交易,仅对拥有者可见。且在整个CivetChain里,存在着三种类型的交易:
a)支付交易(TXp):{发送人->接受者:数字货币金额}
将数字货币从一个地址转移到另一个地址的基本交易。发送地址将需要使用私钥签署交易,而签名的真实性可由任何人核实。
b)数据存储(TXs):{平台->验证节点:要存储的数据}
在各个参与验证的共识节点处理的此交易类型不会验证任何与余额相关的操作。
c)流程控制(TXc):{共识节点->参与人}
获取到总账发于的CAT,为每一个参与者发送最基本的帐户保留数字货币。
参加验证的共识节点通过其贡献的产品数据能力,可以从两方面来获益。CAT服务器可以通过对子区块链的支持和智能合约的处理工作的交易费得到回报。这对于任何一个参与到CivetChain的企业和个人来说是一个很大的动力。共识节点上的用户越多,意味着在共识节点上的神农令越多,还可以另外得到CivetChain平台的奖励。同时也是各个参与共识节点的贡献力的体现。所有CAT工作的费用,但考虑到获得的性能和低成本的启动,还是非常划算。这个过程将促进形成一个更为分布式的生态系统,并使各方受益。