精华内容
下载资源
问答
  • 区块链开发技术指南(区块链技术丛书).azw3 kindle电子书,仅供学习交流使用,请勿商用,侵删。
  • 大概我所了解的在区块链开发的分为区块链底层开发、区块链Dapp开发、区块链生态开发这三类。 如果想要从事与区块链底层开发,需要做以下三步: 1.Go语言基础,掌握流行区块链开发用到的Go库。 2.简单区块链搭建,...

    如果你想要从事区块链行业,那么当前区块链技术开发划分必然值得一看。

    大概我所了解的在区块链开发的分为区块链底层开发、区块链Dapp开发、区块链生态开发这三类。

    如果想要从事与区块链底层开发,需要做以下三步:

    1.Go语言基础,掌握流行区块链开发用到的Go库。

    2.简单区块链搭建,掌握区块链基本概念与简单算法。

    3.阅读商业级别区块链源码,了解区块链技术流行设计与最新技术。

     

    最后要掌握的技能:

    1.熟悉数据结构和算法,对密码学、安全协议和加密算法有研究;

    区块链算法和密码学加密:这个需要了解看以下剑指offer或者leetcode,密码学也就是最基础的对称和非对称,加密算法包括RSA、ECC。至于安全协议不需要代码级别了解,只要了解概念即可。

    2.理解各类主流的共识算法,包括不限于PoW,PoS,DPoS,PBFT,Paxos,Raft等;

    区块链共识部分:这个很简单,只要会一些简单代码或者伪代码明确具体步骤即可,不需要和商业设计对接。

    3.了解主流NoSQL数据库的原理与使用,尤其是KV型数据库,包括不限于LevelDB,RocksDB等;

    区块链数据服务部分:这个需要掌握流行的数据库,即实现代码对数据库的增删改查即可。

    4.了解HTTP/2协议,理解RPC框架,具备使用protobuf的开发实践经验;

    区块链编码部分:这个需要对以太坊RLP进行了解,大公司可能需要代码级别操作,了解原理就会很简单了。RPC框架我推荐使用微服务,这个有造好的轮子,便于掌握。

    5.有相关分布式系统架构和P2P网络系统开发经验者优先;

    区块链P2P部分:这个最为重要,也就是这个是区分你和他人所在,需要完整的看一些区块链源码,了解P2P节点发现、区块交易数据同步、共识设置。

    6.了解区块链技术(hyperledger、以太坊)者优先,有比特币或其他类似币类系统研究经验者优先;

    区块链框架:这个是你和面试官侃大山时用的,这个最为基础,连这个都不会面试官会直接让你走人。

     

    如果你想要从事区块链Dapp开发,这个目前招聘还比较少,需要做以下三步:

    1.搭建以太坊网络、fabric网络,了解区块链基本概念。

    2.了解最基本Go或者C++或者java,掌握solidity合约语言。

    3.掌握nodejs开发,最基本JavaScript、html、css,了解前后端一些框架。

    需要掌握以下技能:

    1.熟悉WEB开发,了解前端开发流程

    前端开发部分:这个掌握前端的流行框架,和基础前端语言。

    2.熟悉Java、Nodejs

    后台开发:掌握nodejs一些框架,譬如express、koa等,最好有自己的产品。

    3.掌握常见的算法和数据结构,并拥有良好的编码能力;

    算法能力:剑指offer。

    4.合约语言

    合约开发:这个比较简单,容易入门,去看一些流行和合约代码即可。

     

    对于区块链生态开发部分,我不太了解,目前流行的有交易所和钱包开发,这个最好的掌握方式是查看源码。

    我目前从事与区块链底层开发,也掌握区块链Dapp开发能力,如果想要了解具体技术的可以留言。

    展开全文
  • 《精通区块链开发技术》_王烈征译
  • 区块链开发技术交流QQ群796660050

    区块链开发技术交流QQ群796660050

    展开全文
  • 区块链开发技术综述》乱弹

    千次阅读 2019-05-11 16:31:39
    朋友圈看到一篇名为《区块链开发技术综述》的文章被广泛转载,我有一些技术与理念上的不同意见,写在这里。 第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则...

    朋友圈看到一篇名为《区块链开发技术综述》的文章被广泛转载,我有一些技术与理念上的不同意见,写在这里。

    第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3 Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。

    私有链和联盟链的区别仅仅在于部署方式,而不在这个区块链项目本身,这也是为什么私有链和联盟链可以被统称为许可链(Permissioned Ledger)或者是分布式账本(Distributed Ledger)的原因。

    私有链被部署在单一机构内部,是为“私有”,而联盟链则部署在行业或者某种小团体内部,是为“联盟”。无论是Corda还是Fabric,既能作为私有链用,也能作为联盟链用。被强行扣上私有链的小帽,Corda实在是冤。

    公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。

    公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。

    共识节点准入机制是联盟/私有链(下文以许可链统称之)的本质特征,不是“往往设置”的配件。相反,“节点数”不大不是许可链的必须假设。

    第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。

    状态机和账本不是不同的两派,而是不同层次的概念。账本是业务层的概念,与金融场景密切相关。而无论是以太坊还是Fabric中的状态机,都是计算机科学意义上的状态机,也即是分布式系统常用模型Replicated State Machine的组成部分,这是一个更加底层,更加抽象的概念,不涉及具体业务。目前你能看到的“共享账本”,实际上都是基于”共享状态机“实现的。

    因此无论是在以太坊和Fabric上,我们都可以实现“共享账本”。相应的,比特币同样是通过执行交易中的Bitcoin Script改变整个系统的状态(UTXO Pool)。比特币不仅仅是一个账本,如果只是要实现账本的功能Satoshi没必要设计Bitcoin Script,比特币同样是一个智能合约平台

    第三是按照梅兰妮 · 斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的The DAO。

    如果硬要按照这个标准划分,以太坊是具有3.0潜力的目前处于2.0阶段的平台。

    第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。

    区块+链是“区块链”的核心数据结构是一个普遍的误解,这就好像说老婆饼=老婆+饼。区块链这个词确实源自区块+链的意思,但在技术的发展中早已摆脱了这个定式。在我看来,区块链和分布式账本是不同层级的概念。分布式总帐可以用或不用区块链技术实现,区块链技术可以实现分布式账本以及其它许多应用。

    首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。

    比特币网络的稳定性确实堪称典范,在充满恶意的野外从未停机的运行了8年,这个成就无论怎么称赞都不为过。不过要说有没有发生什么严重的事故,就看你如何定义“严重”了。另一个常被忽略的事实是比特币网络已经拥堵不堪,这就好像支付宝规定自己每天只处理10万笔转账一样,虽然系统稳定,但是并没有满足用户需求,解决该解决的问题。真心希望比特币扩容之争快些结束。

    比特币Bitcoin Core是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,Bitcoin Core是最佳切入点,能够学到原汁原味的区块链技术。当然,Bitcoin Core是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。

    学习原理我向大家推荐《Mastering Bitcoin》,讲解透彻,开源而且免费。Bitcoin也有Go实现的版本,也许会比充满历史遗留的C++版本更适合你。要知道,比特币是一种协议,不是特定的某个客户端,无论看哪种语言的实现,只要它实现了必要的功能,就可以作为参考。

    学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。

    闪电网络在哪个社区先落地难说,Bitcoin本身的限制给闪电网络的实现造成了很大障碍。

    比如侧链技术的主要领导者Blockstream是由密码学货币元老Adam Back领衔的,而Blockstream是Bitcoin Core最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。

    注意侧链(Sidechain)不是一个统称,只是Blockstream推出的一种技术的名字,关于这个名字的吐槽可见Vitalik给R3写的跨链设计文档

    当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。

    以太坊的开发进度确实比预计慢了不少,主要原因是2016下半年为处理连续两次攻击事件(TheDAO & DoS)花费了很多时间,导致Metropolis开发工作在2017春节前才正式展开。从项目多就得出力量分散的结论有些想当然,仅仅拿ethereum/go-ethereum一种客户端来说,contributor数量是110, fork数量1022;相比之下hyperledger/fabric的contributor数量是72,fork数量706,由此可反见以太坊生态的繁荣。

    这与以太坊革命无罪、造反有理的形象形成鲜明对比。

    不知道为什么以太坊在作者心中是这种形象...

    第二类开发者是开发智能合约的。这类开发者使用类似Solidity这样的智能合约语言,或者直接用Go、Java、Python等语言开发。开发智能合约所要求的语言和算法技术水平不高,什么并发、多线程之类的东西一般用不到,普通开发者均可胜任。但是智能合约的难点在于业务与安全。本质上智能合约就是以代码写成的商业合同,必须对于业务有非常清晰的认识,对于安全有着深刻的理解,才能够写出正确的智能合约。因此,我认为未来智能合约的开发者,可能反而是具体应用领域的行业专家出身居多,因为让他们掌握Python语言,远比让程序员去理解进出口贸易规则或者商业票据业务要容易得多。

    程序员要理解业务规则自然是需要努力学习,但是行业专家要写出安全的Python程序就要更容易?难以苟同。如果你承认写程序是一个行业,程序员就是这个行业的专家,程序语言与安全知识就是这个行业的领域知识,没必要把程序员特殊化对待。

    展开全文
  • 2018年中国区块链产业白皮书 201705_区块链技术发展现状与展望 Go语言程序设计 法链白皮书 华为区块链白皮书 区块链原理、设计与应用 中国区块链技术和应用发展白皮书
  • 区块链开发技术综述

    千次阅读 2017-09-01 10:40:42
    本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。

    关注微信公众号:区块链大本营,获取更多区块链开发技能

    如果你关注区块链技术长达几个月,可能也会跟我一样,对没完没了的原理介绍、前景描绘、行业探讨和链圈新闻产生了审美疲劳。没错,区块链必须与行业紧密结合,它也有颠覆人类协作方式之洪荒巨力,但是说到底它还是一个技术活,是要写代码的,在咖啡厅里整天坐而论道是造不出金链子来的。技术人员的逻辑简单直接,这个事情有没有前(钱)途?有,那怎么干?

    本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。

    区块链技术的流派

    未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。

    划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:

    第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3 Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。

    第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。

    第三是按照梅兰妮 · 斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的The DAO。

    第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。

    主流区块链技术平台

    了解流派划分,仍是只能用来指点江山,吹牛论道,要动手,总要有个切入点。区块链货币据说已经有上千个了,但值得关注的技术平台大概只有数十个,而如果要进入区块链开发领域,打下一个好基础,练出一身好功夫,捞到几个好offer,则值得深入研究学习的平台,屈指可数。

    首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。比特币Bitcoin Core是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,Bitcoin Core是最佳切入点,能够学到原汁原味的区块链技术。当然,Bitcoin Core是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。

    学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。比如侧链技术的主要领导者Blockstream是由密码学货币元老Adam Back领衔的,而Blockstream是Bitcoin Core最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。

    但比特币作为一个典型的区块链1.0系统,是不是支撑其他类型区块链应用的最佳技术平台,存在很大的争议。另外,也不是所有人都有能力和必要精通区块链底层技术。所以对那些急于冲到区块链领域里做(quān)事(qián)的人来说,可能更直截了当的学习目标是以太坊和Hyperledger Fabric。

    在以太坊上面用Solidity进行的智能合约开发是切入区块链开发最简单的方式,没有之一。以太坊的理想非常宏大,由于配备了强大的图灵完备的智能合约虚拟机,因此可以成为一切区块链项目的母平台,是驮住整个区块链世界的大乌龟。在以太坊上开发一个类似比特币的加密货币,是一个不折不扣的小目标。一般有经验的开发者在文档指导下,半天到一天即可入门。问题在于,入门以后又如何?靠写Solidity是否就可以包打天下?这是大大存疑的。我们也可以反过来说,如果以太坊+Solidity是区块链的终极解决方案,那么怎么还会出现那么多区块链技术门派呢?特别是,以太坊似乎并没有给现实世界中巨型的中心化组织们留下一条活路,这种彻底不妥协的革命态度有可能也成为以太坊推广的障碍。

    当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。但尽管如此,跟其他区块链2.0平台相比,以太坊提供的开发环境是最简单最完善的。初学区块链的人绝对有必要学习以太坊,从而对区块链和智能合约建立起一个最“正宗”的认识。

    主流区块链技术平台的第三支就是Fabric,它是Hyperledger的第一个也是最知名的孵化项目。 Fabric最早来自IBM的Open Blockchain项目,到2015年11月,IBM将当时已经开发完成的44,000行Go语言代码交给Linux基金会,并入Hyperledger项目之中。在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入Open Blockchain,随后改名为Fabric。到目前为止,Fabric与Intel提供的Sawtooth Lake并列为Hyperledger的一级孵化项目,但前者得到的关注远超后者。

    从技术角度来说,Fabric思路不错,重点是满足企业商用的需求,比如解决交易量问题。众所周知,比特币最大的短板是它每秒钟7个交易的上限,完全无法满足现实需要。而Fabric目标是实现每秒钟10万交易,这个量接近刚刚过去的双十一交易量瞬时峰值,完全可以满足正常条件下的行业级应用。Fabric用Go语言开发,也提供多种语言的API。特别值得一提的是,Fabric比较充分地运用了容器技术,比如其智能合约就运行在容器当中。这也是Go语言带给Fabric的一项福利,因为Go语言静态编译部署的特征很适合开发容器中的程序。

    Fabric还有一些特点,比如其membership服务可以设置节点准入审查,这是典型的联盟链特征。再比如其共识算法是可定制的。Fabric自带PBFT共识算法实现,但是PBFT的算法效率是O(n²),其中n是节点数量。因此PBFT用在节点数量受限的联盟链里是没有问题的,但用在公有链里效率过低。

    Fabric的短板是体系较为复杂,虽有文档,但缺少经验的开发者学习起来障碍比较大。然而由于其定位清楚,迎合了不少企业的心态,所以已经有多家机构在基于Fabric秘密研发行业内的联盟链项目。

    小众门派

    上述区块链开发的三大主流平台,从活跃度、受关注和参与人数来说,远远超过其他平台。但俗话说莫欺少年穷,一些眼下还默默无闻的平台也不容忽视

    Hyperledger的另一个一级孵化项目Sawtooth Lake是Intel开发的区块链平台,是一个很少被关注的项目,大概是因为被同在Hyperledger旗下的Fabric给掩盖了,再加上名字拗口,所以很少看到有人讨论它,项目活跃度也不高。但其实Sawtooth Lake是一个挺有想法的区块链项目,设计十分精心。它以数字金融资产管理为目标,整体架构清晰,模块化程度高,因此可定制能力也强。概念上独创了“交易族(transaction family)”概念,而且还支持PoET和Quorum两种共识机制。当节点数量很多(公有链环境)时,使用第6代Intel Core CPU所提供的SGX扩展功能提供一种称为时间流逝证明(PoET)的机制来形成共识,这种机制与比特币所采用的PoW同属“抽彩票”式的共识算法,但杜绝了通过ASIC专用硬件“作弊”的可能性,排除了比特币出现的算力过于集中的隐患,可靠性由Intel CPU硬件来保障,是公有链系统里很有价值的一个共识机制。另一方面,当节点数量少且受控时,Sawtooth Lake可以采用Quorum共识机制,这是由Ripple提出并验证的共识机制,非常适合于联盟链场景,这样Sawtooth Lake就摇身一变成为很好用的联盟链了。

    Sawtooth Lake采用Python开发,并提供了Java SDK。由于这两种语言的流行度,实际上它应该有很大的潜在开发者人群。事实上,R3 CEV曾经测试过Sawtooth Lake并进行了成功的证券交易实验。当前它主要的问题是受关注度不足,不知Intel是否有足够的耐心和毅力坚持到底。如果Intel战略更明确一些,支持力度更大一些,我建议大家可以对它投以更多的关注。

    R3 Corda是一个备受关注的分布式账本项目。 R3是由数十家银行和金融机构支持的区块链企业,融资上亿美元,号称汇集了一票高手,潜心研究符合金融行业需求的分布式账本系统。Corda是R3分布式账本系统中的核心,在千呼万唤之后,于11月30日正式开源。

    Corda采用JetBrain原创的小众语言Kotlin开发,对Java世界敞开大门,这是令人点赞的。此外,Corda更重要的特色是其与现有世界里大银行、大型中心机构的全面妥协、全面合作的姿态,这与以太坊革命无罪、造反有理的形象形成鲜明对比。Corda在设计中有多项独特考虑,就是为了对接现有的业务规则。比如在其他几乎所有区块链平台里,每一个交易对于各节点来说都是可见的,可见才能验证,能验证才谈得上共识,所以交易的全网可见性是顺理成章的。但是现实世界里金融机构之间的交易,只有交易相关方才能看到交易详情,工行与建行的一笔交易,绝无必要让招行看到。为了对接这个现实,Corda设计了与众不同的机制,牺牲了交易验证的全局可见性,确保只有交易相关方才能看到和验证交易本身。可是另一方面,银行业务是被重度监管的业务,不能因为你用了区块链系统,就把洋洋洒洒的巴塞尔协议晾在一边,监管机构的职能如何体现?这是其他区块链系统里考虑不多的。而Corda设计了独特的Notary和Oracle节点,为监管体系进入留下了空间。仔细品味,这些都是给现实世界当中的大机构预留的美差。这些设计上的考虑,无疑大大增强了Corda被现有大型金融机构采纳的机会。不过这一切看上去很美好,但目前Corda的实现基本上是个花架子,设想的种种,不少处于TODO状态。

    另外两个值得点名的区块链门派分别是Chain和BigchainDB。前者跟Visa有合作,后者是一个基于RethinkDB开发的分布式账本,两者各有各的思路和特色,也拿到了为数可观的投资,不排除未来能有大的发展。限于篇幅,在这里不展开介绍了。

    区块链开发所需具备的技术基础

    可以预见,未来从事区块链开发的主要有三类开发者,一类是开发基于区块链的Web或移动App,这种开发者所需要的技能与今天的Web和移动开发者并无二致,这里就不赘述了。

    第二类开发者是开发智能合约的。这类开发者使用类似Solidity这样的智能合约语言,或者直接用Go、Java、Python等语言开发。开发智能合约所要求的语言和算法技术水平不高,什么并发、多线程之类的东西一般用不到,普通开发者均可胜任。但是智能合约的难点在于业务与安全。本质上智能合约就是以代码写成的商业合同,必须对于业务有非常清晰的认识,对于安全有着深刻的理解,才能够写出正确的智能合约。因此,我认为未来智能合约的开发者,可能反而是具体应用领域的行业专家出身居多,因为让他们掌握Python语言,远比让程序员去理解进出口贸易规则或者商业票据业务要容易得多。

    第三类开发者,就是区块链核心应用系统和核心平台的开发者。这部分人当然必须是技术高手,按现在通俗的说法,得是后端专家。从语言上讲,C++、Java、Python、Go、JavaScript都有可能要触及。从基础知识来说,要求对密码学、分布式系统、网络编程、系统架构和部署都有相当程度的理解和实践经验。这种开发者显然将是区块链技术浪潮当中的弄潮儿,也将是最大的受益者之一。

    特别要点一下密码学。密码学是大多数开发人员的短板,但若要在区块链核心技术领域搞出能够碾压竞品的创新点,密码学是最有可能出成果的地方。不用说搞出什么密码学突破,就是将密码学现有成果充分运用在区块链里,都可能会搞出一些逆天的创新来。比如用零知识证明协议(zero-knowledge proof)构造高度匿名化的区块链系统,比如用私有计算外包(private computing outsourcing)技术让别的节点既能够验证交易,又对交易本身的内容一无所知,这都是能够激发大量商业模式创新的技术,等待密码学黑客们发掘和实现。因此,我相信密码学成为显学的时代即将到来。

    区块链是一项前景无限、极具颠覆性和想象空间的技术,它有潜力带来一个完全不同的商业时代,塑造新一代的互联网,也有可能被传统势力合谋异化。无论如何,区块链为创业者和程序员提供了又一次弄潮的机会,在这片蓝海上将演出一场怎样的大戏,我们且拭目以待。

    作者:孟岩,全球最大开发者社区CSDN 副总裁,负责 CSDN 有关区块链相关方面的工作。从2015年开始研究区块链技术及密码学,巴比特和渡鸦区块链特约作者,在多家专业媒体发表区块链技术专业文章,并对银行票据、电信、艺术品、供应链、可再生资源等行业的区块链应用进行过实质性探索。

    2009年入职 IBM大中华区,负责IBM区块链、智慧地球、智慧城市、Watson认知计算等重大技术战略在中国的实施和推广,所直接策划和参与的智慧地球、智慧城市、IBM百年、中国网球公开赛大数据分析、巴西世界杯认知计算等传播项目在国际和国内屡次获得行业大奖。

    曾担任CSDN总编多年,熟悉和了解全球顶尖的程序员开发者。

    本文为《程序员》原创文章,转载请注明出处

    这里写图片描述

    展开全文
  • 《精通区块链开发技术》笔记 第一章:区块链(内容简介:分布式系统的理论基础——比特币的前身:电子现金、哈希现金——区块链技术) 1.1分布式系统 1、区块链的核心是一个【去中心化的分布式系统...
  • 区块链开发技术入门

    2019-12-09 15:52:11
    区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点...
  • 区块链技术在经过10年的发展,引起了世界各地的关注,并且各个领域的企业组织也在寻找区块链服务的落地应用,区块链技术已经悄然走入了我们的生活。区块链技术的发展趋势在当前看来是十分可观的,但还需要一定的时间...
  • ...每个国家费用不一样。    2、核名  注册公司首先要有名称,而根据工商注册局所披露...所以想在区块链行业大展身手的创业者要赶紧想一个好名字了。  3、办理执照材料签字  制作注册公司申请资料,提供法人、股...
  • 在本案中,原告为证明被告在其运营的网站上发表了原告享有著作权的相关作品,通过第三方平台对侵权网页进行自动抓取及源码识别,并将该两项内容和调用日志等压缩包计算成哈希值上传至Factom(公证通)区块链技术开发和...
  • 区块链爱好者(QQ:53016353)  ...关于如何安装Ubuntu14.04操作系统和Node.js, 如有需要可以参考上一篇《数字货币区块链开发由浅入深指南1》里面的说明进行安装 一、安装Docker运行环境 1.
  • 分析区块链开发技术的优缺点

    千次阅读 2018-11-27 19:36:55
    区块链的应用可以给许多行业的机制提供更加合理的处理方案,并能够有效的保障其数据信息。
  • 区块链开发技术路线选择的思考(之一)

    万次阅读 多人点赞 2016-10-01 22:35:43
    现在整个技术社区的注意力主要还是在 Web 和移动开发上面,相关人才供销两旺。不过个别有心人已经开始转向大数据分析、深度学习、VR/AR 这些...最近几个月区块链非常火,所以也有极少数开发者在关注区块链开发技术
  • 区块链开发技术路线的思考(二)

    万次阅读 多人点赞 2016-10-02 10:54:46
    结论很清楚,我们今天搞自己的区块链,一定要站在真正的巨人身上,这个巨人毫无疑问就是 Bitcoin。
  • 区块链爱好者(QQ:53016353) 1、同一语言的客户端在不同平台上的使用是完全相同的 2、不同语言的客户端(mist、geth、eth等等)之间在同一个平台(linux、windows或OSX)上共用一样的应用配置,同时其...
  • 最近一段时间区块链概念十分火热,它在应用层面,区块链的安全、透明、高效3大优势,使其特别有助于规范互联网金融的发展,以及促进物联网和共享经济的普及与创新;在资本市场,采用分布式数据库和智能合约还可以...
  • 很多人喜欢Go语言,其实是因为Go语言有其独特的语言...2.开发团队强大。Go的开发者都是大神,RobPike、KenThompson(C语言,unix开发者)和RobertGriesemer,都是极具色彩性人物。 3.明星产品的出现。docker的出现...
  • 针对“通证”话题的多篇分析文章预热,本期沙龙在开始前就被区块链网友广泛关注。此次沙龙的参会者经过层层的严格筛选,才得以与众位大咖面对面沟通。12月15日下午,中关村区块链产业联盟、CSDN、枫玉科技联合举办的...
  • 部分目录: 6.区块宝:史上最全的区块链报告 ...一年10倍的区块链投资经验谈一次性学完比特币走势预测技巧数字货币投资价值观数字货币投资避雷手册深入浅出比特币区块链世界的赚钱门道区块链开发技术区块链...
  • 区块链开发之区块链技术学习指引 - 区块链开发之区块链技术学习指引(1) 引言 给迷失在如何学习区块链技术的同学一个指引, 区块链技术是随 比特币诞生而发展。
  • 本文将对区块链开发使用的技术、工具、语言、平台做一次全景扫描,并对其应用状况进行分类。新工具不仅提升效率,还可为前人所不能。作为活跃开发领域之一,区块链新技术、工具、平台、语言与框架层出不穷,然而面对...
  • 区块链技术早目前已经成功地风靡全球,区块链的繁荣,让许多人好奇,区块链开发语言有哪些?一般来说,几乎所有流行的编程语言,都可以在区块链开发中得到应用,比如Solidity、Java、C++、Javascript和Golang。那么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,441
精华内容 2,176
关键字:

区块链开发技术