你不可不知道的 Web3 第一原则_WEB3:区块链

来源公号:老雅痞

在推特上每天都有很多关于这个建立在所有权和去中心化前提下的新数字世界的讨论内容。我进入加密货币有一段时间了,每个人都在热情地推动这个宏伟的愿景让我感到惊奇。但是,通过我们正在构建的产品对这一愿景的体验,是相当不理想的。

要说在前面的是:我没有任何讽刺或怀疑的意思,但我是认真的。

糟糕的用户体验和相当混乱的web3产品太常见了,甚至忽略了基本的最佳实践。为什么会这样?

是因为有一些基本的技术限制,需要更大的表面复杂性,还是因为我们没有努力去思考新的观点?或者更糟糕的是:是不是因为web3的建设者不只是对过去的经验教训感兴趣?

我知道打破旧的标准是web3基因的核心,但是我们真的确定所有的东西都应该是 "革命性 "的重新设计的候选者吗?底层技术可能能够做到以前从未想象过的事情,但普通用户并不完全明白,更不用说使用它了。

我相信,这些都不是显而易见的问题。这个问题之所以不明显,是因为一段时间以来,我们第一次在互联网上与一类新的人打交道。这不仅仅是技术问题,也是行为、意识形态和身份问题。为具有两极化本性的人设计东西,本质上是很难的。

我想写一篇文章,从设计的角度来了解这个新的技术和产品浪潮的本质。从那里,我试图推导出一些简单、清晰、易懂的首要原则,希望这些原则可以作为未来的基本原则为他人服务。

这篇文章可能是那很容易引起异议。然而,它是一种尝试,就像保罗-格雷厄姆所说的一篇文章,要去理解一件值得探索的事情。

这是一个雄心勃勃的目标,所以让我们从基础开始:什么是 "web3",它有什么根本性的新特点?

让我们说,web3是对 "加密 "的一个有点模糊的重塑。

一般的定义似乎是,web1(我们说的是90年代和00年代初)是开放协议的互联网时代。TCP/IP用于数据传输,HTTP用于超链接,SMTP用于电子邮件,RSS用于网络内容聚合,等等。一切都是去中心化和社区管理的。

这些共享协议产生了不可估量的价值,但其中大部分被下一代公司(Facebook、Twitter、谷歌、亚马逊和今天的大多数科技巨头)捕获并在应用层 "重新聚合"。而这段始于2002年左右的时间,被称为web2。

最后,web3是互联网演变的最新阶段。在这个阶段,一切应该通过开放协议和社区运行的网络再次变得分散,结合web1的开放基础设施和web2的公众参与。

激动人心吗?是的,但也是模糊的。

因此,让我们更深入地了解一下。什么是使这一波新技术从根本上不同于以前的一切的核心要素?

在我看来,答案有两个不同的方面。有一个技术上的原因和一个道德上的原因。

技术上的差异

Web3促进了一种新的互联网应用(dapp:去中心化的应用),其前提是去中心化的计算。它们不依靠来自单一中心位置的计算能力,而是由一个点对点的计算机网络提供动力,称为区块链。

从表面上看,web3分布式应用没有什么特别的不同:它们只是正常的反应网站。事实上,这些去中心化的应用程序(我想到的是OpenSea、Rarible和数百个类似的市场)绝大多数都将其前端架构托管在谷歌云或AWS等中心化的云供应商上,而且往往由于性能和可扩展性的原因,他们有“配套”的链外组件。(这将是后面的一个重要观点!)

分布式 "指的是状态和更新状态的业务逻辑,在区块链上而不是在 "中心化的 "数据库中。

这意味着,实际上你不需要前端的核心功能来保持完整,而且任何人都可以制作自己的前端。

这实际上是可能的,因为这块被称为区块链的底层技术,也是它为什么特殊的属性之一。

公开性:公共区块链中的每个人都可以看到其成立以来的交易历史。一切都是透明的。

