前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GeeK正在探索的也是你需要了解的——区块链关键技术小览

GeeK正在探索的也是你需要了解的——区块链关键技术小览

作者头像
程序猿DD
发布2018-12-06 16:07:55
4390
发布2018-12-06 16:07:55
举报
文章被收录于专栏:程序猿DD程序猿DD

这些年以来,数字货币的兴起也将区块链技术带到了大家的视野中。相信大家都或多或少的听过比特币,区块链。但是,对于区块链的原理,对于区块链目前所面临的问题,可能知道的人不多。本文,将为你一一解答这些问题。

目前主流的观点认为,区块链就是一个分布式账本,是一个公开透明,去中心化的数据库。在区块链平台上所进行的一切交易数据,都被保留下来,且平台上的每个参与节点都有一份备份,并辅助以密码学的技术让其数据不可篡改。区块链可以让现实生活中没有信任基础的人能够进行交易,而不用担心被人欺诈,可以进一步地降低交易成本。

区块链本身并不是有多大的技术创新,其所使用的技术也都是已经在业界中使用了蛮久的,比如密码学,P2P网络,分布式系统,共识算法等等。但是,当区块链技术将这一切都结合起来的时候,并加以经济激励系统,一种全新的去中心化基础架构与分布式计算范式就诞生了。毫无疑问的是,区块链技术有着巨大的潜力,其能够给我们带来一个全新的电子商业经济,并造福每一个人。

目前区块链行业还处于探索阶段,但是已经有一些案例应用于金融,保险,供应链等领域,并逐步地在发力,发挥着它的作用。无论是学术界还是工业界,目前全世界有一大批优秀的人才和企业,在这个领域不断地探索,推动着它的前进。在此之前,我们应该先了解一下,目前区块链社区内大家都在研究些什么样的技术,在解决什么问题。

1. 共识机制

毫不夸张地说,共识机制可以说是区块链中最重要的一部分了。

区块链之所以能够在去中心化的条件下安全进行,主要归功于其共识机制,即如何在有人作恶的情况下,还能保持交易的正确性。但是这样的共识机制也是有代价,其是通过牺牲一定的性能来获得去中心化和安全性。目前区块链技术最被人诟病的一点,就是其可扩展性。相比于 Visa,一秒钟可以处理几千甚至上万笔交易,一些区块链平台如比特币,以太坊每秒钟只能够处理10来笔交易。这是远远不能满足当代的应用的需求。而区块链技术之所以这么慢,很大原因是因为其共识机制。

如下图所示,跟分布式系统一样,区块链技术中存在着由以太坊创始人Vitalik Buterin 提出的”不可能三角“法则,这三点分别是可扩展性(Scalability),去中心化(Decentralization)和安全性(Security)。

目前已有的共识机制表明,一个区块链系统只能做到这三点中的两点,无法三点全部覆盖到。毫无疑问,安全性是首要的,所以只能够在可扩展性和去中心化中进行一个衡量,最终设计出一个较为满意的区块链系统。

目前业界主要使用的共识机制有以下几种:Proof of Work(工作量证明),Proof of Stake(权益证明),DPOS(委任权益证明)和 PBFT(传统的拜占庭算法)。这些算法都是在可扩展性和去中心化中做了一些平衡,比如Proof of Work的安全性和去中心化程度就很高,但是其可扩展性就不太好,一秒钟最多只能处理10多笔交易,比特币和以太坊就是这个的典型代表;而像DPOS,其安全性和可扩展性得到了保证,但是其去中心化程度就相对弱一点,是弱去中心化,由系统中的一部分人来负责出块,比特股和 EOS 就是这方面的代表。当然,还有很多共识算法是他们的变种,也正在努力地研究并测试中。

2. Layer 2 扩容

除了修改共识协议,还有其他几种方法也有着提高区块链的可扩展性的潜力,比如在传统数据库里面中使用了很久的分片技术,还有layer 2 技术用来提高现有区块链的性能。Layer 2 技术如闪电网络,雷电网络,Plasma等,也被称为是“链下”扩容方法。

