数字货币的中心化交易所全权掌控了用户的资产,而频发的中心化交易所被盗事件一次次表明其安全问题成为悬在整个数字货币行业之,上的达摩克利斯之剑。2011年和2014年Mt.Gox两次被盗,2014年Poloniex被 盗,2015年Bitstamp被盗,2017年Bithumb被盗,2019年Binance被盗等事件一次次印证 了前述的担忧。在资产安全的问题之外,交易所关门跑路、交易规则不透明、由于主观或客观原因造成的暂时无法访问以及昂贵的上币费用等也是中心化交易所常被诟病的地方。 能否以去中心化的方式重构数字货币的交易市场 不需要注册要求或者审核流程,没有单点故障问题、控制或者监管属性,规则透明的去中心化交易所能够同时解决中心化交易所面临的诸多挑战。近年来涌现出诸如Bitshares 、 Etherdelta 、 0x协议、OmiseGo、Loopring 、Kyber 、 Cosmos等去中心化交易所的技术方案。现有的大部分方案,如Etherdelta、0x协议、OmiseGo、 Loopring、 Kyber都是基 于以太坊的支持ERC20标准的去中心化交易解决方案。基于某个公链的去中心化交易平台的能力则受限于底层公链的能力。以以太坊为例,在当下以太坊的交易处理能力迟迟无法提升的情况下,基于以太坊构建的去中心化交易平台在处理速度、用户体验等方面无法与现有的中心化交易平台匹敌。专门定制的ASIC芯片已经在基于PoW的公链挖矿中展现出巨大的优势,借鉴同样的思路,构建专门用于去中心化交易的公链能够在规避中心化交易所诸多问题的同时,依然保持较高的交易处理速度和相似的用户交互体验。 CoinEx Chain是基于Tendermint共识协议和Cosmos SDK打造的公链,旨在打造社区化运营、交易规则透明以及用户资产由自己控制的去中心化交易平台(DEX) 。基于CoinEx Chain的DEX.上的原生代币为CoinEx Token (CET) ,现存的ERC20 Token形态的代币会按照1:1的比例映射成CoinEx Chain上的原生代币。 Tendermint共识协议在保证足够去中心化的前提下能到达到上万的TPS以及秒级确认,能够在去中心化交易平台场景下提供近乎中心化交易平台的用户体验。通过链上交易、链上撮合的方式带来最大程度的交易透明度。将数字资产的控制权还给用户并且通过数字签名进行权限鉴定,避免了中心化交易平台所带来的单点失败的安全风险,保证了用户资产的安全性。另外通过跨链机制,可以将当前的CET Token连接至更为广阔的数字货币世界。 CoinEx Chain不仅是一条专用于DEX的公链,而且是围绕DEX公链构建的更为丰富的生态系统。为最大程度 提升DEX公链的交易处理速度,DEX公链仅支持必要的功能而不支持智能合约。但是智能合约功能是构建更为复杂的金融应用的基础,因此在DEX公链之外CoinEx Chain将包含-条支持智能合约功能的Smart公链。通过跨链机制连通Smart公链与DEX公链,在保证DEX公链性能的同时,也支持复杂的金融应用。 当前区块链上的隐私问题备受诟病,因为地址概念提供的匿名特性容易通过数据进行逆向分析,最大程度地保护用户隐私是CoinEx Chain的核心任务之-。与Smart公链类似,通过构建专门的支持交易隐私保护的Privacy公链并进行跨链连通,能够提升整个CoinExChain生态的隐私特性。 在三条各司其职的公链之外,CoinEx Chain将在多个技术方向进行技术创新与改进: 1) 安全方面,还权于用户之后如何保证用户账户私钥的安全性成为核心问题。在钱包的私钥保护方面提供阈值多方ECDSA签名机制。与Shamir秘密分享方案(Shamir' s Secret Sharing, SSS) 相比,阈值多方ECDSA签名机制在签名时,直接利用各个私钥的分片进行计算即可得到最终的签名值,无需重构原始私钥信息,能够规避SSS方案的单点失败的隐患。 2) 共识协议方面,Tendermint协议需要验证者集合对每个提议的区块进行投票(签名),每个区块中的投票信息会随着验证者集合的增大而线性增长,消耗可观的链上存储空间,聚合签名可解决这一问题。聚合签名所面临的Rogue Public-Key攻击可以通过与共识场景结合进行规避,或者采用在Plain Public Key模型下安全的聚合签名机制,如Maxwell等人提出的MuSig 以及Boneh等人提出的BL S聚合签名机制。 3)执行效率方面,参考以太坊的经验,区块链所采用的可认证数据结构(Authenticated Data Structure, ADS)的效率会显著影响链上交易的处理速度,Cosmos项目基于IAVL+数据结构构造了自己的ADS方案,在效率方面较以太坊提出的MerklePatracia Tree (MPT) 没有明显改进。通过工程手段可以部分缓解可能由ADS结构带来的读写性能瓶颈问题。CoinEx Chain也会关注ADS设计方面的最新进展,尝试从ADS结构角度优化公链性能。 公链组件 1. Tendermint Core与Cosmos SDK CoinEx Chain是 基于Tendermint Core和Cosmos SDK构建的。Tendermint Core项目封装了P2P网络通信以及Tendermint共识协议,Cosmos SDK通过模块化方式提供了应用层开发所依赖的基础功能,两个组件之间通过区块链应用层接口(Application BlockchainInterface, ABCI)进行交互。 Tendermint Core处理交 易时,不关心交易的具体内容,而是将交易看做字节数组。应用层根据打包好的区块,依次解释执行各个交易并更改状态信息。 Tendermint共识协议是半同步的拜占庭共识协议,具有简洁、高效和可追责的特点。共识协议的达成是在已知的验证者集合内完成的,每个验证者通过其公钥进行鉴别。具体的共识过程通过多轮的两阶段(Prevote和Precommit) 投票协议以及相应的锁定机制完成。每一轮开始时通过Round-Robin的形式选取一个验证者为区块提议者(Proposer) ,由该验证者打包并提议区块,随后验证者就该区块的合法性进行两阶段投票,如果每个阶段都能获得来自多于2/3的验证者的投票则该区块会被提交到链上执行。需要执行多轮的可能原因有:被选中的验证者不在线,提议的区块不合法,在某个投票阶段没有收集到超过2/3的投票信息等等。为了简化对不确定因素的处理, Tendermint中每 张投票有两种用途:确认合法信息和确认无效信息。根据投票信息确认当前区块或者进入下一轮,避免了PBFT共识算法中复杂的视图转化协议。可追责的特性则由公钥可鉴别验证者这-约束提供。 由于CAP定理的客观存在,Tendermint协议在安全性与可用性之间选择了安全性。也因此Tendermint共识协议有可能会短暂停止直到超过2/3的验证者达成共识。当系统中的恶意的验证者小于1/3时,Tendermint提供了永不分叉的保证。安全性优先于可用性以及永不分叉的承诺对于金融应用至关重要。CoinEx Chain在项目 启动时计划支持42个节点,根据Tendermint共识协议的实验数据,在42个节点遍布五大洲的条件下Tendermint能够达到4000TPS的处理速度,能满足去中心化交易所的需求。伴随高TPS的并不是交易确认时间的延长,Tendermint共识机制提供逐区块最终化的特性,能够在秒级完成交易确认。 2. Proof-of- Stake Tendermint协议假设了验证者集合的存在,在每一轮的两阶段投票协议中以带权重的Round-Robin的形式选取当前轮的区块提议者。CoinEx Chain采用Proof-of-Stake机制, 生态中任何实体都可以通过抵押CET代币的形式参与验证者的竞选。验证者集合不是固定不变的,生态参与方可以发送交易来增减自己抵押的代币数量。通过跟踪这一变化并根据更新后的抵押代币的数量状态生成新的验证者集合。 抵押与惩罚机制的引入能够规避PoS机制所面临的Nothing At-Stake的问题。 PoS机制面临的另-个重要挑战是长程攻击的问题, 问题的根源在于PoS链中创建新的区块只需要足够的投票而不是像PoW机制中那样需要耗费大量资源。当攻击者设法获得的某-历史时刻的验证者的私钥数量超过2/3时,就可以从那个历史时刻进行分叉,导致新设立的节点或者长时间离线的节点无从判断哪条链是真正的主链。CoinEx Chain沿袭Cosmos Hub中的策略,通过三种措施抵御长程攻击: 1) 解绑周期(Unbounding Period) :验证者取回抵押的代币时,需要经过一个解绑周期才能取回自己的代币,当前的解绑周期为3周时间; 2) 弱主观性(Weak Subjective) [21]: 新节点第- -次连接网络时或者节点长时间下线后再次上线时需要通过可信节点验证近期的区块哈希值,CoinEx Chain基金会将提供可信节点服务; 3) 按时上线同步验证者集合:在一个解绑周期的时长内节点需要同步验证者集合的更新。 这三种策略都在某种程度上缓解了长程攻击的问题,但无法从根本上解决长程攻击。可验证延迟函数(Verifiable Delay Function, VDF) 的提出与研究进展为从根本上解决长程攻击提供了另外-种思路。Increment VDF概念的提出与研究进展为抵御长程攻击提供了新的工具。CoinEx Chain团队会持续关注VDF研究领域的进展,并利用前沿进展提升PoS机制安全性。 验证者是维护公链状态一致性的关键角色,而运行全节点也需要付出成本,因此CoinEx Chain会对验证者进行奖励,奖励包含两部分: 新的区块奖励以及区块中包含的交易手续费。区块链项目中新的区块奖励通常依靠铸造新币来完成:基于PoW机制的比特币通过挖矿铸币而基FPoS机制的Cosmos Hub中则依靠 通胀铸币。通过铸造新币的方式会与此前承诺的CET永不通胀的理念相违背。CoinEx Chain的应对策略是从预留的代币中拿出-部分进行区块奖励,此外承诺的关于CET的回收机制依然会如期进行。验证者的恶意行为或者验证者没有能力保证验证节点的稳定性,都会影响公链状态的稳定性,此类情形下CoinExChain会对相应验证者进行惩罚。对于验证者在同一个区块高度对两个不同区块进行投票等直接违反共识协议安全性的行为,会扣除验证者抵押的代币中可观的一部分比例作为惩罚,同时验证者将被永久性地剔除出验证者队列;对于无法维持验证节点可靠性的行为,会扣除验证者抵押的代币中的一小部分作为惩罚警示,并被禁止在-段时间内参与验证。同时被扣除的代币将会被系统统一回收用于将来的社区激励等事项。 账户与交易 CoinEx Chain是基于账户模型的,每个账户原生支持多币种,也因此CoinEx Chain原生支持多币种的转账。为了防止链上出现大量的僵P账户消耗链上资源,CoinEx Chain要求每个账户被激活之后才可以使用,具体的激活方法是向新账户发起CET转账交易,并从新账户的应收CET中扣除1个CET作为账户激活的功能费。每个交易可以包含多个消息,每个消息可以完成不同的操作,比如转账、奖励提取等操作。对账户权限的鉴定通过交易的签名验证来进行。签名算法是基于secp256k1曲线的ECDSA算法。CoinEx Chain支持多签交易,目前的多签交易采用了与Bitcoin中多签类似的方式,也即把多个签名和公钥信息包含在交易内。这种方式容易实现,但也有存储计算等资源的占用和消耗问题。CoinEx Chain会针对每笔交易收取交易手续费,并且只有CET可以作为交易手续费。交易手续费包含两个部分:通常意义上的Gas费用以及功能费。Gas费根据交易的字节数、所需验证的签名个数以及对存储的读写次数和字节数等进行计费,功能费则是对某些特定的操作收取额外的费用。需要缴纳功能费的操作有: DEX公链中创建新币和创建新交易对的交易,激活新账户的交易以及带锁定功能的转账交易。另外会根据被撮合交易中的交易金额按比例收取佣金,这部分也归入功能费。 CoinEx Chain计划改进多签交易的构造方式,通过采用聚合签名算法可以对多个签名值/公钥进行压缩。这种方式能够节省链上存储空间,减少需要验证的签名的数量。对于n-of-n的多签交易能够提升多签交易的隐私属性,因为聚合的公钥和签名信息能够隐藏多签交易涉及到的实体。在支持脚本系统的区块链上,借助Merkle证明对于m-of-n的多签交易可以达到同样的隐私保护效果。然而如何在没有脚本系统的条件下,达到相同的效果仍需进一步调研。聚合签名算法所面临的最大挑战是在RoguePublicKey攻击存在的前提下在Plain Public Key Model下保证安全性。Rogue Public Key利用了这一事实,允许攻击者在其他参与方不知情的情况下炮制出合法的聚合签名。通常的应对方案有两种,要求参与方证明自己确实有相应的私钥(KOSK, Knowledge of Secret Key)或者要求在待签名消息前面级联参与方的公钥。要求KOSK证明在实际中难以操作而级联公钥的做法会部分抵消聚合签名机制的效率提升效果。Plain Public Key Model下参 与者无需证明自己持有所宣称的公钥对应的私钥。Blockstream研究 人员设计的MuSig多签机制与基于双线性对的BLS签名机制能够满足安全要求并且没有前述两种方法的弊端。 基于Schnorr签名构建的MuSig签名方案可以在Plain Public Key Model下安全地压缩公钥和签名值,并且验证签名过程等同于普通的Schnorr签名验证。Bitcoin Cash网络已经激活了Schnorr签名机制,为后续部署MuSig方案铺平了道路。Bitcoin网络中则围绕Schnorr签名和MuSig签名机制准备了-揽子升级计划。MuSig签 名机制的优点在于可以基于secp256k1进行构建,而目前的Cosmos SDK已经支持secp256k1曲线。Boneh等人在2018年构建了在Plain Public Key Model安全的BLS聚合签名算法[15],同样可以用于多签交易的改进。为了支持BLS聚合签名算法,要求重构钱包体系, 这是对现有系统的深层改动。从secp256k1的私 钥切换到某个双线性对友好的椭圆曲线上的私钥(例如Zcash团队构建的BLS128-381曲线),需要同时修改分层确定性钱包的实现。因此,基于MuSig机制改进多签交易目前看来是更兼容当前系统的方式。 Blockstream研究人员设计的MuSig多签机制与基于双线性对的BLS签名机制理想的情况是可以对一个块中所有交易的签名进行压缩,压缩之后区块中仅有一个签名值待验证。这需要聚合签名算法能够把不同私钥对不同消息的签名值聚合起来。这种情况下,矿工在打包区块时可以聚合所有待包含交易的签名。MuSig无法对不同的消息进行聚合,虽然论文中提到可以通过修正的交互聚合签名(Fixed Interactive Aggregate Signature)机制实现对不同消息的签名聚合,但是尚没有严谨的安全性证明。论文在更强的安全性假设基础上构建的聚合多签机制(Aggregate Multisignature Scheme, AMSP)可以用来聚合不同交易的签名以进一步节省链上的存储空间。在更强的安全性假设之外,如何在区块链场景下安全地部署这-机制也需要进一步探索。 区块链 Tendermint共识协议不分叉和逐块最终化的特性简化了区块链结构的设计,只需要用哈希指针一次串联起各个区块,无需像比特币--样考虑区块的回滚也不需要像Ethereum中考虑对叔块的连接,每个区块也由区块头和区块体两部分构成。区块头中包含区块高度,时间戳,区块中交易个数,累积的交易个数,指向上一个区块的哈希指针,本区块的提案者,包含的证据列表的Merkle树根,包含的交易列表的Merkle树根,针对上一个区块的投票列表的Merkle树根,上一个区 块的验证者集合的Merkle树根,上一个区块所产生的新的验证者集合的Merkle树根,上一个区块执行完成后上层应用内部状态的Merkle树根,上一个区块中交易执行后的结果列表的Merkle树根以及共识参数的Merkle树根。区块体中则包含了具体的交易信息,证据信息以及对上一个区块的投票信息。
值得注意的是,针对一个区块的投票信息存储在下一个区块中。Tendermint共识协议中的投票本质上是验证者用自己的私钥对一个区块的签名值,当前采用的是基于Ed25519曲线的EdDSA签名算法。随着验证者集合的增多,这些投票/签名信息也会占据链上可观的存储空间而且验证签名也需要耗费可观的计算资源。针对计算资源消耗问题,可以通过EdDSA签名机制本身支持的批量验证进行改进。要同时减少签名值占用的存储空间和计算资源消耗的问题!则可以借助聚合签名机制。基于MuSig的聚合签名机制,在签名时各个签名参与方之间需要多轮交互,考虑到验证者可能遍布全球各地,我们倾向于避免在共识协议必需 的交互之外引入更多的交互需求,也因此基于MuSig的聚合签名机制不宜作为共识过程中的聚合签名机制。与交易的聚合签名不同的是,投票的签名聚合功能上更为独立,不受钱包的分层密钥等其他业务逻辑的牵连,也因此可以考虑全新的签名机制。这种情况下,更适合采用中提出的聚合BLS签名机制来改进Tendermint Core项目的投票机制。
CET激励
区块奖励之外,每个区块的收益还包括区块中交易的手续费。交易手续费包含两个部分:通常意义上的Gas费用以及功能费。Gas费用是为 了防止对系统资源的恶意滥用,功能费部分主要用来提升链上生态的质量,防止恶意使用相关功能,确保用户体验。主网启动时会设置特殊操作的功能费,而后期可以根据主链演进情况,通过社区提案的方式对各个特殊操作的功能费进行调整。特殊操作包括:新Token的发行,新交易对上线,锁定转账,新账户激活以及交易撮合。
链上治理
订单簿包含卖单列表(AskList) 和买单列表(BidList) , 卖单被标记为绿色,买单被标记为红色。卖单总是希望拉高价格,买单总是希望压低价格。目前只支持限价单,不支持市价单。如果卖-和买一的价格没有交叉的话,市场是没有成交的。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
CoinEx Chain为去中心化交易而建立的公链
2019-07-10 不详 来源:网络
LOADING...
相关阅读:
- Tether封锁$ 300K USDT并将其交付给州2020-10-26
- 瑞波首席执行官布拉德·加林豪斯(Brad Garlinghouse)反对Coinbase的“不政2020-10-26
- DeFi新玩法 | 人人都能创建保险合约,一分钟了解Protekt Protocol想做什么2020-10-26
- Pionex派网携手币安,全新交易工具开启「区块链券商」新赛道 - 律动B2020-10-26
- Binance Launchpad添加了游戏宠物宇宙Axie Infinity2020-10-26