不可更改:系统中的每个节点都有一份数字账本的副本。要添加一个交易,每个节点都需要检查其有效性。如果大多数人认为它是有效的,那么它就被添加到账本中。

无需信任:它摆脱了对主权机构的需求--没有人可以为了自己的利益简单地改变网络的任何特性。

去中心化:网络是去中心化的,这意味着它没有任何管理机构或一个人看管这个框架。相反,只有一组计算机节点维持网络的运行。

还有一个经常被忽视的属性:可组合性。这些dapp依赖于开放的后端,这一属性从根本上打乱了不同软件之间的交互方式。

今天,你可以让Stripe与Shopify或任何其他使用其API的应用程序对话。如果不同的应用程序同意相同的合约和相同的条款(限制费率、访问、权限等),就可以建立一种关系。但这里有一个问题:这种关系是通过一个(脆弱的)相互依赖关系来表达的,随着更多的应用程序的参与和底层复杂性的增加,这种关系随时都可能中断。

相反,当应用程序的后端在一个共享的区块链上活动时,你可以编写程序,与上面的其他程序进行原生对接。一个Solidity程序可以在任何时候调用另一个程序,而且不同应用程序之间没有交叉依赖。

这就为什么它容易在所有类型的协议和DeFi应用程序之间实现打包、路由和管道信贷和借贷的原因。就像它使我们能够通过社会门控和NFTs轻松地创建可互操作的社会机制和可组合的社区商业体验的原因一样。

许多人说,比特币的概念是在2008年构思的,作为对大衰退和金融界对银行作为金融交易中介的依赖的回应。这是不准确的,但也不是完全错误。

金融危机不是产生比特币的原因(中本聪早在2007年就开始研究它),但它肯定是一个促进因素。

创建这个健全的数字现金系统的目的,是为了去除传统上数字货币转移所需的第三方中介。作为货币独立的手段,去中心化是主要动机。

直到2015年,随着以太坊和第一个 "可编程 "链上环境的出现,加密货币作为非主流的金融行为的其他选择——去中心化力量的用例,才开始发展。

以太坊打开了通向新的世界的大门,而开发者也踏入了这个世界。

在这个世界里,协议(特别是智能合约)可以以一种无信任和透明的方式利用共识和基于激励的机制来 "编程 "和 "执行"。

很明显,加密网络可以解决上一代互联网公司造成的许多中心化问题。以代币的形式对开发者、维护者和其他网络参与者进行经济激励,可以使网络参与者朝着一个共同的目标——网络的发展和代币的升值——共同努力。

正是在这个阶段,去中心化的意识形态演变成了其他一些东西。为了实现更透明的决策方式,不仅仅出现了货币的独立性,还有去中心化的结构;以及纳入多个利益承担者,想要为共同的问题找到基于共识的解决方案。

理解web3的技术和道德差异是很重要的,因为它们定义了这个新世界的物理定律;如果我们想塑造它的居住者的经验,这是一个先决条件。

第一部分:"不要相信我;相信区块链"

从根本上说,加密货币是一种行为,就像它是一种技术一样。这种行为有很多方面,但它是从密码学开始的;而且它从一个核心信念开始:用户相信他们认为是真实的东西;而且如果它在区块链上,他们就相信它是真实的。

正如我们之前所说,区块链不仅仅是开源,也是开放的国家实体。换句话说,用户的状态(例如,谁拥有什么,谁花了什么,谁投了什么,等等)以及决定解决这些状态的条件的成文协议,都是开放的,每个人都可以访问。

人们可以简化地说,所有的去中心化应用(DeFi、钱包客户端、NFT市场、交易所等)都是前端,而区块链是后端——但事情从这里开始变得棘手。不是每个去中心化的应用程序都以相同的方式与底层区块链互动。

一些去中心化的应用程序是区块链的一对一代理。基本上,用户在应用层能做的大部分事情都完全反映在底层区块链上。

