微软区块链生态与实践 | 微软黎超

来源:黎超 发布时间:2018-04-24 00:00:00

               

前言

4月19日,由法大大和崔牛会联合主办的“区块链与企业服务落地应用”论坛在京举行,来自微软(中国)、甲骨文、芝麻信用的三位首席架构师及法链负责人、信天创投创始合伙人等行业专家在现场做了以区块链、企业服务和法律为核心的干货分享。上一期,我们分享了法大大联合创始人兼首席法务官梅臻律师的《中国法律语境下的区块链思考》。作为系列演讲精华的第二篇,本文内容整理自微软首席架构师黎超的现场分享。

 

1524532697227019230.jpg

△ 微软首席架构师黎超

 

区块链现在是一个很热门的概念,大家都想知道区块链能做什么。从技术角度来看,其实区块链就是一个基于密码学对等的非物质账本,它是非常简单的记帐系统,正是这样一个记账系统在改变我们的生活。

 

大家首先会看到,支付领域已经在慢慢地发生这种变化,加密货币或者是新兴的支付手段,甚至溯源的体系都基于区块链发生了很大的变化,呈现出蓬勃的发展。

 

从区块链的构建上来看,有三种构造形态:

 

第一种是私有链,很简单,一个企业自己部署区块链系统,基于区块链系统构建应用,只要企业下定决心去做就可以构建私有链;

 

第二种是公有链,在代码的基础上接受联盟的共识,开展自己的业务,最典型的系统像比特币或者以太坊都是属于公有链系统,当然公有链的构建其实是复杂漫长的过程,比特币走到今天已经有八年的历程,但很长一段时间内它都不太受大家重视,这几年才开始被高度关注;

 

第三种是联盟链,介于公有链和私有链之间的形态,往往是有几个企业,根据自己的业务共识,利用区块链的代码对这种共识进行具体的实现,这样就构成了联盟链。联盟链是有准入机制的,比如说投票机制,我要新加一个企业到我们的链条上,需要其他的企业来投票表决,才允许新的企业加入。所以联盟链实际上是私有链到公有链的过渡形式。

 

在我们来看,公有链的价值最大,私有链的价值相对较小,当然所有的事情不可能一蹴而就,所以我们会看到私有链依然有它的价值,通常公有链也起于私有链,就是从私有链到联盟链再到公有链的过程。

 

正是由于这种特殊的记账方式,区块链有以下优势:

 

首先就是减少中间环节,去掉不必要的中介,使业务更加扁平化,业务扁平化带来的好处就是效率提升,以前记账要对账、审核……现在我可以让所有的操作都一次性完成;

 

其次,提升安全性,应用的衔接只要有人为介入就存在造假的可能,区块链恰恰可以比较好地解决这个问题,当然这样的一些变化也将改变我们的业务形态,同时帮助我们节省成本、增加收入。

 

dcfbb42fcfd744f78e6a973774af7f62.jpg

△ 截自现场PPT

 

现在最火的区块链应用领域就是金融领域。大家普通会认为在金融领域已有比较多的具体实践,比如说银行业最常做的一件事就是用户的KIC,通过身份识别看看他是不是合法用户,然后跟他进行相应的交易。传统银行做KIC的流程通常是把用户引进之后,让用户提交各种各样的身份材料,再把身份材料递交给第三方审查机构进行审查,审查之后批准账户生效,然后递交到监管层进行相应审核,最后进行正常交易。

 

如果这个客户换了一家银行或者去了这家银行的另外一个机构,很有可能所有的信息都需要重复提交,大家自己作为客户的时候通常也会有这样不好的体验:我已经提交过这些信息了,为什么我换一个业务还让我做这样的事情?而且还会出现身份不一致的情况,记录的信息两边记了以后,最后发现还有差异,可能还让你提供补充材料,这个过程会导致用户体验非常差。

 

如果把这样的流程用区块链进行改造的话,假设银行之间有这样的区块链联盟,那么第一次的操作当然还是一样的,需要第三方记录相应的信息,但一旦第三方信息记录到联盟中的链条以后,联盟上所有其他银行都可以看到相同的信息,就避免客户重复地进行相应的操作,与此同时,监管也可以看到这些信息,整个业务流程会大幅压缩,可能把我们以前银行开户的时间从以周为单位提速到以天为单位,提升效率、节省成本。

 

