硅谷Live / 实地探访 / 热点探秘 / 深度探讨

技术开发者的下一片蓝海在哪里?

如果让密探建议硅谷程序员学点什么新技术,密探肯定毫不犹豫的推荐你去学智能合约开发

智能合约是由尼克萨博提出的理念。自从比特币的出现,逐步推动了人们对其底层技术区块链的认知,并且经过不断演化人们发现:比特币的底层技术区块链天生可以为智能合约提供可信的执行环境

利用智能合约编程实现各种区块链应用现在门槛相对比较低,而与此同时,市场需求却在不断攀升,这样的巨大供求不平衡使得现在这个时候,成为了学习智能合约编程的最佳时间点。

硅谷密探独家专访了 老董区块链干货铺 公众号的“掌柜”老董。老董现担任网络安全初创公司Veriflow(已融资1100万美元)技术团队负责人和产品经理,也是区块链领域的早期投资者和开发者,老董也是 UIUC 计算机科学系博士,主要研究分布式系统和计算机网络,而这些研究主题正是区块链基础设施演进所依赖的基础技术。老董的ENS(以太坊域名服务)域名是非常有特点的:hardfork.eth

老董

区块链行业是技术开发者的新大陆

在老董看来,区块链的发展和互联网的早期发展有很多相似之处。

回想历史,Email和基于全静态页面的信息类网站作为“杀手APP”使得人类的信息交换速度产生了本质的飞跃。这样一些今天看起来too simple, sometimes naiive的应用,开始推动整个互联网各层技术的飞速发展,最终带来了一系列全新的,人们在互联网开创之初并未想象过,或者觉得永远无法实现的应用:从搜索引擎、社交网络、在线游戏、五花八门的移动互联网应用,到远程医疗、视频会议、云端软件服务。整个Internet翻天覆地的革命,其实就发生在短短的20年中。

简单的来,区块链上的智能合约可以理解为一个自动执行的计算机程序,但不同于其他的程序它,智能合约本身也是一个系统参与者。它可以对接收到的信息进行回应,还可可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,并且总是按照事先的规则执行操作。在未来,区块链将在这样一个逐步形成的去中心化信任和价值流动的技术架构平台上像燎原之火一样高速发展。

正因为这样,如同互联网带给了很多上一个时代的开发者一生难求的机遇,区块链行业将向我们这个时代的开发者打开一扇新世界的大门。

经常听人说,大家都觉得上一个时代才是最好的时代,但毫不鸡汤的说,这个区块链技术发展时代,更是我们技术开发者最好的时代。当你艰难地使用着一些难用到令人发指的区块链应用的时候,请记住,这就像2000年你的上一代人,在咒骂56k猫如同乌龟一样的上网速度一样。如果能回到56K猫的时代,你会不会奋不顾身的加入互联网演进的大潮?老董真诚的请大家一起思考这个问题。因为现在的我们所面对的,就是这样的“56K猫一样的”区块链技术。

56K猫 modem

说得具体一点。

从底层技术来看,当前区块链的底层基础设施是亟待提升的,包括规模化、共识机制、安全性、隐私、程序正确性、区块链系统自制机制等等。可以做的事情很多,非常适合在分布式系统、密码学、网络等领域有一定积累的同学去开疆拓土。类比互联网,当前区块链的底层基础设施状态类似于思科公司刚刚成立,AT&T还在每天挖土部署光缆的时候

从应用层面上看,虽然区块链的底层设施不完善,依然有很多可以做的东西,就如同即便在互联网处在56k猫拨号的时候,可以做的事情依然不少。区块链应用层面的开发就如同盘古开天辟地一样处于混沌的状态,而且现在在区块链上做一些项目,就如同当年开发QQ 一样,代码量也许不大,但是早期开发者占领市场,不断演化的好时机。就像我们看到早期的互联网应用依然留下来被继续使用,如今做区块链的开发,也有机会创造被更多人使用的项目。

智能合约的想象空间巨大

老董接触区块链早在2013年,他对区块链的深度技术原理和重要基础设施有深度认识和研究,同时是区块链智能合约应用的早期实践者和开发者。 在被问到智能合约的应用有哪些可能的发展方向的时候,老董是这么想的:

老董认为目前已经有的一些区块链应用,比如基于智能合约的预测市场,货币篮子、金融衍生品、保险、基于智能合约的VC等等,都处在一个比较初级的阶段,未来如何演进,如何发展都有极大的变化和想象的空间。

但老董更加强调的是,回顾互联网的历史,互联网诞生之后的很多应用是早期的互联网用户无法想象的,未来很多区块链的应用一定是我们现在无法想象的,这可能是未来智能合约最大的价值。

