Tau链一个去中心化应用商城,声称比以太坊更灵活?
时间:2015-08-23 来源:巴比特 作者:ivanjianjian
Tau链是去中心化的点对点网络,它声称以太坊的图灵完备是个错误的方向,因为以太坊的逻辑是不可判定而且缺乏重要的部分:语言证明。 Cointelegraph就Tau链本身对开发者HunterMinerCrafter (HMC) 和Ohad Asor进行了访谈,Cointelegraph希望了解Tau链是如何有别于其它去中心化网络,例如它是如何有能力确保其代码满足所谓的“可判定逻辑”。 Tau系统如纺织物一样可以被编排,并且它具有三个鲜明特点:规则、证明和计算机编程。Tau网络的规则和协议是由基于Tau系统之上创建的独立世界的用户所决定,这可让Tau链具备独特能力来简化和统一语言,并能提供“可判定的”计算机编程,这点不同于图灵完备协议的以太坊。 “Tau”的含义是“同义反复、重复”,它是基于本体论规则的软件客户端。Tau链的规则是通过使用一种“推理器“来决定的,这一推理器采用逻辑推理和可用证明。它的语言和通讯将会是人类可读的,并且在嵌入资源描述框架后,可通过HTTP的形式进行通讯,届时Tau链将成为“去中心化的Github和App商城”,与许多其它的点对点网络互相连接。 Cointelegraph:你们如何让用户使用Tau链的点对点网络? HunterMinerCrafter: Tau链是因抽象协议而生的区块链,可让双方相互协调它们的定义和执行。它是在开放互联网上用于定义,开展和维持交易并且实现各种功能或目的的系统。 理论上,任何现有的语义协议皆能在Tau上实现。然而,不是任何的协议语法都可直接实现。一些现有的协议规范可能需要额外的“桥接”,才能在其它网络和Tau的基于符号的URL和XML特定系统进行交流。 Ohad ASOR: Tau是广义的编程语言,可以实现任何一台计算机可做的事。因此,它有可能在其中嵌入各种软件。 而且它是内置P2P和区块链的首门编程语言:它不仅是一种独立的语言,当远程计算机以不信任的方式同步时,仍能协同发挥作用,这要归因于内置的区块链(已整合在同一Tau链中),和能共享不信任数据的分布式哈希表。 Tau语言的程序员可以使用分布式哈希表和区块链的代码原语作为整套语言的一部分。Tau提供了许多特性来适应去中心化的网络,着重提及两点:给定一个Tau代码,你可以通过这个代码来证明假设(使用Tau客户端或者其他证明软件)。也就是说,被Tau验证过的代码无须再次进行“质量验证”! 为代码的每个语句都提供数学上的、确凿的支持是有可能的,能实现这神奇之处归因于它不是使用图灵完备的语言(图灵完备代表不可判定的逻辑),而是使用拥有可判定逻辑的、能运行所有计算机程序的全功能编程语言。 “Tau链将是一个可协作,由社区努力驱动形成的稳定网络,它是可相互操作又相互依赖的点对点网络。” Tau能够证明自身的执行路径或者执行基于它开发的程序:当代计算机科学取得的进步赋予Tau链验证数据类型和执行程序的能力。我们的方法是基于Andrew Miller的GADS(λ-AUTH)。正如比特币对区块交易进行哈希计算一样,Tau链对大量数据也进行哈希计算,这过程是由所谓的梅克尔树完成。就Tau链这棵树而言(它是由区块链提供时间戳),它能认证分布式哈希表的数据文件,或者执行远程、不可信任机器上的程序。 CT:Tau链是如何做到不只是点对点网络? HMC: Tau链将是一个可协作,由社区努力驱动形成的稳定网络,它是可相互操作又相互依赖的点对点网络。Tau链是从一个设想开始:即没有人会相信除了永恒的Tau根链以外的东西,根据这设想我们构建了一个广义的、多方的和具备交易功能的安全平台。 CT:你觉得Tau链会成为一种语言或图灵服务? OA: 正如你所说图灵服务是计算服务——那么Tau就是一种语言,Tau链(Tau链是内置tau语言的)很容易支持计算服务:它终结了“一个客户端要对其他客户端请求计算工作时随时作出响应”的用户规则。 Tau语言借用资源描述框架(语义网)语言的“主谓宾”语法,例如Notation3,相对于其它语言它们更接近人类的语言。 尽管如此,我们只借用其语法:但不套用它们可作为通用编程语言的特定语义,而且通过添加资源描述框架语言来在外再包装一层(更准确地说,Martin-Lof 类型的系统满足保持通用性的同时,可允许使用证明带来的好处。 “Tau就像一个去中心化的App Store,允许运行来自Tau链的应用程序。” CT:你一直把Tau称为去中心化的GitHub,可以解释一下吗? HMC: Tau内定义的协议是可执行的规范,它可定义根链之外的侧链,还可通过定义协议来更新基于其侧链开发的自身协议。这可让他们在他们的链上“存储自己”。Tau根链允许这些存储定义的侧链间歇性地记录在根链上,并可通过根链索引。 OA: Tau也像一个去中心化的GitHub,得益于我们系统的可判定性,它还具备进一步扩展的能力(这并不在图灵完备的语言中存在)。 这可最终实现的代码多次调用:如果你借用一个函数或一段代码,你只需提交该函数的需求,如果在现存的Tau代码库得到匹配,就可容易地找到并使用它。 “Tau资源并不需要通过令牌来备份,而且用户觉得合适的话可进行资源交换。” CT:和以太坊相比,它怎样? HMC: 以太坊的每个块都是图灵完整的逻辑,这意味着他们可以很容易地证明,他们可以计算每个区块任何可计算的东西,但是不能知道需要多少资源来完成每个区块的计算。 正因为这样,他们需要固定的令牌资产来备份他们的资源,为避免滥用资源还须设置一个全网范围内的计算资源价格。此外,为了安全交易,他们需要每个区块确认者来重新确认一切已确认的东西。 为了显示对比,Tau的每个区块都是可判定的完整逻辑,而图灵完备需要多个区块的确认。这意味着,我们不能在一个区块计算任何可计算的东西,但可知道到底需要多少资源验证区块。我们仍然可以计算任何可计算的东西; 只是可能需要构建执行程序来验证多个区块。由于这点,Tau资源并不需要通过令牌来备份,而且用户觉得合适的话可进行资源交换。 此外,因为Tau是可判定的,它可解决一切的逻辑问题,所有参与者必须重新执行的唯一过程是安全地维持根链所需的资源支出。其它任何过程只须被一些参与者来重新执行,这些参与者是有意验证在该范围内发生的活动,其他用户可以忽略,长远来看不会危害其安全性。 OA: 当然Tau支持通用的应用程序,而以太坊不能完全做到,因此两者不能作有意义的比较。 让我列举五个不同的地方吧: 1. 以太坊的客户端是固定的,即是网络协议不能随时间而改变。 这是硬编码的,如果有一天用户想修改其运行状态,他们可能会需要对以太坊的区块链进行应分叉。 另一方面,Tau链客户端的运行状态和代码都是线上的。 想一下打开GitHub资源库的过程吧,整个过程就是从GitHub下载下载和执行代码。 这正是Tau链客户端要做的:每个区块包含着自己的代码,并包括接收下一个区块。 因此,我们不仅可让建立在Tau链之上的应用程序有着最大的灵活性,而且对于Tau链本身更是如此。 2. 以太坊的规则是由开发者预定的。 Tau链最终出来时,并无规则可言,它的用户将设置其运行状态。 在这个意义上说,参与者从Tau链发布开始都是平等的,这是史无前例的。 3. 以太坊的应用程序是使用图灵完备的语言写的,正如在之前很多地方强调过,这就不能好好利用特定代码带来的好处。 4. 以太坊不支持独立环境:每个人都要执行所有代码。 因此,在以太坊之上来实现普通计算或高性能计算的目的将是不切实际的。 另一方面,Tau具备独立环境,所以可进行独立操作(就像通过AppStore/ GooglePlay安装应用程序),而不干扰其他环境。 然而,这要依赖其他现有的环境和重新载入它们的代码。 5. 以太坊模式需要货币(“燃料”),而Tau链并不需要:用户可以对网络的经济元素达成一致,和定义任何一种满足他们需要的激励,这就不管它是来自全网还是本地Tau链客户端的激励了。 “整个比特币协议很容易在Tau链上实现,它们有着相同的规则。” CT:Tau链能与比特币区块链相提并论吗? HMC: 整个比特币协议很容易在Tau链上实现,它们有着相同的规则。Tau定义的协议取决于Tau的外部运行状况,这可让Tau链和比特币之间进行相互操作。然而,要将Tau网络和比特币网络进行直接连接,需要搭建上述的桥接,桥接以将比特币的信息格式和Tau的连接数据进行转换。 CT:你能预计项目完成的时间吗? HMC: 首先,我们已经开发完核心逻辑和输入输出机制。接着我们会写根链初始的“创世规则”。最后,我们就会完成。 OA: 开发过程很难,随意说个预期的时间数字一点意思都没有。我能说的是,我们已完成大部分的开发,但我们后面仍有艰难的部分,我们已经开发出击败同行的最先进的代码(如语义网推理和自动定理证明)。我可以说,我们开始到现在已有几个月了(少于6个)。 CT:你能大概说下Tau链能为普通人做些什么? HMC: Tau链有点类似“脸谱”或“推特”,使用者能以小组合作的形式来修改Tau本身的工作原理和它所提供的服务。它这样做不依赖任何一个公司,并且不会把你的权限和隐私暴露在风险之中。 注: 1.Turing completeness:图灵完备。一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备。 2.Tautology:重言式,又称为永真式,逻辑学的名词。 3.RDF:全称Resource Description Framework,资源描述框架,是一种描述有关 Web 资源的格式化语句集合的模型。 4.DHT:全称Distributed Hash Table,分布式哈希表,类似Tracker的根据种子特征码返回种子信息的网络。 5.HPC:全称High performance computing,高性能计算,指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计 算资源操作)的计算系统和环境。 6.lambda-auth: an OCaml compiler extension for authenticated data structures. Link:https://github.com/amiller/lambda-auth 7.Merkle tree:是一种数(数据结构中所说的数),它的所有节点都是哈希值。 8.Semantic Web:语义网,它的核心是:通过给全球信息网上的文档(如:标准通用标记语言下的一个应用HTML)添加能够被计算器所理解的语义“元数据”,从而使整个互联网成为一个通用的信息交换媒介。 |