微软本身也在类似的领域不停做这种尝试。我下面要讲一个AI和区块链相结合的案例,这个案例是我们跟Neo基金会和X-Contract基金会共同做的一个项目,它是去中心化基于智能合约的对话及平台项目,它的目标是什么呢?我们知道人机对话最方便的交互,实际上并不是我们看到的点击的过程,或用代码来进行人机交互的过程,最简单的交互过程其实是自然语言,我希望通过说话或者先进行自然语言的输入,机器能够理解我的输入,然后进行相应的操作。

 

这个项目的目标,其实就是希望把我们的自然语言,针对特定的垂直领域业务进行相应转化,变成智能合约放到区块链上进行运转,所以在金融、游戏、零售、知识分享、广告以及社交领域都可以运用这项技术。

 

我们具体再看一个加密货币交易所的例子,这个交易所的情况跟传统交易所完全不一样,大家进到里面可能需要查今天的信息、要点相应的链接,你会看到各种各样的图表,但是你很难在大量的图表中快速找到你需要的信息。

 

我们现在要做的事情就是,比如我希望用5个Neo换15个Gas,我可能直接就可以跟后台机器人进行相应的兑换,它了解今天整个市场的交易情况,同时在输入自然语言的过程中,我告诉它我要用5个Neo换15个Gas,它理解了这样的信息之后,会把这样的自然语言翻译成智能合约,然后直接写到Neo的区块链上,帮助交易完成。

 

大家看到完成交易之后,会有转账的过程,它会告诉你在特定时间点内转账到具体的地址,这个合约才可以被触发,才可以进行自动的交易。当合约一旦被触发之后,它会通过邮件系统发送一个通知,告诉你这个交易已经完成了,你可以到你的地址里面相应的Gas或者Neo转走,所以这就是比较典型的把人工智能技术和区块链技术紧密结合的一个例子。

 

大家可以看到这个例子里,当你在进行自然语言输入的时候,体现出来可能是做各种各样的查询问询,其实在后台就是参数化的过程,把基于自然语言提取的参数转换成智能合约,再把智能合约通过我们的通道嵌入到各种各样的社交平台里,它是一种无形的接入,可以是telegram、微信、微博、Face Book、Line,可以跨平台交互,比如说我在Face Book立一个智能合约,那我在Line上一样可以读到这份智能合约来执行智能合约。

 

这种平台最大的特点,其实就是让有运营能力但缺乏技术能力的人,也很容易构建自己的加密货币交易所,而且这种加密货币交易所的门槛非常低,不需要很复杂的知识。举例说,我们现在看到很多加密货币平台无论是登录也好、操作也好,对大部分人来讲都太专业了。但如果用我说的这种平台,只要你用自然语言,只要你会说话,你就可以进行相应的交易,这是比较典型的金融领域的一个应用例子。

 

所以大家可以看到,其实区块链不仅仅是一项技术,它实际上是数据分享模式的创新,通过这样数据分享模式的创新驱动我们业务的创新。大家看到区块链好像很难落地,对吧?其实主要因素是,我们不仅仅需要这项技术适用已有的业务,更多的是我们的思想需要发生变革,去思考我们的业务到底能通过这样的技术得到什么样的创新和变化,我认为这可能是大家要做区块链的时候真正需要思考的问题。

 

当然这是很大的热点,很多人都希望任何系统都能通过区块链来重构,我今天想说的是没有必要,大部分情况下,大家的系统如果运行得很好、没有痛点却还要用区块链去改造的话,通常都是是自找麻烦,给自己添加工作量。举个例子,很多人做积分系统,如果用自己内部的积分系统,用中心化的平台可能比你用区块链的平台效率更高,比你用区块链的平台更容易进行维护。

 

所以我们在做一个区块链项目的时候通常会问自己几个问题:你的数据是不是要多方共享?多方共享能不能通过这样的模式使自己的业务有更多收益?能不能把第三方减少,通过减少中介第三方平台介入,让我们的业务变得更加扁平化?有没有相应的激励机制,让我们的整个业务或者说生态正常发展?考虑过这样的问题后,你再决定要不要在业务中用这项技术。

 