其他去中心化的应用程序是链上和链下代码的混合。低级别的逻辑和关键性的组件是在链上的,而边缘的、不那么重要的、对应用程序的运行并不关键的功能则被保留在链外。

例如:想象一下你想建立一个去中心化的Twitter替代品。注册表(用户可以申请一个独特的@用户名)是网络中唯一真正需要在区块链上同步的部分。所有其他行动,如用户存储他们的社交数据的地方,为平台提供动力的各种算法(例如,趋势,排名,推荐等),或者,严格来说,任何其他类型的需要大量计算和存储的东西,都可以安全地发生在链外。如果没有前端应用程序,你会丧失一些功能,但这些功能都不会妨碍你在自己(或第三方)的客户端下使用服务。

而且,最终,还有第三类去中心化的应用程序。这些应用程序只有一小部分的逻辑在链上。大部分的代码存活在一个中央数据库中,该数据库位于一个私人的基础设施上。我想到的是某些只在结算层与区块链互动的交易所,或者某些向用户提供代币的应用程序,但产品本身并没有真正开放。

因此,回到前提,如果我们同意 "用户信任他们认为的就是真实的东西;如果是在区块链上,他们认为是真实的,"——我们也必须同意,一个值得信赖的web3产品不应该以任何方式模糊、混淆或混淆其数据的 "来源"。

这个想法有很多含义,所以让我们来解读一下。

1.1 明确的数据证明

正如我们刚刚看到的,在dapp中,有2种数据:应用数据和区块链数据。应用数据是在服务器上计算的链外数据。这些数据通常不与区块链互动,如果有,也只是通过甲骨文服务(如Chainlink)互动。另一方面,区块链数据持久地存在于网络的每个节点上运行的分布式账本上。

这里需要理解的重要原则是,这是两类不同的数据。一个是安全和可验证的,一个是不安全的。因此,让用户 "猜测 "数据的来源不能被认为是一种常规的设计做法。而且最重要的是,它不能让用户假设看到的所有数据都存储在区块链中,因为事实证明,很少是这样的情况。

当用户开始行动并试图通过签署交易或调用智能合约功能来改变这些数据时,承认这种区别就变得更加重要。

在我见过的大多数去中心化的应用程序中,只会告诉用户"嘿,你要在区块链层永久地修改一些东西 ",指的是钱包客户端的互动,它用本地私钥签收哈希值。

仅就这方面的设计思路而言,就有很多东西可以写,但以下是我的一些思考。

改变颜色或字体的CSS样式,以区分区块链和应用数据

上下文工具提示,以便在悬停或点击区块链数据点时,可以提供一个上下文区域,提供更多关于数据来源的信息。

1.2 词汇的一致性

很多基于研究的学术论文建议,未来,钱包客户端应该模仿传统支付系统的功能,并避免特定的术语,如下注,交换,挖币等。

我明白,让普通用户更容易接受加密货币是一个至关重要的话题,但加密货币也需要自我认同,淡化词汇是要付出代价的。

如果想让用户信任你的产品,你需要说行话,而加密货币的行话是最奇特的。当你注册一个web3产品时,它就开始了,而且是以这些词开始。"连接钱包"。不是 "注册账号",不是 "创建账户",当然也不是其他像 "登录 "或 "开始 "的花哨说法。

对普通用户来说,"连接钱包 "这四个字可能想象到的最可怕的签约方式,但对加密货币用户来说,是常规操作而已。

用丹科的话说,对加密货币用户来说,"连接钱包 "是另一种融入更广泛的加密货币人群的公民的方式。"连接钱包 "使他们兴奋,"注册创建账户 "使他们丧失兴趣。

1.3 用户的期望管理

计算的历史告诉我们,新的属性往往伴随着权衡。在区块链世界中,对用户做出可验证的长期承诺,是以牺牲部分性能和可扩展性作为代价的。

