区块链开发技术路线选择的思考(之一)

现在整个技术社区的注意力主要还是在 Web 和移动开发上面,相关人才供销两旺。不过个别有心人已经开始转向大数据分析、深度学习、VR/AR 这些前景看好的技术。最近几个月区块链非常火,所以也有极少数开发者在关注区块链的开发技术。

应该比较客观的看待现在区块链的这一把火。目前无论在中国还是在国外,讨论区块链最积极最热闹的主要是政府官员、金融政策研究者、技术未来学家和学院派学者,跟他们相比,真正在写代码的人发出的声音很小。官员们重视,说明这个技术的潜在影响力巨大,学者重视,说明还有很多技术问题有待解决,而开发者音量小,说明投身于其中的人还很少,也没有大规模的出成果。禾苗还很娇嫩,阳光雨露高浓度化肥农药都来了,这对区块链来说绝不是什么福祉。这个情形有点类似 2009 年到 2010 年的物联网,因为时任总理的力推,什么国家战略、产业政策、扶植资金过早的进入到了物联网行业,产业园、基础设施、重点项目搞了一大堆,估计也验收了不少成果,但几年下来在这块并没有出来什么成功的企业。希望区块链不要重蹈被揠苗助长的覆辙。

我觉得区块链的发展,还是需要更多写代码的人实际参与,才能实实在在的推动。概念炒作大师们,可以考虑休息一下,他好,你也好。

目前实际动手做区块链开发,大致有两条路。一是直接基于现成的区块链开发平台(主要是 Ethereum 和 HyperLedger)来开发,二是自己从基础开始造区块链。表面上看,从开发效率、投入成本、产业合作等方面毫无疑问应该走第一条路,但实际上情况要复杂得多。下面试对目前区块链开发的主要几个技术路线进行点评。第一部分先讨论 Ethereum 和 Hyperledger,第二部分讨论自开发链和编程语言的选择。

先拿 Ethereum 来说,Ethereum 的理想非常宏大,甚至可以说是晚上仰望星空,白天埋头印钱。创始人 Vitalik Buterin 是我们这个时代的少年天才,为人极其聪明,对事物的洞悉能力非常强,无论 Ethereum 发展如何,他本人都非常有可能成为新一代的科技明星。Ethereum 是公共区块链平台,而且由于配备了强大的图灵完备的智能合约语言,因此可以成为一切区块链项目的母平台,驮住整个区块链世界的大乌龟。在 Ethereum 上开发一个类似比特币的加密货币,是一个不折不扣的小目标。因此 Ethereum 出现以来,相当引人瞩目,相当令人兴奋。前不久 Ethereum 的大批人马杀到中国做了一场 DEVCON 会,其中的技术内容相当深入,可见 Ethereum 还是极客范十足的,这一点必须点赞。

然而瑜不掩瑕,Ethereum 目前实际上处于其发展过程中的一个低谷期。原因有二。

首先,最直接的原因还是今年六月份 TheDAO 事件的影响。关于这个事件,网上的记载和评论已经车载斗量,我就不赘述了。 但需要搞清楚的是,TheDAO 资金失窃实际上暴露出了 Ethereum 的一个本质困难,就是用图灵完备的语言编写的智能合约难以进行安全验证的问题。 Dijkstra 曾经说过,你要么把程序写的简单到极点,以至于明显没有错误,要么就把它写的非常复杂,从而没有明显的错误。 中本聪为比特币选择了前者,而 Vitalik Buterin 为 Ethereum 选择了后者。 理论上你可以在智能合约里写一个 3D 程序,要求玩家通关打怪团灭大 boss 之后才能执行合约。一个智能合约语言,功能强悍至此,大家满意了吧?但是智能合约不比一般的程序,一旦出错就可能带来巨额损失,所以安全性应该是远远放在功能性前面的。TheDAO 失窃的事件就是一次典型案例,一个小漏洞,失窃 6,000 万美金。事后有些 Ethereum 的支持者说,这不是 Ethereum 的问题,是 TheDAO 自己的代码没写好。这就太不局气了。今天你家 TheDAO 的代码没写好,日后我家 TheCAO 的代码就一定写的好? 如果以后 Ethereum 上面的项目三天两头因为自己没写好就被偷得连内裤都输掉,那 Ethereum 怎么玩下去?Ethereum 现在采取的做法是跟传统技术产品一样悬赏捉拿安全漏洞,但大家想想也知道,如果一个安全漏洞有可能给发现者带来几百万美元,你那点赏金怎么会被放在眼里呢? Ethereum 把功能性放在安全性前面,这个基本选择是它得以在众多区块链中脱颖而出的原因,也会让其社区付出相当长的时间和相当大的代价来寻找脚踏实地的道路。

