BTC.com手机客户端

以太坊的商业潜能(三)

少平 发布在 竞争币 7 3129

portal-into-greatness

作为自由网络的以太坊

以太坊还有一个有趣的对比,就是自由网络(Freenet)。从底层而言,Freenet是实施去中心化网络的先行者。它是自由软件,允许用户匿名分享文件、浏览和发布“自由站点”(freesites,只能通过Freenet连接)、在论坛上聊天,无需担心审查,不容易被攻击。Freenet的哲学理念是实现和保护没有审查的言论自由和传播知识。

Freenet的理念有益处,但是它存在两个由众所周知原因造成的主要缺陷,以太坊修缮了这两个缺陷。第一,下载一个网站往往需要超过一分钟的时间。第二,它没有应用,只有静态内容。以太坊通过其内在的激励机制区块链解决了这些问题。

更多以太坊的特性

哪些额外的特征使得以太坊与众不同,使得开发者选择它作为开发去中心化应用的平台?

开发语言
以太坊的软件开发语言是其最大特性之一,因为对区块链进行编程是一项首要目标。以太坊具有四种专用语言:Serpent (受Python启发)、 Solidity (受JavaScript 启发)、 Mutan(受Go 启发) 和 LLL (受Lisp 启发),都是为面向合约编程而从底层开始设计的语言。

作为以太坊的高级编程语言,Serpent被设计为非常类似于Python。它被设计为最大可能地简洁和简单,将低级语言的高效优势与编程风格中的易用性相结合。

Solidity是以太坊的首选语言,正处于紧张开发中,它内置了Serpent的所有特性,但是语法类似于JavaScript,这降低了学习门槛,易于被掌握和使用,因为JavaScript是Web开发者的常用语言。因此,Solidity充分利用了现有数以百万程序员已掌握JavaScript这一现状。

以太坊区块链的另一关键特征是它的“图灵完备性”,这保证了以太坊可以解决必须的计算问题。更加准确地说,它是“半”图灵完备的,因为通过对计算量设置上限,它避免了完全图灵完备语言存在的无法停机问题。

此外,因为以太坊的语言为区块链专门设计的,他们在交易的可视化和活动性上不可思议的提供了在实时性上的粒度。这是一个受人欢迎的功能,但对比特币而言实现起来具有一定的挑战。在比特币上,你需要导入区块链数据库,解析所有的交易,并为了抽取出在区块链上的活动情报而查询交易。而用以太坊,你可以在活动的区块链上,实时的发行一个特定的地址要求。
以太坊促成去中心化应用
以太坊支持多种开发语言是非常重要的,因为这使得开发者可以选用自己喜欢的语言,可以更加容易和高效地写去中心化应用(DApp)

一个DApp是由智能合约和客户端代码构成的。智能合约就像加密的“箱子”,包含价值,只有当特定条件被满足时,它才被打开。它封装了一些逻辑、规则、处理步骤或者双方间的协议。当它们被发布在以太坊上时,网络会执行它们的分支(ramification)

从架构角度而言,DApp非常类似于传统的web(网络)应用,主要区别是:在传统web应用中,客户端有Javascript代码,由用户在自己的浏览器中执行,服务器端的代码有主机或者公司运行;但是在一个DApp中,你的智能逻辑运行在区块链上,客户端代码运行在特殊浏览器--Mist--里面。

另外,DApp可以与其它web应用或者去中心化技术相交互或者连接。例如,一个DApp可以使用去中心化的消息服务(例如Whisper),或者去中心化的文件 (例如IPFS)。从web应用的角度而言,例如谷歌这样的公司可能打算从一个去中心化的信誉服务中获取数据,或者Bloomberg的数据馈送(data feed)可能打算与一个金融DApp进行交互。

以太坊客户端
以太坊包括一个专用的客户端浏览器,使得用户可以运行各种各样的DApp和发布智能合约。这一浏览器(被称为Mist)易于使用,所以DApp和智能合约能够被大量用户使用。从降低用户使用门槛角度而言,Mist是一项突破性成就。它的作用等同于浏览器之于互联网,或者iTunes之于数字化内容下载。Mist具有特殊的安全层、密钥管理、去中心化账户管理(即用户帐户由用户拥有并控制,而不是第三方机构),和与区块链相关的组件,这一切使得Mist成为普通用户运行或者管理区块链去中心化应用不可或缺的工具。普通用户不需要理解技术方面的东西。

从用户体验角度而言,你可以在Mist中使用DApp,就像你通过常规浏览器与网站进行交互一样。例如,一个纯DApp(例如预测市场Augur)就在以太坊Mist浏览器中。然而,这些服务也可以通过一个常规浏览器以更加传统的web2.0的方式实现。