互联网扮演了一个“连接器”的作用,极大提升了通信效率,诞生了很多过去无法想象的应用和商业模式。区块链则扮演了一个“信任机器”的作用,要解决的是“信任”问题。过去我们要依赖个人信誉、法院、黑道打手等手段来执行合约,而区块链上的智能合约能够按照既定的逻辑来执行。区块链并不能改变人与人的信任关系,但是让参与者都有一个值得信任的第三方。区块链将合约的执行 (enforce) 过程变成了不需要依靠某一个“中介”而完全依靠区块链的共识机制。

举个例子来说,智能合约可以理解为条款以计算机语言而非法律语言记录的智能合同。比如爷爷生前立下一份遗嘱,声称在其去世后且孙子年满18周岁时将自己名下的财产转移给孙子。若将此遗嘱记录在区块链上,那么区块链就会自动检索计算其孙子的年龄,当孙子年满18周岁的条件成立之后,区块链在政府的公共数据库等地方检索是否存在爷爷的一份离世证明。如果这两个条件同时符合,那么这笔资产将会不受任何约束地自动转移到孙子的账户之中,这种转移不会受到国界、外界阻挠等各种因素的制约,并且会自动强制执行。

智能合约的潜在好处很多,比如较低的签约成本、执行成本和合规成本等,是低成本的契约实现方式,尤其适用于大量的日常交易,所以需要昂贵的法务或者公证参与的纸质合同和契约,都能用电子化的智能合约来实现。

互联网的出现,使信息传播手段实现了飞跃,信息实现了高效流动。互联网不是为传递价值而生,但人类社会中,价值传递的重要性与信息传播不相上下。区块链将使人们能够在网上像传递信息一样方便、可信、低成本地传递价值

举个例子,现实社会中的各种交易活动,由于交易双方缺乏信任、信息不对称、搜寻成本、匹配效率、交易费用等因素,需要有交易双方共同信任的中介参与。比如银行间的跨境支付,中间需要通过SWIFT网络和代理银行,而不能直接进行点对点交易。中介的产生源自于降低交易成本的目的,但是随着区块链等技术的出现,交易双方通过去中介化来降低交易成本。

在开发者的法则里,“能自动化的,要自动化;不能自动化的,要半自动化”,智能合约将自动化很多过程,也会是程序员的最爱,会有巨大的应用场景和想象空间。

区块链技术的重大技术挑战带来更多的机遇

当前人类正处于一场从物理世界向虚拟世界迁徙的历史性运动中,这种潮流势不可挡,物理世界最重要的两个东西,一个是信息,一个是价值都将迁移到虚拟世界。但区块链这个技术也面临诸多挑战。比如有人觉得区块链很难用,不安全,技术和商业上都存在泡沫。老董虽然认同区块链技术发展存在很多挑战和不确定性,甚至存在一定的“希望与现实脱节”,但老董同时希望指出新技术的发展总是这样的。举个简单的例子来说,当年互联网在56K 猫时代(modem)的时候一样用的很痛苦,在互联网上的计算机更没有什么安全性可言。

然而,正是这些挑战,催生了新的解决方案,甚至形成了新的行业:比如网络设备,网络安全,内容分发网络等等。区块链的技术发展也是一样的。

在分布式理论中同样有着一个“不可能三角”的理论,就是大名鼎鼎的CAP理论。区块链这样的分布式系统,不仅面临着传统分布式系统的CAP困境,更面临Decentralization (去中心化),Scalability (规模化),Security (安全)不可兼得的不可能三角。在老董看来,这确实是一个技术的挑战,但是并不是“灾难性”的。在CAP中,虽然大多数区块链系统选择了AP(在网络分割还具有系统活性),放弃了完美的C(任意时刻的完美最新共识),但这显然并不代表区块链就是完全没有共识可言的。虽然完美的C从理论上无法达到,但通过不断的技术设计与更新,老董相信区块链系统有可能会任意逼近C的极限。这就像通信中的“香农极限”一样。

对于DSS的“不可能三角”,老董也有同样的观点。老董认为,目前区块链的发展趋势,就是在走向优化在确保Scalability (规模化)和Security (安全)的前提下,适当的,尽可能少的,牺牲Decentralization (去中心化)。

智能合约开发人才缺口很大

目前区块链开发人才缺口巨大,很多区块链项目筹集了上千万美元,却依然找不到合适的区块链开发人才。外媒纷纷报道区块链人才荒,极高的年薪都招聘不到真正优秀的专业人才。

区块链相关的开发者可以大致分为三类:

第一类是核心区块链协议的开发者,比如网络层(点对点通信)或者共识层(对现有区块链状况的分布式共识),需要有底层编程语言背景、分布式系统密码学技术背景,门槛较高。

第二类是智能合约开发者。比如以太坊出现后,熟练Solidity的程序员需求大增。