第二个原因是 Ethereum 目前项目过多,各种点子层出不穷,经验丰富的核心开发人员精力不足,导致项目质量参差不齐,文档过时,无疑为学习和使用制造了很多障碍。目前仅 Ethereum 官方客户端(节点)就有 Go, C++, Java, JavaScript, Python, Ruby 等不同版,甚至还有 Haskell 和 Rust 版,你一眼就能看清这背后是一支何等松散、充满个人主义和猎奇精神的团队。此外,Ethereum 还在构建钱包、浏览器、IDE、Solidity 语言等一大堆项目,整个 Ethereum 社区点子横飞,几乎是一个人一个点子,一个点子一个项目,发布一个接一个,连像样的文档都没有,别人想帮忙都帮不上,这给 Ethereum 生态体系的整体质量带来了不良的影响。我们做个比较,Bitcoin 核心开发者几十个人,主要代码贡献者三百多,三百多人围着一个项目转,跟 Ethereum 几十个人做十几个项目,那质量能放到一块比吗? 更不要说文档这种 “外围” 项目,Ethereum 的文档水平跟 Bitcoin 比连提鞋都不配。因此,Ethereum 目前无论是技术成熟度还是社区成熟度,都还差的远。现在投入 Ethereum,要承担较大的风险和变更成本。

当然,Ethereum 还是值得关注,因为它的志向远大,如果能够走过成长的烦恼,成功步入稳定阶段,是可以成为区块链时代全球性的基础设施的。现阶段如果你希望加入 Ethereum 社区,与其在上面直接开发你自己的区块链或者 DAPP 项目,还不如帮助 Geth、Cpp-Ethereum 等核心项目尽快成熟。最近的 DEVCON 大会上,Ethereum 的高手们又纷纷登台,秀出各种梅花间竹的新点子。但依我说,真为了 Ethereum 好,当务之急是回去把文档写好,把几个最核心的项目做扎实,或许能够帮助 Ethereum 尽快走稳。

再看 Hyperledger。 从今年年初到现在,不要提技术内容发生了多少次变化,就是它的代码仓库和文档平台,都已经搬了三次家,最近一次是从 Github 搬到了自家的 Git 代码仓库里。我认为这不是一个随意的变化,这实际上反映了 Hyperledger 的开源策略、商业模式等方面都还在探索和调试中,背后的主导者对于很多原则性问题还在纠结。选择它就必须做好心理准备,跟着它一起动。

从技术上说,Hyperledger 一开始就使用了 Go 语言开发全部基础设施,并且使用 docker 容器发布开发测试环境,这是非常明智的决策。 Hyperledger 支持图灵完备的智能合约编写,因此具有与 Ethereum 相似的安全隐忧。但是它目前没有配备类似 Solidity 的智能合约编程语言,目前它的编程模型是用 Go 或其他语言通过 API 直接操作一个状态,显得比较笨拙,在 C 语言里调用过 Lua 的人用起来会有穿越般的似曾相识感。 但也惟其如此,用 Hyperledger 恰好可以控制合约的复杂度,所以要爆出 TheDAO 那么大的问题反而还不是太容易。

HyperLedger 最大的优势是其定位,面向行业业务应用的联盟链,这是未来区块链应用的一个重要场景。传统企业被预言家们吓出一身冷汗之后,急匆匆来搞区块链的时候,他们必然不愿意接受一个完全开放对等的区块链网络,那相当于是开门揖盗,让毫无根基的颠覆者跟自己打擂台,这是他们从内心里排斥的。要搞区块链,他们的必然选择是集体抱团来做半封闭的行业级联盟链,这样既享受了区块链的技术优势,又维护了既得利益,还赢得了技术弄潮儿的美誉,可谓完美。 Hyperledger 就是给这些企业量身定做的,因此在一段时间之内必然会受到很大的支持。但其弱点也在于此,联盟链注定不如全开放的公共区块链更具颠覆性,所以如果假以时日,有强大的公共区块链,挟巨量终端消费者之力,陈兵扣城,到那个时候联盟链不但守不住,连转型投胎的可能也没有了。我们回想一下,电子商务发展早期,很多传统企业都在自己的门户网站上添加了电商购物的功能,即享受了电子商务的技术优势,又维护了既得利益,还赢得了技术弄潮儿的美誉,可谓完美。现在呢?

不管怎么说,今天这个时候研究区块链开发,Hyperledger 是可以用的,只是要承担可能的变化成本。

时间: 2024-12-28 21:19:38

区块链开发技术路线选择的思考(之一)的相关文章

区块链开发技术路线的思考(二)

在前一篇文章里讨论了基于 Ethereum 和 Hyperledger 开发区块链项目的优缺点.我的结论是明显的,两者志向远大,假以时日或许会一飞冲天,但现阶段的成熟度都还不够.如果你有心现在投入区块链的开发,那么我的建议是,基于 Bitcoin 自建链,同时关注甚至参与 Ethereum 或 Hyperledger 核心项目,帮它们夯实地基. Bitcoin 无疑是最成熟.质量最佳.讨论最深入的区块链项目,如果按照关注度来算市场份额的话,在区块链领域,Bitcoin 可能三分天下有其二.它目前

区块链开发中使用的最流行的编程语言

