排除万难,从入门到精通区块链

目前越来越多的人已经进入或准备进入区块链领域,过程中不免抱着各样的疑虑和问题。想起自己之前用几年时间,从“略懂”区块链到all in,同样也经历着类似的心路历程,这个领域确实是有一些门槛的,但万事开头难,摸索路上还远不止八十一难,这里梳理几个概要性的困难和感悟,谨作分享。

方向之难

“我是谁”、“我在哪”、“我要去哪儿”,一切都源于这么一个哲学三问。区块链是什么?区块链究竟能做什么?为什么区块链这么火?不用区块链行不行?这些问题都充满了终极拷问的意味。

其实很难彻底回答这些问题,因为,并没有标准答案。所有创新的前沿的事物大抵如此,在质疑和动荡中发展,在黑暗和荒芜中摸索,精华和糟粕齐飞,绿洲与韭菜一色,直到引爆点迸发。如果因为充满疑虑而左右摇摆,或者裹足不前,那么在从事相关工作研究的过程,体验会很糟糕,结果也不会好。

分享一点个人体会:区块链领域从一开始就吸引了全世界无数的聪明人,不乏极客、学者、大师, 他们进行了大量的技术和社会实践。这个领域蕴含着数学、计算机、密码学、博弈论、经济学、社会学等学科的精华,这是一个智力飞扬、思想激荡的世界。目前,整个行业更是获得前所未有的关注,包括政府、各行业巨头都在关注,大量注意力和资源持续涌入,区块链迎来了“最好的时节”。

在持续进化、结构多元的现代社会里,分布式商业的理念已经成为现实。人和人、机构和机构之间会产生更多的联系和协作,信息和价值在新型网络模式中快速流转,作为分布式技术代表之一的区块链,很有机会成为新一代基础设施和创新的据点。

所以,方向并不是问题。即使你不把区块链当做“信仰”,只看这个充满魅力的技术本身,以及区块链与实体经济深度融合的机遇,还是可以给我们带来信心。

概念之难

在哲学三问中,“区块链是什么”是最晦涩的问题,区块、交易、账户、共识、智能合约、双花...这都是什么?!我自己在刚接触区块链时,也有一种被颠覆了认知的感觉。有一些介绍区块链的文章,往往着眼在区块链的社会和经济效能,从价值理念讲起,这些固然是必要的,但俗话说“科学要定性更要定量”,作为工程技术人员,我们更应该关注的是,区块链里的知识点、基本原理,进而澄清术语、把握架构、处理逻辑和程序流程。

前面提到,区块链蕴含着大量学科的精华,同时,行业也有一句俗语:“区块链并没有发明什么新技术,都是成熟技术的组合”。

  • 这些成熟的技术包括数据结构,诸如链表、树、图、过滤器等,是大学里数据结构的基础知识;
  • 基础密码学,包括HASH和对称非对称加密、数字签名等等,已经是几十年的经典技术,而事关隐私保护等领域的新一代密码学,更给密码学专业人士开拓了一片广阔的发挥空间;
  • 分布式网络和系统这门学科本身包罗万象,覆盖了海量服务的知识范畴,许多从事过海量互联网服务技术的同学,都会对区块链的P2P网络和共识算法、并行计算模型、事务性一致性原理如数家珍;
  • 博弈论和激励相容是协作方面的知识点,是“区块链思维”的重要组成部分,工科学生可能需要翻翻书,社科经管背景的同学估计会似曾相识吧;
  • 至于智能合约,比如solidity语言、WebAssembly等,很少听说吗?其实这些语言以及编程模式学习曲线未必有javascript高,有几年程序基础的同学基本上一周就可以上手,写出顺溜的智能合约来。

区块链让人觉得认知困难,是因为它就像个“筐”,什么都可以往里装,牵涉的技术繁杂,组合方式却和常规技术套路不同。所以学习者一定程度上先要放空自己,避免让自己在原有领域的思维定势干扰了学习,在丰富自己知识面的同时,接受区块链的“群体共识”、“防止篡改”、“不可否认”、“高度一致性”等神奇逻辑,然后潜心进去看每一个独立的概念时,并不会觉得高不可攀。