现在具体的落地上一样会遇到很多这种问题,首先大家会看到五花八门的区块链并没有标准,它们只能通过生态的发展,自然地形成标准。比如说用的人多了,可能就成了标准。这对于早期用户来说是很头疼的事。所以如何选择适合自己的区块链,可能是我们要考虑的事情。

 

再来讲讲激励机制带来的法律框架和监管框架的问题。没有偷看,你的系统可能就没有生命力,但是有偷看,就要面对很多法律的问题,因为法规的定义通常是滞后的,所以这可能也是现在比较大的问题。说到技术成熟度和不同的系统,比如说你追求效率,那你的节点就不能太多,但是如果你追求公平性,效率不是你的第一考虑,可能你就会有很多节点,比如说像比特币系统,所以你在选型和技术成熟度方面,可能要做很多折中。

 

最后就是收益,刚才讲到的问题,为什么要做这样的系统?为什么要在我的系统里用区块链?到底对我们的整个业务或者系统会不会有收益?这都是我们要面临的挑战。

 

我们来看看客户,通常我们说要做一个区块链项目的时候,客户的理解可能是在区块链上做所有的事情,但这是不可能的。通常我们要完成一个项目的话,是需要把传统的系统和我们的区块链有机结合在一起,才能形成一个完整的解决方案,比如说供应链金融,或者说我们的溯源系统也好,前面要做数据采集,可能这个不能用区块链来做,还是要用传统技术来完成,你可能想做数据的加工和处理、展现和分析,这些东西通常是不能在区块链完成的,所以只有把区块链和原有系统有机结合在一起,才能形成完整的区块链解决方案,这也是微软想要提供给大家的。

 

我们可以看到微软的区块链生态解决方案,其实就是基于云上的区块链外围服务以及区块链本身,我们希望用最简单、最直接的方式提供服务给大家。微软是纯技术公司,不涉及到具体的行业,我们没有行业属性。我们希望跟更多的第三方,基于微软的技术,共同打造这开放性的生态。

 

对于微软来讲,更专注的是怎么样跟原有系统进行集成,怎么样让我们的区块链变得更加安全,更加符合企业管理需求,怎么样对开发者更加友好,让我们的开发者更容易地进行区块链应用的开发,怎么样保护客户的隐私,这是微软真正关注的地方。

 

具体落到云上的话,基本上像刚才提到的解决方案,是从数据抽取到加工到处理到构建区块链本身,所有的组建都可以在微软的Azure上很方便地进行获取。

 

微软区块链生态解决方案的另外一个优势,就在于微软的数据中心域分布非常广泛,尤其是大家的志向是构建一个公有链或者是构建一个广泛的跨国联盟链的时候,这方面优势就比较明显,你可以永远使你的节点最接近你服务的最终用户。微软有世界上最庞大的数据中心网络,而且这种数据中心网络之间都是由高速的网络来进行连接的。大家都知道微软是世界上最大的软件供应商,但很少有人知道微软其实也是世界第二大的网络服务商,微软的一大部分服务都是在海底光缆上,除了存在法规因素的中国和德国之外,微软所有其他的数据中心都是自建的,而且这些数据中心底层都是高速光纤直连的状态。

 

再有一个就是开放,这也是微软现在这几年讲数字化转型比较大的话题。微软给大家的印象,在以前更多的是封闭型的软件企业,Windows、Office、Bing,但实际上从2014年萨蒂亚·纳德拉(Satya Nadella)新CEO上台以后,微软就已经全面拥抱Azure云,在微软的云上可以得到各种各样的Azure服务,可以服务企业的不同的需求。

 

尤其是在区块链领域,区块链大部分主流的产品都是Azure产品,微软跟这些项目组、基金会、项目方或者是公司开展广泛的合作,这并不是说我们要自己去做一个特殊的链,形成一个特定的规则,而是我们希望微软云可以为大家提供所有的选择,你可以用最短的时间测试到底哪种平台适合你的业务。

 

大家在我们的云市场上,既可以看到微软的产品,也可以看到第三方的产品。这种方式的好处是什么呢?以以太坊为例,过去大家构建上百个节点的以太坊网络,从开始做网络拓扑结构、做参数配置、构建系统,到把这些事情全做完,熟练的工程师一般需要三周时间完成。而现在只要在云上通过向导和点击,输入8个参数,用5分钟时间就可以完成整个配置,20分钟就可以得到需要的网络,开发人员只要专注在具体的区块链开发上就可以了,所有的运维交给像微软这样的厂商来完成就可以了。

 

