“区块链并没有发明什么新技术,都是成熟技术的组合”。|摘抄
- 这些成熟的技术包括数据结构,诸如链表、树、图、过滤器等,是大学里数据结构的基础知识;
- 基础密码学,包括HASH和对称非对称加密、数字签名等等,已经是几十年的经典技术,而事关隐私保护等领域的新一代密码学,更给密码学专业人士开拓了一片广阔的发挥空间;
- 分布式网络和系统这门学科本身包罗万象,覆盖了海量服务的知识范畴,许多从事过海量互联网服务技术的同学,都会对区块链的P2P网络和共识算法、并行计算模型、事务性一致性原理如数家珍;
- 博弈论和激励相容是协作方面的知识点,是“区块链思维”的重要组成部分,工科学生可能需要翻翻书,社科经管背景的同学估计会似曾相识吧;
- 至于智能合约,比如solidity语言、WebAssembly等,很少听说吗?其实这些语言以及编程模式学习曲线未必有javascript高,有几年程序基础的同学基本上一周就可以上手,写出顺溜的智能合约来。
学习者一定程度上先要放空自己,避免让自己在原有领域的思维定势干扰了学习,在丰富自己知识面的同时,接受区块链的“群体共识”、“防止篡改”、“不可否认”、“高度一致性”等神奇逻辑,然后潜心进去看每一个独立的概念时,并不会觉得高不可攀。 突破概念之难的要点,是排除来自各种渠道的噪声,有些信息似是而非,或者是各说各话,把同一件事用N种话术讲出来,混淆了定义,模糊了本质,于事无补的同时还带来更多疑问。靠谱的方法是着重阅读权威媒体的正规内容,关注一些主流区块链项目的文档库,认真地、全面地通读技术文档,然后找一个自己感兴趣的领域(如共识算法),结合自身经验知识进行对照研究。
同时,也可以加入活跃的开源社区和技术圈子,和有经验的人多讨论,勇于把问题抛出来,挨个术语,挨个流程讨论透彻。我们在研究区块链的初期,团队经常就一个概念的定义咬文嚼字地争论很久,最后愉快地达成共识时,大家都觉得神清气爽。 在概念阶段,切忌求全责备,不要变成资料收集机,一口吃不成胖子,基于靠谱的学习资料,澄清基本概念,在实践中去验证和发掘新的概念,建立发现问题、解决问题的方法论,慢慢就能举一反三,说不定某一天就能醍醐灌顶了。
作为技术人员,遇到新的技术平台、软件体系、编程语言...那当然是:“不要怂,就是干!”
FISCO BCOS已经是一个全面开源、安全可控、高速稳定、易用友好的金融级底层技术平台,面向金融和广大的产业领域,提供丰富的功能和各种操作工具。丰富全面的文档和便捷易用的体验,可以帮助开发者从快速入门到精通,整体的技术门槛和开发成本变得前所未有的低。 有了基础的底层平台之后,下载、安装、配置、运行、阅读使用手册、写hello world和业务应用、Debug和分析日志...都是step by step的工作了。 我们目标是,用户在几分钟内,用一键安装、docker、云服务等方式顺畅无错地搭建出自己的区块链网络,在一周内通过学习就可以写出完整的智能合约,基于支持多款语言的SDK(Java、Node.js、Python、Go...还在增补中)实现业务逻辑,将业务发布上线,保持稳定运行。
学习方法,首先是大量的泛读,每天早上一睁眼到晚上,都可以看到持续更新的行业新闻、公众号文章、技术大咖博客、邮件组讨论组、开源项目......阅读的过程或许会遇到不同观点的碰撞,需要去伪存真,在心态开放的同时,也保持自己的立场和方向。 然后是深入的精读,先选定一两个感兴趣的方向,研读诸如密码学、分布式理论等方面的一些经典论文。FISCO BCOS的核心共识算法使用的PBFT和RAFT算法,是基于对原版论文的研究解读,有了深入的理解再去做的实现和优化。区块链里广泛用到密码学原理,场景和逻辑多变,其原理有可能来自某一篇“顶会”论文。精读深度原理剖析文章和学术论文,基于扎实的理论,才能根据自己的需要进行发挥,创造性地解决工程问题。 其实我们的在线文档已经有数十万字的规模,各种信息应有尽有,技术社区会定期对热点知识进行解读,只要读者认真阅读在线技术文档,接受公众号的体贴推送,并动手进行更多的实践,随着时间推移,必能深度理解区块链的技术原理,参透架构设计的来龙去脉,建立起巩固的知识体系。 最后,精读的对象,自然也包括源代码,毕竟“Talk is cheap, show me the code”,区块链开源项目代码大多是几万到几十万行的级别,阅读代码是达成庖丁解牛水准最直接的方法。
“方向”,明确清晰的方向,不但能回答“要不要进入这个领域”,同样也能回答“要不要坚持下去”。
正如系统需要极大的弹性,人也需要极大的韧性。共勉。

浙公网安备 33010602011771号