突破概念之难的要点,是排除来自各种渠道的噪声,有些信息似是而非,或者是各说各话,把同一件事用N种话术讲出来,混淆了定义,模糊了本质,于事无补的同时还带来更多疑问。靠谱的方法是着重阅读权威媒体的正规内容,关注一些主流区块链项目的文档库,认真地、全面地通读技术文档,然后找一个自己感兴趣的领域(如共识算法),结合自身经验知识进行对照研究。

同时,也可以加入活跃的开源社区和技术圈子,和有经验的人多讨论,勇于把问题抛出来,挨个术语,挨个流程讨论透彻。我们在研究区块链的初期,团队经常就一个概念的定义咬文嚼字地争论很久,最后愉快地达成共识时,大家都觉得神清气爽。

在概念阶段,切忌求全责备,不要变成资料收集机,一口吃不成胖子,基于靠谱的学习资料,澄清基本概念,在实践中去验证和发掘新的概念,建立发现问题、解决问题的方法论,慢慢就能举一反三,说不定某一天就能醍醐灌顶了。

上手之难

好吧,哲学和概念问题终于不会阻碍我们学习的脚步了,那么怎么继续“二十一天入门到精通”之路。作为技术人员,遇到新的技术平台、软件体系、编程语言...那当然是:“不要怂,就是干!”

几年前,我们刚开始研究区块链时,通读过几个国外流行的开源区块链项目代码,并搭建测试网进行试验剖析,分析如何让这些平台能在复杂的金融业务上用起来。当时有个困惑,如果直接基于底层平台开发应用,当需要实现更多功能时,是不是就得直接修改底层平台代码。

而当看到“智能合约”这个东西时,思路一下就打开了:采用智能合约作为中间层,在合约里编写业务逻辑,并为调用者定义清晰的功能接口,这样,业务可以很好和底层解耦,而底层平台则定位成强大的引擎,通过架构的解耦,使得整个开发过程变得清晰合理、轻松愉快,感觉就像是从“C/S”架构到“B/S”架构的演变,多年互联网海量服务开发的手感又回来了。

另外,我们觉得当时的开源项目主要是公链形态,在安全可控以及合规方面考虑没有那么周全,并不适合金融场景使用。

那么,没有趁手的平台,就想办法造一个。从此,深耕底层技术、迭代应用验证的漫漫之路开启了。这个过程也和开源社区一众伙伴建立了紧密的合作,正是“来自开源并回馈开源”,经过开源工作组几年的打磨,FISCO BCOS已经是一个全面开源、安全可控、高速稳定、易用友好的金融级底层技术平台,面向金融和广大的产业领域,提供丰富的功能和各种操作工具。丰富全面的文档可以帮助开发者从快速入门到精通,整体的技术门槛和开发成本变得前所未有的低。

有了基础的底层平台之后,下载、安装、配置、运行、阅读使用手册、写hello world和业务应用、Debug和分析日志...都是step by step的工作了。

我们目标是,用户在几分钟内,用一键安装、docker、云服务等方式顺畅无错地搭建出自己的区块链网络,在一周内通过学习就可以写出完整的智能合约,基于支持多款语言的SDK(Java、Node.js、Python、Go...还在增补中)实现业务逻辑,将业务发布上线,保持稳定运行。

为了这个目标,我们一直在持续优化使用文档、开发手册,以及部署和运维工具。众所周知 ,“码农”们喜欢写代码,而写注释和文档就比较痛苦了,为了向社区交出一份漂亮的作业,大家倾尽了有生以来的语文水平,一次又一次修订,硬是写出了数十万字的文档库。

同时,开源社区推出了一系列的线下线上沙龙、培训,用社区的方式,进行广泛交流和技术支持。在多次的现场学习和黑客松大赛中,我们欣喜地看到,开发者用两三天时间,就能基于FISCO BCOS实现他们精巧的项目设计,而且有开发者将其中和开源项目相关的优化贡献到Github上。

到这个程度,即使是对没有区块链研发经验的开发人员,快速上手已经没有什么问题,即便区块链底层还像一个黑盒子有待探索,但就像在电脑上安装App、使用mysql、tomcat之类的软件一样,足可以用起来,感受区块链的魅力了。

深入之难

对技术人员来说,探索技术的内涵永无止境:参与到区块链底层开发,实现大型的区块链应用,为区块链生态增加更多有用的特性、工具,对现有功能性能进行极致优化,这些都是进入“深水区”的路线。

