农企新闻网

一个产品经理的区块链学习指南(三)

发布者:陈悦
导读一提起「区块链」,我们第一个想到的就是比特币,那么有了「比特币」为什么还需求「以太坊」呢?「以太坊」是继「比特币」之后有一个「加密数字货币」。自2014年终Vitalik Buterin在北美比特币大会上初次谈及以太坊之后,这个新概念就失掉了群众普遍的关注。另外,「以太坊」(Ethereum)曾经是目前的第二大「加密数字货币」。截止20180121数字加密货币市值排名排名加密货币称号市值(单位:美
一提起「区块链」,我们第一个想到的就是比特币,那么有了「比特币」为什么还需求「以太坊」呢?

「以太坊」是继「比特币」之后有一个「加密数字货币」。自2014年终Vitalik Buterin在北美比特币大会上初次谈及以太坊之后,这个新概念就失掉了群众普遍的关注。另外,「以太坊」(Ethereum)曾经是目前的第二大「加密数字货币」。

截止20180121数字加密货币市值排名

排名 加密货币称号 市值(单位:美元)
1 Bitcoin(比特币) $204,840,845,685
2 Ethereum(以太坊) $108,223,626,663
3 Ripple(瑞波币) $56,812,889,890
4 Bitcoin Cash(比特现金) $31,298,683,365
5 Cardano(ADA艾达币) $16,877,226,567
6 Litecoin(莱特币) $10,827,055,423

以太坊不单单是一种「数字加密货币」,更是一个「平台」

「比特币」自从呈现就不断被当作相似「黄金」一样的法币替代物,与「货币」一样,次要拥有价值尺度、活动手腕和领取手腕等职能。而「以太坊」成立的目的则是创立一个基于「智能合约」和「区块链」技术的去中心化使用开发平台。开发人员可以在其根底上构建新的使用,这些使用可以永世平安的运转,抗屏蔽/审查和自我维持。

我们可以用「高速公路」来类比「以太坊」网络。

我们都晓得高速公路都是依据一系列规则来管理,每团体在运用时都必需恪守。比方:不得酒后驾驶,不能超载等等。公路网衔接了路过的各个城镇和人群,它们使货物和效劳的运输成为了能够。「以太坊」平台很像公路网,经过「以太坊」网络将各个节点衔接起来,同时「以太坊」也有一套规则,可以用来树立新的业务、使用顺序及通讯(我们把这些叫做「资产(Asset)」)等。

以太坊的「去中心化」

不过,高速公路是政府来管理和维护的,这意味着政府可以控制和限制人们运用高速公路,甚至完全切断通往某个城市的路。

但是在「以太坊」里则不会呈现这种成绩。它是一个「去中心化」网络,没有任何第三方可以控制这个网络。在这里,没有任何人可以限制你拜访属于你的特定资产。这个零碎可以确保人们在「完全无信任」的形态上去创立资产等等。

同时,假如你在「以太坊」网络里创立了一项资产,那么你可以担心,你可以平安地拜访该资产,在此时期不会遭到任何的审查或遭遇宕机。在目前的网络环境中显然不会完成「不受审查,不宕机」,这也让「以太坊」平台的价值所在。

但是「不受审查,不宕机」也可以树立在基于「比特币」的区块链网络上,毕竟上文提到的「以太坊」的优点都是基于「区块链」的特性,那么为什么在拥有「比特币」网络的状况下还需求「以太坊」呢?

「以太坊」优于「比特随着中国经济向消费型模式的转型, 电子商务和移动电子商务的快速发展带来了支付行业强劲的增长。币」的中央在于它用来构建资产的工具。

「以太坊」的构建工具优势

我们都晓得在开发一个软件的时分都需求写代码,我们都情愿运用一个「优雅」的开发言语来写代码。一个「优雅」的开发言语,可以让开发者更专注于最终产品,而不是花工夫去学习如何运用这个言语。另外,一个「优雅」编程言语的一些特性可以协助开发者编写更好的或许优化代码。

相比「比特币」原始的脚本言语,在以太坊中用来部署代码以及运转智能合约的言语更初级,拥有更多的特性,举个栗子:loop——循环。在开发中,我们常常会运用循环和条件来完成复杂的算法,比方求1+2+3+……+99+100的值是多少,假如没有循环,我们要把一切的数字都打出来,假如要是从1加到100w,那顺序员会解体的。

但是「比特币」运用的脚本言语不!支!持!循环!

这些缺陷意味着在「比特币」网络去构建的使用普通是开发者的研讨项目,很难把留意力集中在最终的成品上。而且原本可以经过3行代码就可以完成的事情能够需求3k 行,这是迄今为止我们没有看到在「比特币」网络上的使用较少(很少)的重要缘由。

而「以太坊」一开端就规划了「图灵齐备」的编程言语,复杂来说就是「以太坊」提供的言语可以运用计算机完成任何计算机可以完成的义务。因而「以太坊」吸引了很多开发者在其根底上开发使用顺序。

另外,「比特币」的脚本言语还有一些其它的怪异构造(比方 UTXOs),使得构建某些功用的时分会变得异常困难(不是无法构建)。

UTXOs(未破费的买卖输入)

UTXOs 这个概念,我想很多人(即便是关注区块链技术的人)都很生疏。我第一次在比特币买卖中接触到 UTXOs 概念时也破费了一段工夫才理解它以及为什么要依照 UTXOs 来设计比特币买卖。

在「比特币」买卖的实践操作进程中,UTXOs 的存在使得在「比特币」网络上构建新使用变得十分复杂,而这种复杂性正是招致「以太坊」迅速开展的关键要素之一。

我们来看看什么是 UTXOs , 我们来想想下「比特币」网络买卖的准绳:

  1. 我发送的任何比特币金额都会被发送到一个发送地址——对方的钱包地址;
  2. 你接纳就任何比特币金额都会被锁定到您的承受地址——我的钱包地址;
  3. 任何时分你破费(转账,发送)比特币,你花的金额都是来自于你以前收到但是未破费的资金;
  4. 经过钱包来接纳和运用比特币

但是关于「比特币」,它们并不是存在于你的钱包当中,那你的钱包里究竟有什么呢?

在你的钱包里存的是你从他人那里收到且未运用的每一个比特币买卖记载(transaction and not spent yet)。在「比特币」网络中,有人给你发送比特币被称为「输入(outputs)」。这些未运用的买卖输入被称为 UTXOs(Unspent Transaction Outputs)。

这些记载在进入的钱包时不会混杂或许相加,而是依照收到的方式停止存储。举个栗子:你收到了3个买卖,每次买卖辨别为:买卖1——1 btc, 买卖2——2btc, 买卖3——5btc。那么你的钱包里将显示3个独自的买卖,辨别为1,2,3个 btc。当然你的钱包余额是这些记载的总和——8btc,但是每一笔买卖都是独自存储的——我咋想起来了「银行存管」,额,最近头有点大。

说完了 UTXOs,那么究竟和「有了比特币为什么还需求以太坊」的成绩有什么关系呢?

UTXOs 太复杂

我们接着举例子,你有8个 btc 了。你要给他人转账4 btc。实际上你是可以很轻松完成这笔买卖的。但是现实真是如此么?图样图森破。

「比特币」网络运用UTXOs 形式使得比特币的脚本言语无法比照特币金额停止准确控制,从而完成转账。成绩的复杂性全部交给你本人。

要转账4 btc 给他人,你首先要创立一个买卖:1. 你要先找到一个你之前收到但是未运用的买卖(也就是 UTXOs);2. 证明这个买卖输出你3. 应用对方的钱包地址(公钥)创立一个输入,作为转账目的地

看似还不是特别复杂,但是你要留意:你收到了3个买卖,每次买卖辨别为:买卖1——1 btc, 买卖2——2btc, 买卖3——5btc。3个买卖中并没有一个4 btc 的买卖,那怎样办呢?

在比特币脚本言语中,你没有方法直接操作:

证明买卖3 属于我,并将5btc中的4个发送到指定的地址

相反,你需求将买卖3的5个比特币全部花掉:将买卖3停止拆分,分红4btc和1btc。4btc输入给对方,再创立另一个买卖,将1btc 输入给本人。

同时,我们也说了比特币脚本言语并没有「循环」等图灵齐备性功用,假如你想写一个比特币钱包的使用顺序,「转账」这个功用将会十分复杂:查找用户钱包里一切的UTXOs——>将契合条件的 UTXOs 选出来作为一个集合,使这个集合中的 UTXOs 的综合大于或许等于买卖的希冀输入。

假如存在两个或许两个以上的 UTXOs 集合满足买卖的希冀输入,那么就需求停止额定的逻辑判别来决议运用哪个集合。显然这将使业务逻辑变得极为复杂。

当然,之所以选择 UTXOs 形式作为比特币的买卖形式中本聪还有一定思索的,比方高度的隐私、潜在的扩展性等等,但是却添加了使用顺序的复杂性。因而需求愈加优雅的言语来促进新使用顺序的开发,「以太坊」填补了这个空白。

另外,UTXOs 从基本下去看只要两种形式——已运用和未运用。作为一个产品经理,你在实践任务中估量很少碰到这种只要两种形态的业务逻辑吧?

这种只要两种形态的逻辑,使得「比特币」网络在停止「多阶段智能合约」开发的时分变得愈加困难——比方需求向多个用户提供给用顺序,然后还有一些附加条件,并在顺序执行的不同阶段依照附件条件及预定义的合约规则将资金分配给适宜的各方。假如运用比特币脚本言语,这个看似只需求 if-else 和「循环」就可以处理的算法将变得值得大少数开发者停止深化研讨。而「以太坊」则在这样一个智能合约的易用性方面要好的多。

我的看法

区块链技术假如可以普遍使用,一定是多种要素共同促进的。其中关键的要素在于「易用性」——普通人可以在区块链上十分方便的去创立新使用——而不是只要 geek 或许多数大牛。

之所以如今区块链技术还没有真正投入运用,正是由于没有一个复杂的平台可以让大少数顺序员去构建他们的东西,而「以太坊」无疑是为理解决这个成绩而呈现的。当我在阅读《 Ethereum:A Next-Generation Smart Contract and Decentralized Application Platform 》(以太坊(Ethereum ):下一代智能合约和去中心化使用平台)白皮书的时分,我置信了以太坊的价值,它很有能够在将来的区块链技术体系中占据重要的份额。

作者:张小璋 / 张小璋的碎碎念(ID:SylvainZhang)

野蛮生长的产品经理,专注于互联网金融范畴。