既然区块链目前更多地在服务于金融行业,鉴于金融的监管要求非常严格,那对你的基础设施自然也有很高的要求。微软在这方面也是几乎获得了世界所有国家的基本法规认证,包括中国的公安部等保三级认证。

 

跟已有的系统进行集成,肯定要解决身份认证的问题。大家知道微软的AD是世界上部署最多的身份认证系统,有大量的企业及用户都在用这个系统。现在微软这套AD系统也可以跟区块链进行相应的对接,使大家更方便地跟已有的应用进行集成,而不需要做更多的改变。

 

除此之外,在开源上微软也做了很多工作,提高区块链的性能——隐私性和可管理性,比如说通过微软发起的、和英特尔合作的COCO联盟,我们可以不需要在底层改变区块链层的协议,我可以把交易负载下加到应用层,使区块链网络效率更优,这样的系统微软也会开源出来,贡献到开源社区,使大家获取相应的收益。

 

此外,在区块链运用中,现在落地困难很大的一个问题是,怎么样引入第三方数据使我们的智能合约更加安全可靠地运行。大家可能对智能合约还不太了解,举个例子,智能合约其实就是一套运用到区块链的代码,你可以把它理解成自动贩卖机,就像你投了5块钱,它一定会给你投出一瓶水这样的交易过程。这是比较简单的过程。

 

但是如果我们希望在这个过程中引入数据,比如说我跟张三打个赌,我说明天要下雨,我赌十个比特币,他说明天不下雨,他也赌十个比特币,那么打完赌以后,我们到底要以谁的数据为标准,是需要引入第三方可信数据源来进行相应认证的,这也是我们讲到的预言机的机制,微软其实也已经参与到预言机的开源项目里面,并积极地推动预言机的开发,使区块链智能合约更快地落地。

 

此外,微软有最庞大的开发者社区和开发者IDE,大家可以在上面下载一些插件,很方便地写智能合约,而不需要在文本上用很笨的方式编辑完了再进行调试,简言之它可以让我们的DATT的调试变得更快。

 

具体的实施层怎么做?我们的建议是:

 

第一步,你要建一个适应环境,看看哪种系统符合你的业务需求,到底是POW适合还是POS适合还是PBST适合,我不知道,我需要快速地迭代和测试,让你的研发人员和产品经理来熟悉过程,进行相应的选型。

 

第二步,一旦产品选型方向定了以后,你可能做好了相应的测试,接下来要扩大自己的联盟,也就是说你可能要从一个私有链向联盟链转变。

 

第三步,更大的规划可能就是从私有链变成公有链,让我的这套业务实践或者是业务理论能够被更广泛地采用。

 

具体来讲,第一,是在平台选择上要有这么几个标准:部署、透明、开源。既然要取得信任,包括在代码层也应该有互信的,很多人说我是闭源的系统,那别人怎么信任你。

 

第二,就是有正向成长的生态,就像我们现在选开源软件,大家都不希望这个社区做两天没了,我也不可能养一个专门的人就去对社区进行代码的修改,所以通常都希望选一个正向成长的生态。

 

第三,从基础设施来考虑的话,我们觉得公有云是更合适的,因为现在更多的都是都是实验,需要快速迭代、尽量减少不安全的隐患,跟原有的物理网络进行隔绝,我可以更方便地跟第三方交互,不用考虑安全上的问题。

 

第四,从思想上要改变对业务的看法,以前很多人说我的业务就是这样,不能变,区块链的模式跟业务是紧密相关的,可能你要对你的业务做系统的规划。

 

第五,要有开放的心态,既然做联盟,如果都以自我为中心,恐怕这个联盟也很难做成,怎么样加强协作,怎么样运营,这可能是最终使你的项目成功的关键因素。

 

以上是我要分享的内容,谢谢大家。

 

 本文为法大大原创,非商业转载请注明文章来源。对未经许可擅自使用者,本公司保留追究其法律责任的权利。如需转载或商业合作,请联系pengxy@fadada.com。