之前提到,区块链系统知识点和框架涉猎广泛,无论是知识面还是深度都有相当的规模。量化一下的话,可以套用一万小时理论:如果每天学习工作8-10小时,一个月足以上手,一年可得小成,两年轻车熟路,三年可成老司机……但老司机要行的前路依旧漫漫。我们希望通过持续的科普、交流、实践,去缩短这个过程,但毕竟学习就是一种最基本的“工作量证明”,并没有什么其他捷径。

学习方法,首先是大量的泛读,每天早上一睁眼到晚上,都可以看到持续更新的行业新闻、公众号文章、技术大咖博客、邮件组讨论组、开源项目...阅读的过程或许会遇到不同观点的碰撞,需要去伪存真,在心态开放的同时,也保持自己的立场和方向。

然后是深入的精读,先选定一两个感兴趣的方向,研读诸如密码学、分布式理论等方面的一些经典论文。FISCO BCOS的核心共识算法使用的PBFT和RAFT算法,是基于对原版论文的研究解读,有了深入的理解再去做的实现和优化。区块链里广泛用到密码学原理,场景和逻辑多变,其原理有可能来自某一篇“顶会”论文。精读深度原理剖析文章和学术论文,基于扎实的理论,才能根据自己的需要进行发挥,创造性地解决工程问题。

其实我们的在线文档已经有数十万字的规模,各种信息应有尽有,技术社区会定期对热点知识进行解读,只要读者认真阅读在线技术文档,接受公众号的体贴推送,并动手进行更多的实践,随着时间推移,必能深度理解区块链的技术原理,参透架构设计的来龙去脉,建立起巩固的知识体系。

最后,精读的对象,自然也包括源代码,毕竟“Talk is cheap, show me the code”,区块链开源项目代码大多是几万到几十万行的级别,阅读代码是达成庖丁解牛水准最直接的方法。在研究区块链的历程里,我们有许多长夜漫漫review代码的日子,当读到一眯眼,眼前都是代码在飞,各种接口和对象翩翩起舞,既优雅又有规律,脉络清晰,那种愉悦简直难以名状。这种体验,之前有,之后也会继续有。

如果已经深入到了这个程度,领域门槛已经基本越过,考验的就是开发者的脑力和体力了吧。

持续之难

在过去几年因为鱼目混珠、政策法规、技术障碍等等一系列情况,区块链会遇到市场波动、应用落地延缓等挑战。未来如何,虽然没有预言家告诉我们,但现在大家已经看到了趋势。这又回到了第一个问题:“方向”,明确清晰的方向,不但能回答“要不要进入这个领域”,同样也能回答“要不要坚持下去”。我们一直在分布式商业模式中开拓场景,为公众提供优质的服务,为行业提供完备和好用的开源技术,这是从开始到现在,乃至未来坚持的方向,从未改变。

再具体一点,如果我们已经用区块链部署上线了业务系统,那么影响系统生命周期和持续性的问题还有:可运维性、可升级性、兼容性、数据容量、业务性能容量等等。

多次和社区朋友交流的过程,他们会提起一些问题,例如,新版本是否能兼容旧版本?随着业务发展,越来越多的数据是否可以迁移和重用?这都是用户的真实声音。我们所构建的平台,一定要走可持续发展的路线,重视软件体系的兼容性,有合理的版本发布节奏,以及周全的数据迁移维护策略,可以更好地保护社区用户利益,也使得用户愿意长期与社区共同发展。

另外,区块链领域还在高速发展中,各种新技术、新思潮、新模式、新政策还在层出不穷,这个领域集结了世界上大量的聪明人,他们不但聪明而且努力,从来都不闲着。于是在这个领域工作,每天都会有新的知识、新的刺激,这一方面是一种幸运,另一方面,也会让人极其焦虑。

如何去消化这么海量的信息,如何去探索和掌握前沿的知识,如何更好满足高速发展带来的用户需求和新挑战,如何做出卓有成效的突破性创新,这真的是一个创新和焦虑并存的世界,让人欲罢不能。

作为从业者,必须持续进行大量阅读,在各种信息流里过滤和吸收,不断地归纳/总结/思考/开拓;每一个需求和用户ISSUE反馈都是一个小目标,每发布一个新版本都会是下一个版本的新起点。区块链的世界和其他技术领域没有什么不同,都必须保持敏锐和奔跑,保持好奇和谦逊,不断学习和实践,修订短板寻求突破,将成果分享给社区。正如系统需要极大的弹性,人也需要极大的韧性。共勉。

