最近几期,Conflux计划推出一系列的科普文章,从一些简单的技术原理开始,帮助大家辨别一些项目宣传的概念中,哪些概念是可能实现的,哪些概念如果要实现,是需要有妥协的。在第一期,我们从区块链的“不可能三角”谈起,谈一谈如果要追求极致的效率,究竟要牺牲什么。目前在区块链媒体中,有一个流传很广的概念叫“不可能三角”,即效率、安全、去中心化三者不可并存。和“不可能三角”出现同样频繁的概念,是“不可能三角”被公链某个项目打破。在一些媒体宣传Conflux的时候,也曾经使用过这个说法。不过,Conflux从未在官方宣称“打破不可能三角”,我们认为这并不是一个严谨的概念。只能说,这个概念被提出来的时候,还没有人把这三件事情同时做好,并没有人通过严谨的分析证明它不可能。今天,我们来介绍另一个不可能三角。无论一个区块链是公有链还是联盟链,是PoW还是PoS,是采用中本聪共识还是BFT还是其他的什么方式,都绕不开它。这个不可能三角包括三个目标。1.全部节点同步与验证
动态 | 会计公司H&R Block推出新服务 就如何正确申报加密货币损益提供咨询:根据9月24日发布的一份新闻稿,美国会计公司H&R Block推出了一项针对从事加密货币交易的人士的新服务,专门就如何在纳税申报单上正确申报加密货币损益提供咨询。(Cointelegraph)[2019/9/25]
在公链网络中,公链网络的正确性与安全性依赖于一些节点的背书。例如,在比特币或以太坊中,根据协议,每一个矿工挖出区块时,要保证新区块和历史上的每一个区块每笔交易都是正确的。也就是说,比特币矿工出块时,在为之前所有的区块进行正确性背书。在EOS中,超级节点通过签名对区块的正确性背书。我们这里称为“参与共识的节点”。“全部节点同步与验证”要求每一个被确认的交易,都得到过所有参与共识的节点的同步与验证。这个目标是和安全相关的。我们想象一个场景,有一个人想通过伪造无效签名,制造非法交易,盗走你的资产。如果只有一小部分参与共识的节点同步和验证了这个交易,而其他节点不同步这个交易,直接采信那一小部分节点的判断结果。如果这样的话,将一笔非法交易混入交易历史的可能性,就会高于每个参与共识的节点都进行同步和验证。二者的安全性是不一样的。2.超高吞吐率
声音 | Robert Rosenblum:如果监管者将加密货币视为证券,应明确公众如何购以及交易市场建立场地等问题:据CoinDesk消息,在Token Summit 2019会议上,Wilson SAonsini Goodrich&Rosati公司的律师Robert Rosenblum表示,他的公司通常将大多数加密货币视为证券。当时他的同事总是感觉存在差距,“那么,现在怎么办?”换句话说,监管者需要解释,如果代币是证券,公众应该如何购买,交易市场可以在哪里建立。Cosmos创始人Jae Kwon也提出类似观点。他指出,没有人知道如何以美国监管机构目前认可的方式经营去中心化交易所。但是Robert Rosenblum似乎觉得这是可以解决的,“只有当我们拥有一个运行良好的市场,我们才会有更多的经验和更好的框架。”不过,这需要多长时间?这成了根本问题。缓慢折磨着快速发展的行业。欧洲合规公司MME的律师Andreas Glarner表示,来自欧洲的观点是整个行业都很困惑:“大约五年后,答案是还不清楚。否则,我们不会坐在这里(讨论)。那是外面的景色。[2019/5/18]
最终确认交易的平均吞吐率超过11000TPS称之为超高吞吐率。3.低带宽要求
现场 | 降维安全CTO:交易所应该如何保护数字资产:12月16日,由ChainUP主办,节点资本等联合主办的“Future BlockChain”全球行活动在韩国举办。降维安全CTO在会议中表示,交易所主要面临Hacker、恶意量化团队、恶意用户、恶意项目方这些外部攻击。具体到黑客攻击有以下四点:DoS勒索、Web渗透/APT社会工程学攻击以及利用区块链项目自身的漏洞进行攻击。据降维安全统计,交易所应用(不涉及期货合约)风险,共有5大类,14个子类,68个风险点。他表示:专业的事情应该交给专业的人做,选择专业的交易所系统和专业的安全服务商,非常重要。[2018/12/16]
对于每一个参与共识的节点,网络带宽的最低配置要求不高于20Mbps(2.5MB/s)。这个目标是和去中心化相关的,参与的门槛越低,能参与共识的人就越多,越有利于去中心化。以上就是这个不可能三角的三个目标。原因理解起来也很简单,如果一个节点只有20Mbps的带宽,那么每秒只能下载2.5MB的数据,大约是10000笔交易。如果网络中最终确认交易的平均吞吐率超过11000TPS,这个只有20Mbps带宽的节点是没有能力同步和验证每一笔交易的。那么面对这个困难,做出取舍的方案又有哪些呢?1.放弃全节点同步与验证在这些方案中,Sharding是一个很著名的解决方案。Sharding方案的大体思路是,整个区块链在逻辑上分出若干个Shard,将没有关联、互不冲突的交易分到不同的Shard中去,每个Shard由一部分矿工负责同步和验证。对于矿工来说,不需要为其他Shard中的交易正确性负责。Sharding方案是一个提高吞吐率的思路,但这个思路牺牲了一部分的安全性。毕竟,如果有一个人想通过伪造签名,制造非法交易盗窃你的资产,全网中每一个节点都帮你防范非法交易,和只有一小部分节点帮你防范非法交易,二者的安全程度是不同的。不过,对于只是存个零花钱的账户地址,相对于安全性,可能用户对交易成本更敏感。所以这一方向是非常有探索价值的。但如果用Sharding方案下的TPS和别人全节点同步与验证下的TPS比,就很不科学了。另外一个思路是,通过零知识证明或可验证计算等密码学工具,允许一个节点不必同步每一个交易,只需要同步区块头及一些密码学的元素,也可以验证一个区块的MerkleRoot是正确的。当然,这个思路上有很多坑需要去解决,如果有机会,我们会写一篇文章展开讨论一下。2.放弃高TPS这里的放弃高TPS,是指在现有的网络条件下,放弃10000TPS以上的吞吐率。Conflux保留了去中心化和安全性,就需要保留全节点同步与验证和低带宽要求,以实现家用网络条件也可以当矿工,每一笔交易都得到了每一个矿工的验证。如果要保留这两点,效率是有天花板的。3.低带宽要求在一些共识机制中,普通用户不参与对交易的同步与验证,而是通过一些方式选出少数特殊的节点来进行共识。这时,我们可以假设每一个参选的节点都准备了足够的计算机资源,例如更好的CPU,更大的硬盘,更大的网络带宽。这时,也就没必要将“最低配置要求”设的很低了。下一次,如果您看到一个项目声称大于10000TPS,甚至是喊出无限可扩展的口号时,您就需要来看一下在这个不可能三角中,它放弃了哪一角。是放弃了第一点还是第三点?如果是放弃第一点,项目是采用了Sharding方案?还是做出了其他的修改?这种修改会不会带来安全性问题,如何解决?如果是放弃第三点,高TPS是否基于更高的网络带宽要求?还是说在网络带宽无限的条件下无限可扩展?顺便推荐一下我们的线下活动~在本期ConfluxMeetup,我们为大家邀请到了ConfluxCTO伍鸣、Conflux研究总监杨光、TOPNetworkCo-founder&CEOSteveWei来一起聊一聊《下一代公链和DApps生态前景》。点击报名
巴曙松、乔若羽、 郑嘉伟:区块链技术如何渗透到不同金融场景?:区块链技术在支付清算领域尤其是跨境支付、联合贷款等领域的优势格外突出,不少银行已经在这个领域跃跃欲试,除此之外,抵押物核查与征信环节等也是区块链应用场景。[2018/4/25]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。