其核心思想是,将底层区块链如Bticoin,Ethereum作为安全的保证,在不牺牲安全性和去中心化程度的情况下,将一部分的交易和一部分的计算移到链下去做,当交易需要最终确认的时候,才到链上去做最终裁决。举个例子你就比较好理解了,比如 Alice 和 Bob 在某段时间内有频繁地交易往来,假设今天 Alice 给 Bob 0.1 个比特币,明天 Bob 又还给 Alice 0.2 个比特币,对于此类频繁且小额的交易场景,可能到最后,我们只是关心着最终的结果,即 Alice 和 Bob 的账户分别还剩多少钱。那么其实这中间的所有交易就可以移到链下去做,在需要最终确认 Alice 和 Bob 的账户还剩多少钱的时候,才到链上去确认。因此,最终只需要发一个交易,就是 Alice 转账 2 BTC 至 Bob 的钱包。然而,如果在链下进行这些计算,既可以提高可扩展性,还能节省手续费,保护隐私等。

对于如何保证这个过程安全,正常的进行,就是Layer 2 技术所需要做的事情了。而且能够在链下做的不仅仅是这种简单的交易,还能进行智能合约等程序复杂的运行和计算。这样layer 2 技术的设计难度就加大了很多,但是目前也有不少优秀的团队在 “攻占” 这块领域,如以太坊社区在做的Plasma。

3. 跨链技术

看到这里你可能会有些困惑,那么多的区块链平台,你该用哪一个啊?你在 Ethereum 获得的 Ether,能不能在 EOS 上用啊?

Alice 手头中有比特币,Bob 手头中有以太坊,他们如何不通过可信第三方就能安全快速地进行兑换呢? 这其实是区块链之间的互通性问题,而实现区块链之间的互通性的技术叫做跨链技术。区块链之间的互通性极大程度地限制了区块链的应用空间。无论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

目前主流的跨连技术包括:

  • a. 公证人机制,实现案例有Ripple;
  • b. 侧链/中继, 代表项目有 BTC relay,Polkadot,Cosmos;
  • c. 哈希锁定,代表项目是闪电网络。

早期跨链技术包括 Ripple 和 BTC relay,它们更多关注的是资产转移,现有跨链技术以 Polkadot 和 Cosmos 为代表更多关注的是跨链基础设施的研究。跨链交易只是对跨链最基本的要求,多平台的合约才是跨链的最终需求。这也是目前大家正在发力的一个方向。

4. Oracle预言机

前面提到,区块链可以让没有信任基础的人或团体在无可信第三方的情况下进行交易,而不用担心有人作恶和欺诈,从这个角度讲,区块链可以说是信任的机器。但是,区块链在真正落地的时候,常常面临着一些尴尬的境地。区块链链上的世界和链下的现实世界其实是分隔开的。区块链是没法直接获得现实生活中的数据的,对于涉及到现实生活中数据的应用,这些数据是需要有人或程序将这部分链下的数据给发送到链上的。区块链可以保证链上的数据无法被篡改,但是无法保证上传到链上的数据的真实性。

而连通链上和链下世界的桥梁,就是Oracle预言机。

Oracle预言机对于所有涉及到链下数据的应用来说,都是至关重要的存在。比如,保险公司在区块链上写了一个航空延误险的智能合约,而这个智能合约能够根据航班的延误信息自动做出赔付的操作。而航班的延误信息,是需要通过Oracle预言机来输入的。如何保证Oracle预言机输入的信息是正确有效的;如何避免Oracle预言机被中心化机构所操控;如何保证数据的安全性等等,都是目前业内在研究的一些方向。

5. 智能合约的安全性

区块链平台上有着智能合约这一利器,合约一旦发布,就能够自动运行,所有的数据和状态都不用担心被人篡改。这是它的优点,但是它也有着不可避免的缺点。智能合约本质上就是一个程序,那么是程序就永远无法保证其没有bug。跟传统的软件开发不同,智能合约一旦发布就无法修改,也就无法打补丁。