推荐链接:

亲朋好友都能看懂的区块链: https://mp.weixin.qq.com/s/U0kDZhwltv_1yjHs_YPAPw

fisco-bcos开源项目github地址:https://www.github.com/fisco-bcos

关键概念阅读:https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/docs/tutorial/key_concepts.html

FISCO BCOS零基础入门,五步轻松构建应用: https://mp.weixin.qq.com/s/z2zx8cLU6OQXkh5dYp5sXg

深入区块链底层平台FISCO BCOS:https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/docs/design/index.html

(0)

相关推荐

  • 各位能不能用通俗易懂的法子帮我解释一下什么是区块链?

    区块链是一种按时间顺序将数据区块以链条的方式组合成特定的数据结构,并通过密码学方式保证数据难以篡改和伪造的去中心化的互联网公开账本. 简单地讲,区块链就是一种不可篡改的去中心化分布式账本. 区块链主要 ...

  • “苍穹之下”的区块链真的安全吗?

    祸兮福之所倚,福兮祸之所伏.当下大热的区块链技术,对于我们来说究竟是福音,还是翻涌着的无尽泡沫.当<IT时报>记者深入采访发现,曾经标榜"去中心"的区块链技术正在以惊人 ...

  • 【连载】2020网信自主创新调研报告-自主可控区块链

    2020网信自主创新调研报告 专家委员 主   任:倪光南 副主任:严 明.霍 炜.胡伟武.窦 强 委   员(按拼音排序):曹 冬.陈晓桦.邓小四.杜 胜.杜跃进.冯燕春.冯裕才.郭守祥.韩乃平.胡 ...

  • 纯干货!区块链入门介绍及技术运用

    学习目录: 1.你听过的区块链 2.现实世界存在的问题 3.区块链起源及定义 4.区块链应用 5.区块链技术 资料领取方式见文末 [温馨提示] 该份资料共54页,我们已经为您整理成电子文档 如果您觉得 ...

  • 写给区块链挖矿小白的一份入门清单

    原创 lg 郭说区块链 1周前 近期,随着比特币等主流数字货币的暴涨,越来越多的圈外朋友想参与到数字货币的投资,我们不建议新用户直接投资数字货币,而是建议可以从数字货币的挖矿中参与进来,一来可以降低投 ...

  • 一文轻松看懂区块链的工作原理

    作者注:这篇文章是写给非计算机专业的朋友的科普文,尽量避开了比较专业的细节.如果你是计算机相关专业,或者具备一定数据结构.算法.密码学的知识,建议直接看文末参考资料中的三篇博文,或者更专业的资料. 区 ...

  • 48小时学习六爻,从入门到精通。第一章 第五节:古代哲学

    48小时学习六爻,从入门到精通。第一章 第五节:古代哲学

  • UC头条:区块链技术可能被大规模采用吗? 区块链技术的关键是什么

    花火网报道,区块链技术是当今时代最有前途的技术之一,其核心概念非常简单.从本质上讲,这是一个公共分类账或数据库,我认为关于区块链实际上是什么的公众教育可能是其大规模采用的关键.区块链技术可能被大规模采 ...

  • “区块链”实应译为“部落城”| 施展札记37

    最近这大半年来互联网上发生的一系列事件,给我一种强烈的感觉,我们似乎又一次航行在通往未来的船上,没有人知道前方究竟是什么,但它很可能是一片新大陆,在地理大发现之后,人类很可能即将进入一次空间大发现. ...

  • 默克尔区块链 打破区块链三元悖论

    (2021年5月4日,伦敦) –随着区块链技术发展,不同的技术路径也不断出现并演化:独立运作的各种区块链急需跨链操作性能,才能实现规模化.默克尔区块链(Merkle Blockchain)的互操作技术 ...

  • 了解区块链,从此不做韭菜

    三马路小强2021-03-25 09:48:51 近期由于国家也开始重视区块链技术以及相关产业的创新发展,使得沉寂许久的区块链技术再次成为人们关注的焦点.但是网络上关于区块链的解释太过专业,这就让许多 ...

  • snapseed从入门到精通-进阶版-图层编辑功能的使用

    snapseed从入门到精通-进阶版-图层编辑功能的使用