第三类开发者搭建与区块链互动的应用。通常用流行的网页开发语言来搭建应用程序,再通过API与区块链互动。

目前区块链智能合约作为刚刚崛起的新技术,人才缺口巨大,非常适合程序员学习,很可能在未来成为最有前景的职业之一。

预感到未来区块链智能合约开发人才的稀缺,这可能是回报最高的技能,我们邀请了老董和搭档Frank开设《智能合约全栈开发入门》课程,他们将带着你,以项目教学的方式,手把手教会你开发智能合约项目。

本次课程仅招50人,助教是来自于谷歌、Oracle、Expedia等公司的硅谷工程师和普林斯顿大学、密歇根大学的技术大牛,想要参与其中的,赶快扫码报名:

p.s 欢迎扫码添加老董的微信公众号

点击“阅读原文”报名吧

程序员黄金时代再现:智能合约开发红利来袭相关推荐

  1. 以太坊智能合约开发 | 一个资深技术专家的心路历程

    原创: 杨镇 一块链习社区 微信号yikuailianxishequ 本文作者杨镇, 以太坊黄皮书中译者,资深以太坊专家.曾独立中译了以太坊 Homestead 官方文档,Solidity 官方文档中 ...

  2. Web程序员如何入门以太坊开发

    我经常构建使用以太坊的Web应用程序,我理所当然地认为每天都使用的是神奇的工具集.我们的生态系统正在迅速发展,我认为很多新人都感到不知所措.以太坊是一项了不起的技术,但它也是新生的,而且根本没有足够的 ...

  3. 以太坊Python智能合约开发指南

    在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...

  4. c++ eos智能合约开发_EOS智能合约开发为何编译成WebAssembly?

    许多人正试图学习如何在EOS上开发智能合约.但是,这些智能合约是由C++编写的,并编译成WebAssembly,这对大多数非c++程序员来说似乎很奇怪.因此,在深入了解EOS之前,最好先学习一些关于W ...

  5. 如何安装EOS智能合约开发工具包CDT

    本文简单的介绍一下如何安装EOS智能合约开发工具包(Contract Development Toolkit),简称CDT,是与智能合约编制相关的工具集合.对于EOSIO初学者来说,可以通过使用CDT ...

  6. Python智能合约开发指南(以太坊+web3py)

    在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...

  7. Python以太坊智能合约开发指南

    在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...

  8. 一起学:以太坊智能合约开发

    课程介绍 无论在科技圈还是金融圈,"区块链"俨然成了最热的词汇.2016年,区块链写入了国家的十三五规划中:2017年,央行基于区块链技术的数字票据交易平台测试成功:同年,工信部发 ...

  9. 区块链开发语言python_Python:不同区块链智能合约开发语言的选择

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 在本文中,将介绍比特币.超级账本Fabric和以太坊这三种区块链中,分别使用什么开发语言来进行智能合约的编程,并提供你进 ...

最新文章

  1. failed to open mysql_MySql使用全记录5 —–解决Windows下用命令导入sql文件时”Failed to open file”的问题 | 学步园...
  2. 生成文件的另一种思路——共享文件同步
  3. iOS7应用开发1、菜鸟那点儿事儿
  4. 用MySQL-zrm来备份和恢复MySQL数据库
  5. 蓝桥杯 ALGO-142 算法训练 P1103
  6. 任正非为什么向两千多年前的李冰父子学习?
  7. icesat-2数据下载的几种方法
  8. ERROR 1129 (HY000): mysqladmin flush-hosts
  9. jsp九大内置对象所属类及作用
  10. oracle密码过期修改
  11. 个人六年的成长与工作经验分享
  12. 一款红队大量资产指纹探测工具
  13. .csv是什么文件格式,什么软件可以打开?xls与csv文件是什么区别?功能和作用上有什么不同?
  14. Flatty Shadow图标自动产生器——在线生成各种扁平化 ICON
  15. 深入浅出Linux操作系统指令与目录结构(二)
  16. Java面试题集(86-115)
  17. linux基础测试题
  18. Mac出现问题的5个警告信号与处理方法
  19. 王道论坛计算机考研机试指南怎么样,王道论坛计算机考研机试指南 二 日期类问题...
  20. G - Godsend CodeForces - 841B

热门文章

  1. 一个将十六进制转换为二进制字符数组的函数
  2. 文件找回工具,值得推荐的4款!
  3. 3ds Max智能烘焙脚本
  4. 使用docker安装单节点zookeeper
  5. WIMAX运营与业务定位
  6. 机器学习(二):基于XGBoost的分类与预测
  7. Atlassian:一家没有销售团队,不靠融资做到百亿美元市值的技术公司
  8. 周计划周记录:2022年8月1日-2022年8月7日
  9. Java布局管理器setLayout()
  10. 体育对计算机专业的作用,计算机在体育教学中的应用