前言
万向区块链蜂巢学院第58期邀请了EthSign Project Lead闫欣,分享了他们在开发Web3产品中的经验和想法,并解析了以Web3技术栈重构电子签名平台带来的好处?
万向区块链B站直播间的朋友们,大家晚上好。我是闫欣,之前一直做区块链投资,但我其实是工程师出身,一直希望能够做自己的产品。我们团队大概在一年半以前就开始做EthSign,是一个非常实际的应用。今天跟大家分享下我们在开发Web3产品中的一些想法和经验。
第一,什么是Web3?
Web3不像教科书一样会有人给出一个非常好的定义,然后大家都按照它来理解。我认为Web3是很多很多理念的集合,我最喜欢的介绍Web3的一句话是来自波卡的创始人Gavin Wood,“Web3就是用户可以控制自己的钱、身份、数据的互联网。”
一般来说,Web1就像查字典一样,打开网页就可以把上面所有的信息给放到浏览器上给用户看到。
Web2做成了交互式的,比如说像Twitter一样,可以发推文,自己可以写东西放到服务器上,服务器又会把我们的东西给别人看。
Web3好像听起来特别难,但说简单也简单。从技术上来讲,只需要我们广泛地去用公私钥加密就能实现这一点。
但Web3可能也不止这一点,还包含许多开放平等的观念。比如以太坊社区经常倡导的“Share truth create value”,意思就是大家一起分享真实的消息会产生价值。或者说我们希望我们做的东西是抗审查的,就大家是平等的,或者说希望我们做的产品不像传统那样是一个Server to Client的模式, 不是服务的提供商和用户的关系。我们特别希望这些东西能够像以太坊一样,大家在生态里面是用户,也可以是开发者、参与者、维护者,然后大家共同在这个网络里面受益。
第二,Web3会代替Web2吗?
这应该是个非常长期的过程,因为Web3不是简单的技术概念。如果说明天要用公私钥代替现在用户名的密码登录是很容易的,但观念上,比如说用户是否已经做好准备去为自己的私钥负责呢?比如说Web2应用中密码丢了就丢了,点击找回密码,服务器就会把你的密码告诉你。但是在Web3的世界里面,你必须要为你的私钥负责,如果你的东西丢了,那么你的身份、钱等等可能就真的丢了。所以说需要一个非常长时间的用户教育过程。
下面具体说一下Web2到底有什么问题?
其实因为大家都特别习惯了,所以很多问题虽然说是老生常谈了,但其实从来没有真正解决过。
1、过度依赖中心化服务器。把所有的信息都存在在别人的服务器上,细思极恐。大家想一下,你的用户名、密码都存在了别人的服务器上,所有的数据也都存在在别人的服务器上,无论说你旅行的记录还是滴滴打车,甚至你天天问吃什么饭,数据收集方是可以对你非常了解的,会有很多的隐私问题。而现在各国的法律也不一样,我们没法保证这些公司都能够很好地保护我们的隐私。实际上也经常听到各种消息说大互联网公司通过售卖用户的数据当成盈利来源。
2、依赖于中心化服务器不仅有数据问题,还有宕机的风险,比如说AWS或者阿里云这些大的云服务商,可能在一些极端的情况下宕机。
另外,从电子签名服务的角度来讲,传统电子签名服务商付钱给云服务商,然后把自己用户的数据、合同都存在上面,但假设有一天公司倒闭了,没有人付钱给那些云服务商,那些数据只能被删掉。
3、带来不健康的商业模式,主要是两种:
前面说过的一种,大公司通过收集用户信息去发广告或者卖什么东西,这种盈利模式实际上是一种比较深远的隐藏的更加不健康的方式,比如美国Netflix拍的一部记录片《Social Dilemma》,它其实就讲了很多,比如说推特如何通过筛选信息来影响美国大选。
saas模式,比如说我们公司作为服务商,大家作为用户,我们卖这个服务给用户,那么一个比较神奇的现象就产生了,当你打开这个页面的时候,会发现这个页面上面有巨多的按纽,点击之后可以把你link到它们的销售那边。
比如说右下角会有个弹窗,里面会有个机器人跟你说话,就是“哈喽,晚上好,很高兴为您服务,您有什么问题?”然后右上角会有一个免费试用,点击就可以试用7天,它就会不停地给你e-mail里面发还剩6天、5天,今天已经用完了,明天要不要交钱什么的。从某种角度上来说,它是一种骚扰,会明显地降低用户体验。
我们希望通过引入Web3的新技术来改变下现在的情况。我们大概用了几层的协议栈去重构非常熟悉的应用场景,比如说在登录上应用了去中心化身份协议,也就是DID协议。比如说在区块链圈大家最常用的METAMASK,每个用户都有的,大家可以直接用它来登录,然后拿私钥作为你的身份来进行协议签署或者验证,Ceramic和ENS也是类似的东西。
值得一提的是Magic,传统用户是没有钱包的,用户在Magic上面只要输入邮箱,它会自动帮你通过邮箱创建一个公私钥对,然后给你的邮箱发一个link,只要一点link就可以登录进来。它非常好地能够帮助Web2的用户进入Web3的世界里面,我们非常支持它们,也跟它们有合作关系。
我们产品的逻辑并不跑在服务器上,实际我们服务器上只有网页,一旦用户把网页下载到浏览器里面,后面跟服务器之间就没有直接的通信了,只有跟节点的RPC通信等。
我们通过引入智能合约来在智能合约上执行后端所有的逻辑,我们把所有的EVM-Compatible Blockchain都当成公共云。我们作为应用会努力给用户提供更多选项,EthSign会集成所有支持以太坊虚拟机的区块链。每个都有不同的价钱,比如以太坊就特别贵,现在如果用以太坊签名要个位数美金,但如果用Matic就在一美分之内,会非常便宜。
签名和你对协议发生的所有事间的都会被记录在区块链里面,但是我们并不能把协议本身存在区块链里面,所以我觉得去中心化存储的网络在去年爆发和上线其实对我们这样的应用或者说对所有Web3的应用非常有意义。
现在可以把签完的协议直接存储到一个很安全的地方,比如arweave,它提供了一个永久存储的功能,一旦你把文件存进去,它就可以避免说拒绝付费以后云服务商就把你的文件删除这种问题。
除此之外,更加重要的是有些中间件。Web3中加了很多这样小的模块,能够优化很多地方,比如刚刚说的Magic能够解决用户没有钱包的问题,自动地通过E-mail来生成钱包。比如说Covalent和the graph,我们希望用户一登陆EthSign就能够看到用EthSign签署的所有协议。但实际上在区块链里面做搜索是很慢的,但现在有了Covalent和the groph,能够提供和传统Web2服务器直接交互的体验。另外关于HAL的功能,比如就是A在链上给B发一个签名请求,B在链下就会收到一条短信提示。
从用户角度,在一个网站里面通过几个很简洁的步骤就可以完成了想要的功能,这正是我们想要的结果。我们希望技术实现方式是新的,但不要在用户那边有太多的感知,这是我觉得能让我们的应用深入到实际应用中最关键的一个环节。
下一个话题也特别想讨论下,很多人会说区块链刚刚开始,很多技术还不成熟,已经可以做应用了吗?
实际上我们是第一批在做这类实际应用的,圈内大多数项目仍然在做基础设施和中间件的开发。我们的想法比较乐观,首先我觉得任何一个行业或者一个新的赛道,在初期的时候大家都把注意力放在基础设施搭建上面,等到基础设施搭建的差不多的时候,基础施项目会发现自身价值实际上是来自上层应用的,因为应用才能接触到实际的商业,有了应用才能提高效率、减少用户摩擦,实际地创造价值,那么就会开始做应用。应用繁荣之后又会发现也有天花板,并且一定是来自于基础设施的不够完善,这两个过程是交替上升的。
一个很好的观察是2017年以太坊进入第一个高潮时(以太坊最大的创新就是智能合约),但当时用的最多的就是ERC20合约,其实等于大家没有真正使用。
但它经过不断成熟的过程之后,我们在去年DeFi summer里面看到的项目都是智能合约的创新,仅仅用几百行代码实现了非常复杂的场景,也能够提供非常实际的商业服务,这是非常非常有意义的。所以我们可以看到从基础设施被设计出来、到成熟和应用的发展、应用的繁荣之间,大概需要1-2年的过程。
换言到整个Web3来看,去年10月份Filecoin上线,arweave也逐渐走向成熟,包括刚才说的那几个中间件,大概都是在去年上线的。我们在现在这个时间点出发,和很多基础设施项目一起成长,在集成很多旧设施协议的过程中经常会给他们一些反馈。我们稍微做的早一点,好的地方是现在这赛道还很空旷,我们也能够成为最熟悉这些技术的团队,所以我觉得在两年之后,当基础设施更成熟的时候,我们一定会是第一批成熟的应用。
那么我们为什么要从电子签名平台开始呢?
首先,做EthSign是来自非常实际的情况,因为我家里有人在做法律,前几年电子签名平台在手机APP里面集成的特别多,经常出现那种说我签了,但应用说没签,大家去对簿公堂,法院就要求服务商提供证据,服务商会出具一个书面大概几页的东西,最后盖个章告诉你签了。所以作为对以太坊特别熟悉的人就会觉得这东西用以太坊做特别好,其实以太坊的公正至少对一半的节点是公正,所有人都看得见,而不是说被一个权力赋予的。
我这页PPT里画了一个金字塔,我觉得它是Web公司估值的体系,最上面叫Social Networks,比如说像微信、facebook,这些东西能够在金字塔顶端其实也是因为它有非常强的网络效应。如果从那边开始做,会觉得做一个Web3版本的微信可以捕获到更多价值,但其实你是非常难做、非常难实际让大家去用的。
我们的选择就是说直接从底端开始做,从特定的功能和工具开始做,只要我们可以提供一样的功能和一样的用户体验。
下面再谈谈Web3化的上下半场。
我们的想法是,上半场我们能够用Web3的这些新技术去实现Web2的一些场景,比如说像EthSign的第一步,就说它是Web3版本的docsign,就是如果你作为docusign的用户,然后现在上EthSign可以完成所有的要求,用户体验应该是完全一样的。
如果只做成这样其实并不够,因为我们谈很多Web3对于Web2的好处或者说优势,其实并不是每天能显现出来的,我觉得这也并不是Web3的全部魅力所在。新的技术可以提供更多想不到的功能。
EthSign是个开源的协议,能够方便地被集成到很多大家已经在用的场景中。
比如说今年出现很多的“DAO”,“DAO”用来治理项目,经常涉及到链上链下的交互,比如说投资是签一个协议,实际上是用链上的身份向链下去传输些东西。现在就说大家在链上先投票,投票通过以后,每个“DAO”里面会去注册公司,再有个秘书给大家发协议,大家签完协议再去打款,其实整个流程非常冗长,而用EthSign可以把这东西优化成全部在链上,大家投完票以后直接签协议、打款,非常简单。
对于EthSign来讲,我们作为功能提供方,我们不会去自己整个场景,反而我们会跟所有相关的平台合作,被接入到其中。
还有些我觉得更加迷人的地方,比如说从产品到网络。我们会努力在更多的国家建立中间层节点,这些节点会帮助传统用户使用Web3的服务,传统用户大多数人没有以太坊或者钱包,那么可以只在网络上做一个签名,再把自己签名的结果发到节点,节点帮忙提交上链,节点和用户怎么去收费我们不约束,这是一个非常大的商业计划,等上线的时候,EthSign就可以为全球用户提供便捷的服务。
此外,传统Web2的这些电子合约签名平台难以完成合约条款的自动执行,因为做的东西都是签协议,但不是智能合约。我们会将协议智能合约化。比如说我们把里面打款条款,签完协议以后如果72小时内没打款就只能找人告我,但如果在链上用区块链去做条款的实现,在72小时之后,平台会使合约自动触发,没有人可以抵赖,这是我们在明年最大的一个设计,或者说是真正可以发挥Web3新功能的设计。
讲了这么多,其实是希望能够更好地应用Web3的这些技术来重建或者重构Web2的传统应用,让大家更多地使用Web3,我们也希望能够加速所有流程的自动化和去中心化,让大家能够得到更好地用户体验。
以上就是今天的分享,谢谢大家。