性能问题是因为任何一种链上计算都是缓慢和昂贵的。想想看,执行代码就像AWS Lambda的一个残缺的、极其昂贵的版本。还有可扩展性问题,因为以太坊网络每秒钟只能处理15个交易。随着更多的去中心化应用程序被建立在网络上,交易的数量增加,gas费用也会增加。

简而言之:在链外计算的东西是快速的,有可能接近实时;在链上计算的东西是缓慢的,而且是很难同步的。

我知道这听起来有点可笑,但这种交互速度的双重性会造成用户期望的分歧。想一想,使用一个产品,有时感觉很快,很敏捷,有时又很麻烦,慢得不合理。你会有什么感觉?

可能是挫败感?甚至更多负面情绪。回到我们之前的观点,当行话不普及,你不知道你看到的术语是否真的是你认为的意思。

这些问题可能可以通过一些方式来缓解。我正在考虑进度指标、多步骤进度条、ETA和延迟建议等方法。

第二部分:加密货币的知识差距

加密货币吸引了两极化的用户:权力用户和边缘化的用户。一边是相信技术价值及其意识形态基础的加密货币爱好者,另一边是为其不稳定的经济环境寻找可行替代方案的人。然后,如果我们真的相信加密货币是具有大众市场潜力的东西,那么在两者之间一定还有其他各种可能的人。

你如何为这样一个多样化的用户群构思一个产品,怎么避免出现让一些人兴奋的东西却会让另一些人害怕的情况?你如何填补知识上的空白?你又如何修复情感上的差距?

实际上,这些都是复杂而艰难的挑战,但有一点——这都不是什么新困难。我们在软件革命中也遇到过类似的问题,包括个人电脑、早期浏览器、在线支付,然后是社交网络、手机等等。我们如何利用这块技术使其为更多的人所接受,这一直是一个问题。

UIE的Jared Spool有一个有趣的方式来谈论如何建立产品和填补知识空白。

假设你想建立一个产品,有三类假设的用户:(A)Cypherpunks,(B)hodlers,和(C)newbies。Cypherpunks是主题专家不用说,hodlers是精通密码的人也不用说,新手缺只是拥有好奇心的那些人,他们对这个生态系统感兴趣,但可能连最简单的操作都不适应。

想象一下一个光谱,你会把所有这些用户排成一排。在左边,我们会把那些完全不知道如何使用我们产品界面的人放在一起。在右边,我们将把那些知道所有关于设计的知识的人放在一起。

我们将按照用户知道的多少来组织沿墙的所有用户。如果他们只知道一点点,他们就会站在更靠近左边的位置。他们知道的越多,我们就把他们放在越靠近右边的位置。

现在让我们在这面墙上再加一个点:目标知识点。这个点代表用户需要知道多少知识来完成他们的目标。用户的知识和目标知识之间的距离就是 "差距";而这“差距”就是设计发生的地方。

我们不需要在当前知识点的左边进行设计,因为这都是用户已经知道的东西。我们也不需要在目标知识点的右边设计东西,因为用户不需要这些信息(至少对于这个任务)。我们只需要为当前知识和目标知识之间的空间设计界面。

任何给定任务的用户界面的目标都是确保这两个维度尽可能地接近,因为只有当前知识等于目标知识时,用户可以完成他们的目标。

我们要如何实现这个目标呢?

仔细想想,只有两种可能的方式来实现这一目标。要么增加用户的知识,直到他们知道他们需要知道的一切,要么减少使用产品所需的知识量,直到目标知识只需要用户已经拥有的信息。

设计未来的问题就变成了一个更明确的问题:你是教育你的用户还是减少学习的必要?

这里的关键不是为普通人设计东西,而是给每个人他自己想要的经验。换句话说,给定一个具体的任务,处于低端的用户要么需要一些培训来完成这个任务,要么需要一些抽象凝练的东西,使其在没有额外知识的情况下也可以相对容易地完成任务。