我们目前正处于一个新兴的区块链开发行业中.区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣.由于许多资金充足的项目现在急于建立区块链网络并在其上部署分散的应用程序,因此缺乏能力强大的区块链开发人员.随着数十亿人进入这一领域,区块链开发商的薪酬和需求不断升级,项目互相竞标,以吸引留在市场上的最佳区块链人才.这种淘金热可能让一些开发人员怀疑他们是否具备了进入这个行业所需要的东西,特别是在这个新行业中最受追捧的编程语言.几乎所有流行的编程语言都在区块链行业

区块链开发公司的落地应用难在哪里

随着区块链开发技术的风口在打开,现在市场上区块链开发公司数量在不断增加,希望能够在区块链开发领域上有所创新,抢占时代热点.但是还是有一部分区块链开发公司打退堂鼓,市场上区块链开发人才难求,更别说那些懂技术又懂应用落地的复合型人才,这导致很多区块链开发公司面临区块链应用落地难,那么今天我们就简单分析一下其中的原因吧. 第一:关乎技术 目前区块链开发技术还是处于不成熟的状态,虽然已经是在一些领域上有所应用,但是其实还是存在一定问题,区块链最佳的落地应用场景是金融领域,那么区块链存在固有的规模限制,能

2018年数字资产即将爆发数字资产交易系统开发区块链交易平台技术

2018年数字资产即将爆发数字资产交易系统开发区块链交易平台技术2018年数字资产即将爆发数字资产交易区块链交易平台技术,有人说2017年是区块链元年,那么2018年就是区块链爆发之年.所谓爆发,一则体现舆论话题不停,二则体现应用遍地开花,2017虽已过,不过这遍地开花的势头却是不容小觑.2018年,一场轰轰烈烈的"数字资产区块链开发运动"如×××般席卷而来,关于其争议一直没停歇过.展望2018年,既有机遇也有挑战.从国际上看,全球经济复苏态势仍可能延续,主要发达经济体货币政策将进一步

深圳区块链商城开发,深圳区块链开发,深圳区块链商城开发技术

深圳区块链商城开发,深圳区块链开发,深圳区块链商城开发技术是当前主流的技术,那么,区块链到底是什么呢?深圳区块链商城开发,深圳区块链开发,深圳区块链商城开发技术又是什么呢? 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以 密码学方式保证的不可篡改和不可伪造的分布式账本. 广义来讲,区块链技术是利用块链式数据结构来验证与存储数据.利用分布式节点共识算法来生成和更新 数据.利用密码学的方式保证数据传输和访问的安全.利用由自动化脚本代码组成的智能合约来编

区块链底层技术开发

区块链底层技术开发 郭经理139-2223-9485.区块链项目开发,挖矿/虚拟币/钱包/挖矿/商城/代币/交易所/游戏游戏/ICO众筹. 根据现有的资料表明,区块链这个技术非常火爆,甚至不少支付APP都开始使用该技术了,而这两个软件,便是大家所熟知的悦支付以及Vpay了,现如今它们是什么情况了,这里为大家简单介绍分析一下. 想当初这个软件在刚刚推出的时候,就吸引了不少人的关注,非常多的人都十分愿意去推广这一个软件,并且希望加入到其中,获得一定的企业股份,如今过去了两年的时间了,这个软件究竟怎么

区块链场外交易系统开发区块链底层技术开发公司

区块链场外交易系统开发区块链底层技术开发公司区块链新兴电商行业诞生,传统电商行业将不复存在源中瑞胡大帅今年的双十一过去也快一周了,大家剁手买回来的宝贝也都陆续到了自己的怀抱中,据统计,2017年,全球电商市场交易额达2.3万亿美元,中国以29.16万亿元位居全球首位.而在今年我们的双十一活动中,天猫仅仅只用了2分05秒就已经破了100亿刷新去年创下的最快破百亿记录,用时不到1小时17分超过2015年双十一全天成交额,用时不到15小时50分,成交总额超越去年全天成交额.双十一启动30分钟,包括小米

区块链机遇中暗含迷思,下个BAT来自区块链平台技术

(上图为Gartner研究总监季新苏) 作为下一代全球信用认证和价值互联网基础协议之一,区块链技术近年正逐渐受到国内外政府机关.国际组织和金融机构的重视和关注.放眼国际,全球有24个国家正在大力投资发展区块链技术:90多个国家中央银行已经开始讨论布局和发展区块链技术:目前全球90多个大型跨国公司加入了区块链技术联盟. 而在国内,2017年4月,乌镇智库发布的<中国区块链产业发展白皮书>显示,截至2016年底,中国共有105家区块链相关企业.2016年,中国新增区块链企业数超过美国,占全球新增企

区块链开发(五)区块链ICO:互联网进化的驱动力

区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化信任.随着中心化的信任中介被逐渐削弱和替代,互联网的运作方式将被以区块链为代表的系统所改变.因此,区块链不仅是一种技术,更是一个关于互联网进化的故事,尽管这个故事还有些遥远,但它已经有了萌芽和初步的发展. 区块链ICO,正是符合去中心化趋势,通过全球众筹,可以将沉淀在全球的小额资金充分利用起来,形成