更致命的是,在区块链平台上,所有的数据是公开的,也表明你所写的程序是会被所有的人看到并研究的,这更进一步地暴露了程序的漏洞。所以如何在智能合约发布前就尽可能地找出其bug,也是业内,包括各大高校,在努力研究的一个方向。目前已经有了一些工具,可以辅助区块链开发人员去验证程序的正确性,但是还不够完善,还需要进一步的研究。

当然,区块链目前还有其他需要我们解决的问题,如存储问题,工具可用性问题等等,远不止我上面列举的 5 个方面。只不过这上面的 5 项是目前行业急需解决的问题,其重大进展都能够引起行业的剧变,为其带来繁荣。可能你会觉得这些都很难,这是否意味着区块链技术是不可靠的,不值得投入的呢?其实恰恰相反,正是因为它是一块处女地,有那么多“果实” 在等着我们去摘取,我们更应该好好地把握机会,争取在区块链中占有一席之地。目前已经有很多项目在解决这些问题,为这个行业的繁荣献出自己的一份力,而 Vena Network —— 洛书协议,就是其中的一份子。

洛书协议是一套资产融通代币化的开放性协议。

通过洛书协议,人们可构建一个去中心化的数字资产融通网络。在该全球性的网络中,任何人都能随时随地进行点对点的数字资产抵押借贷和OTC交易,让数字货币与法币自由流通。洛书协议目前的开发研究工作也在高速的推进中,下面讲解一下洛书协议是如何使用上述的提到的一些技术的。

洛书协议本身是做应用协议开发的,并未过多的覆盖到链最底层的开发,所以早期不开展底层链共识机制的开发工作。但是,洛书协议有另一个层面的共识机制。共识机制,本质上就是链上的节点对于如何运行一条链,有一个共识,并且大家按照着这共识共同维护链的运行。

同样的,洛书协议也有着应用层面的共识机制。洛书协议社区的人创建一套管理社区的共识机制,所有人共同维护这个社区的发展。社区的人可以依据制定的共识机制参与社区建设,如修改协议的内容,对某一项提案进行投票等等,这是应用层面上的共识。

洛书协议作为去中心化的数字资产抵押的协议标准,希望能连接起来所有主流的数字资产,形成互通的价值网络。跨链合约部署是最终解决方案,洛书协议在构建应用技术本身的同时,也在积极的参与,调研,输出到开源的合约跨链部署的相关技术社区。

洛书协议开发去中心化的数字资产抵押借贷的标准,需要用到数字资产的实时的,可靠的,准确的价格信息,以便智能合约判断和执行,用户加仓,或者平仓等操作。Oracle预言机技术是将链下的价格信息安全可靠的输出到链上的重要技术。我们调研了MakerDao,oraclize, 达摩等开源项目的预言机设计。考虑洛书协议的应用场景,创新的设计了一套利用链下的签名消息,将预言机和合约触发相结合的技术。其可以很好地保证上链数据的安全,且能避免频繁上链所导致的昂贵手续费等问题。

除了以上这些技术的应用和开发研究,洛书协议还研究开发其他区块链有关的技术,如陪审员网络机制用来解决交易争执,保护交易安全等等。在推动区块链技术繁荣的道路上,洛书协议在默默地贡献自己的一份力,以迎接即将到来的区块链世界。

十月将尽,整个2018年也来到了尾声。回想2018年币圈的巨大变化,穿越漫漫熊市回到年初,不由得让人感慨物换星移,人事全非。

穿越牛熊,阅币无数的你,今年投资过多少区块链项目呢?你的全年小目标实现了吗?不管答案是肯定还是否定,如今都有一个最好的机会摆在你面前,2018年的最后两个月,让我们一起再来一波年末冲刺,用一笔有价值的投资迎接2019!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云区块链服务平台 TBaaS
腾讯云区块链服务平台(Tencent Blockchain as a Service,简称TBaaS)致力于打造全球领先的企业级区块链技术平台,帮助客户、开发者及合作伙伴轻松创建和管理可托管、可扩展的区块链网络,助力产业协同发展。TBaaS 支持长安链·ChainMaker、Hyperledger Fabric等区块链底层平台,简化部署、运维及开发流程,实现业务快速上链,提升链上治理效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档