以太坊虚拟机
当你想到这些自足的逻辑脚本–运行在区块链上,在其上存储数据,向发起人返回一些值–时,就像运行在云中的程序。简单的说,这些智能合约就是运行在以太坊虚拟机(EVM)上的代码。因此,这类似于一个去中心化的虚拟计算服务,但是它不存在网站服务器的负担,它被设计成点对点网络中所有参与者都可以运行它,安全地(通过加密和数字签名)向区块链写入数据和代码,读取上面的数据和代码。

以太坊虚拟机(EVM)概念是非常重要的,因为它是以太坊项目的另一个主要创新。如果你不理解EVM,那么你就不理解以太坊。

所以,EVM“位于区块链之上”,但是,实际上它是由许多互相连接的计算机组成的,任何人都可以上传程序,让这些程序自我执行,保证现在和所有以前的每个程序的状态总是公共可见的。这些程序运行在区块链上,严格地按照EVM定义的方式继续执行。这使得任何人都可以为所有权、交易格式和状态转换函数创建商业逻辑。

以太坊核心和生态系统
在最底层,以太坊是一个多层的、基于密码学的开源技术协议。它的不同功能模块通过设计进行了全面的整合,作为一个整体,它是一个创建和部署现代化的去中心化应用的综合平台。

它被设计为一个通用的去中心化平台,拥有一套完整的、可以扩展其功能的工具。

虽然,以太坊看起来像由多个互相联系的开源项目构成的混合体,但是它的进化一直被明确目标引导的,以此保证各个组件可以协同地组装在一起。

像大多数软件平台一样,以太坊核心的外围是一个有合作者、技术交互扩展(interchange extensions)、应用和辅助服务组成的丰富的生态系统,它增强以太坊核心。从功能角度而言,我们可以将以太坊生态系统拆分成三块:

核心协议技术:点对点共识、虚拟机、合约、密钥、区块链、软件语言和开发环境、货币(燃料)、技术整合和中间件服务(middleware services)
应用:客户端软件(Mist 或者 AlethZero)、挖矿、监控服务(monitoring services)、去中心化应用和其它第三方应用。
辅助服务:主要通过维基、论坛、以太坊学院、网站、赏金激励、未来的开发者会议实现的教育、研究、学习和支持。
在应用方面,已经有超过100个第三方项目、产品、技术扩展和完全或者部分基于以太坊的成熟商业。这些应用包括:预测市场、去中心化交易所、众筹、物联网、投票和管理、赌博、信誉系统、社交网络、聊天消息系统、保险、医疗保健、艺术、交通工具共享、分布式自治组织、交易(金融工具或者商品)、会计、社区、电子商务、物理安全、文件存储、所有权登记、内容、小微交易、社区管理、云计算、汇款、智能合约管理、智能资产、钱包、食品、制造业、数据存储、 供应链等等。

(下一篇博客将详细介绍整个以太坊生态系统)

所有这些生态系统的组成部分促成了以太坊进入金融和非金融领域。以太坊的可编程特性提供了比比特币脚本语言更加强大的能力,因为它具有图灵完备性、价值知晓(value-awareness)区块链知晓(blockchain-awareness)状态转换逻辑能力。

(待续)

转自:以太坊爱好者 (http://ethfans.org/2015/06/business3/)
作者:William Mougayar
译者:少平
编辑:Miner

评论:7

您需要登录后才可以回复 登录|注册
    比特币BTC微博
    比特币BTC微博 552 天前

    大杂烩?

    +1
    +1
    我要点评
    Author Image
    接盘手杰克 553 天前

    以太坊就没缺点么,我只想知道缺点

    +1
    +1
    我要点评
      Author Image
      sabreiib 552 天前

      缺点就是野心太大。 貌似一种以独力搞定人类未来所有金融活动的架势。 这玩意太玄,不碰。

      +1
      +1
      我要点评
    Author Image
    爱比特 553 天前

    已经有这么多第三方项目了?

    +1
    +1
    我要点评
    以太坊爱好者
    以太坊爱好者 553 天前

    请注明转载自以太坊爱好者(ethfans.org),并给出原文链接:http://t.cn/R2iQ8g7。

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 553 天前

    【以太坊的商业潜能(三)】以太坊的软件开发语言是其最大特性之一,因为对区块链进行编程是一项首要目标。以太坊具有四种专用语言:Serpent(受Python启发)、Solidity(受JavaScript启发)、Mutan(受Go启发)和LLL(受Lisp启发)。 http://t.cn/R2SYeyR

    +1
    +1
    我要点评
    以太坊爱好者
    以太坊爱好者 555 天前

    【以太坊商业潜能(三)】以太坊的开发语言是其最大特性之一,因为对区块链进行编程是首要目标。具有四种专用语言:Serpent (受Python启发)、 Solidity (JavaScript 启发)、 Mutan(Go 启发) 和 LLL (Lisp 启发),都是为面向合约编程而从底层开始设计的语言。http://t.cn/R2iQ8g7 @鱼看见水

    +1
    +1
    我要点评