设计web3产品的一个合理的好方法是将用户群和他们的预期知识水平与手头的任务和所需的知识水平进行对比。一旦明确了差距,就会突然间更容易理解如何实际地使经验多样化。

例如,为了增加新手的知识,你可以考虑各种将教育融入产品体验的事情。

想想看。

Blitzcourses:Flash课程,应用程序本身激励用户学习加密货币的基础知识

评估测验:像新闻用户的测验,以了解他们的流利程度,并在设置和应用内的使用过程中,通过或多或少的指导,对体验进行相应编程

上下文弹出式或像 "每日提示 "这样的东西,以鼓励渐进式学习

相反,如果你喜欢减少新手完成特定任务所需的知识量,你可以考虑抽象的复杂性层。

对于这个问题,你可以考虑一下集中办法。

避免使用加密货币专用词汇

挖掘用户已经从成熟的金融技术或一般烘烤应用中熟悉的流程和用户体验

提供一个 "沙盒",让用户可以模拟任务,从感知经验中学习,而没有做不安全事情的风险。

第三部分:建立变革的世界,而不是工具

在这篇文章的开头,我从技术和道德的角度谈论了web3的区别。这个想法的初衷是好的,但如果我们把加密货币或一般的技术当作一个终结者,而不是为用户服务并获得结果的角色,那么这个想法从根本上是有缺陷的。

加密货币释放了哪些行为,哪些体验?更重要的是,哪些人类的欲望会因此而更容易实现?

人们对工具并不感兴趣。他们实际上从来没有感兴趣过。

我们使用互联网是因为它让事情更方便,而不是因为我们认为它是一项有趣的技术。互联网是一个巨大的机器,它消除了我们和我们想要的东西之间的摩擦。

作为人类,我们想要我们一直想要的东西。我们想要爱情、地位和金钱。我们想影响和创造事物,并有一种归属感和重要性。我们想拥有自信和自我实现,我们想要答案和解决方案,我们都想要。

如果仔细想想,我们就会发现,互联网上最成功的产品都学会了比他们的前辈更方便地满足同一组欲望。

因此,最根本的是,我们要少关注工具和技术基础,而多关注这些工具所处的环境。工具所处的世界才是对用户有持续价值的地方。

什么是值得创造的世界?它们如何将用户带到新的层面?而用户在这些世界里究竟能做什么?从视觉艺术和音乐到代码、设计和知识或教育,这里的机会是制作新的、非凡的体验,并使一系列新的人类行为更容易实现。

结论

正如我们所看到的,加密货币市场可以是非常不稳定的,其周期似乎是混乱的。从事加密货币一段时间的人很清楚这种交替出现的欣喜和投机期以及所谓的 "加密货币的冬天"到底是怎么回事儿。

但重要的一点是,投机是安装的动机。如果没有人猜测这个东西的规模,它就不会有一个价格。没有它的价格,它就不可能被当作货币。它没有被当作钱,人们就不会有新的想法,也就不可能有这些新兴的项目和应用程序。

同样地,在21世纪初网络公司崩溃后,许多人质疑之前几年建立的所有带宽的必要性。让电子邮件更快一点的意义何在?在2000年代中期,由于这种创新,像YouTube这样的应用程序成为可能,为互联网企业家开启了一个新时代。

Crypto正处于寻找其目的的过程中,区块链也可能处于类似的位置,对于那些愿意玩长线的人来说,突破即将到来。

并非所有处理加密货币的应用都是去中心化的应用。有很多像Coinbase这样的中心化应用,它们依赖于私人或云(就Coinbase而言,是AWS)服务器。

这里我主要指的是以太坊区块链。一般来说,我在这里说的一切都适用于可编程的、多用途的区块链,而不是例如比特币区块链,后者主要用于交换和存储价值。

这些问题都有解决方案,但在以太坊2.0推出之前,将延迟视为理所当然。

转自:老雅痞

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-5:706ms