Author

Topic: [ANN] Tau-Chain & Agoras (Read 103 times)

hero member
Activity: 1038
Merit: 510
September 23, 2020, 11:47:21 AM
#1




新版Tau
社会选择(Social Choice)这个流程对新版Tau来说很重要。社会选择是一个团体(少到几个人,多到千万人)不断重复协商地达成并遵守协议的流程。这其中涉及五个方面:语言(language),知识(knowledge),讨论(discussion),合作(collaboration)以及对选择做出的抉择(choice about choice)。提出一种社会选择的机制,都需要仔细考虑这五个方面。
这种协同决策的主要问题在于对于信息的处理和分流有一定规模的限制。通常这些限制在现实中被认为是不可能克服的。比如,对我们来说,每个人都有权利投票是一件很自然的事,但是有没有考虑过,如果每个人都有以平等的权利来提出投票的具体内容,会是怎样一种情形呢?
日常生活,在比较小规模的群体中,我们通常不需要通过投票就可以表达,讨论我们各自的观点,根据情况对于这些观点达成共识或者分歧。但是讨论群体规模增加,比如大到一个国家,我们只能想到的是,每个人有权利给有限的提议投票。这些有限的提议是通过阶层式(hierarchical)(而非去中心式)的流程选出来,理想的情况是,每个人都有权利来提出这些提议。但是在这样的阶层式流程下,通过一层又一层,达到人们投票阶段时,大部分原始采集到的观点已经丢失不复存在。正是这样,我们根本没有想过如果有办法让每个人有同等的权利提出提议和投票。确实,怎样才能让一个投票人每天过目无数同等权重的提议呢?
现存所有的讨论方式无一避免,都存在扩展性差的弱点。在参与讨论人数很少情况下,人数加倍也不会带来信息增倍,当参与人数太大(可能只是几十个人)时,参与人数加倍甚至会导致信息量不但不增,反倒事倍功半。
根据合作化决策和协作理论,基于某些假设条件下,我们是可以达成真正可扩展的讨论和信息流,就是10000人比100人有效率100倍。但是,要达成这个目标,我们要借助机器的帮助,同时我们也需要帮助指导机器,从而帮助我们自己,。
确切来说,要让计算机理解我们在讨论中所说的,我们可能不得不使用一个特定的,跟着时间不断进化的语言。既然没有人知道如何让计算机理解人类自然语言,那我们必须求助于机器,使用可以让机器理解的语言。这点我们一会再详细展开。首先让我们聊聊关于自我修正(self-amendment)。
那么Tau Chain, 也就是我们所说的去中心化计算机网络,能支持哪些社会选择呢?计算机最擅长的是运行程序,通过Tau Chain我们可以收集知识,我们可以同意或反对这些知识;我们的讨论会以可执行的操作通过Tau这个平台执行。这些操作也不过是计算机程序,而且在这其中最重要的程序,就是Tau平台本身。
在Tauchain系统里协作决策的主要决定,也是关于Tau本身的。Tau是对于关于Tau的讨论。或者更详尽一些又简练地给它定义就是:
Tau是X生成Y,被Y所取代的情形。(Consider a process, denoted by X, of people, forming and following another process denoted by Y. Tau is the case where X=Y)
这就是Tau。Tau是什么不重要,重要的是它可以变成任何我们想要的。再有,我们可以把Tau看成一种计算机程序,这个程序可以根据用户的共同决策,对程序自身做出改变。
需要注意的是,Tau不是用来猜测人们的观点,甚至都不是像机器学习那样进行非常有依据的猜测。这可能是我们会运用逻辑(logic)的原因。通过Tau平台输入说出的语言和计算机程序一样是形式化和确定性的(formal and definite),但Tau处理的是一般知识而不是机器指令。
通过协作自我修正,某个程序可以转化为任何我们想要的一个或者同时多个程序。事实上Tau不仅仅关于Tau本身自我修正,而是运用于任何其他个人的或协作式的活动,比如,进行小型的和非常大规模的知识讨论,分享和安排,Tau的计算机程序可以探测和协调讨论中的共识和分歧。
本文开头对应于Tau开发路线图提到社会选择的五个方面。接下来会侧重解释这部分,这里先做简短摘要。第一步是安装启用Tau元语言TML(Tau Meta Language)以及语言互联网(the internet of languages)。第二步是Alpha平台也是一个讨论平台。接下来Beta平台关于后续合作决策流程(不只是定义知识),更确切的说是不仅仅定义知识,更重要的是执行程序。这时的Alpha和Beta的基础结构并不是像比特币一样完全去中心化的。有了Alpha和Beta,接下来才是开发去中心的自我修正社会选择平台(self-amending social choice platform),也就是Tau。除此以外,我们也会有Agoras, Agoras有三个部分:知识市场;类似Zannet的计算机资源市场;以及新设计的无风险不用印钞的经济衍生品交易市场。
为了让机器更好的促进人们的讨论和合作能力,机器需要能够理解我们所说的语言。机器语言和人类语言不一样,目前没有人可以让机器使用人类语言,而让人类直接用机器语言也不容易,机器语言和人类日常知识交换的交流方式不相通。机器语言由机器指令组成,而人类对知识描绘是不同的性质。换句话讲,机器需要可操作的信息,而人类运用的是陈述语言。因此Tau的目标之一就是让人类专注于定义 “是什么” ("know-what"),而让机器专注于 “如何去执行” ("know-how") 。
因此,逻辑将会是搭起人类语言和机器语言之前的桥梁,这个概念之前也被广泛提出(cf. e.g. the article "Knowledge Representation and Classical Logic" by Lifschitz et al) 。形式逻辑对人类来说比较自然,机器也可以使用。但是 “形式逻辑” 并不是特定针对某一语言,而只是对于一个语系的模糊的描述。
单一的通用语言被认为是不可能存在的。但如果有一种可以定义所有新语言的元语言(meta-language),其实我们也不需要某个理想的语言来迎合所有(即使是最基本的)需求。我们提出的这种通用(元)语言可以回到原点,重新开始定义其他任何语言。这个元语言需要能够重新自我定义并自我修正。这样我们获得的不仅仅是新的语言,也是一种自我修正的语言,拥有这个语言这对于自我修正系统来说极其重要。
事实上,拥有自我定义和可判定性这样良好逻辑属性的逻辑并不常见。很难找到比我们现有通用图灵机表达性(expressive)更少,内容性比如可判定性(informative, e.g. decidable)更多的语言。我们采用的logic PFP的表达属性符合PSPACE-complete(参考关于Finite Model Theory的书籍),PFP可以对自身定义,参考Imhof, 1999 "Logics that define their own semantics"。
继续说到语言互联网(the Internet of Languages)。我们把上面提到的元语言叫做TML(Tau Meta-Language,在Github可以了解更多),用户用TML通过描述不同语言下的两个文件在不同条件下有的同样含义,从而定义逻辑公式,来定义新语言。换句话说,要定义一个新语言,需要定义一种保证已存在语言保留语义的翻译方法。这里范畴的语义是指本体论(ontological)(物体和关系),不是在计算机程序的可操作性语义(operational semantics)。这样我们获得一个知识表示语言(knowledge representation languages)互联网,不管使用哪种语言,都可以通过TML将这个语言的文档转化成不同语言。
 
这里说的翻译不是指把法语翻译成中文,文章前面已经强调我们处理的不是自然语言。当然理论上来说,也许未来有人可以通过TML编写完全可以理解自然语言的程序,但是我们并不指望这个。事实上,自然语言有很多形式是非常接近于完整的语言,对人们来说很容易上手(比如“机器都可以理解的简单英文”),所以我们希望TML可以处理人类在一定程度可以理解的语言,但是设计TML主要意图是机器语言。打个比方,如果想要把一个文件转换成HTML格式或者维基格式;或是将高级语言下的程序转换成机器代码;或是根据逻辑编写代码。
一般来说,TML旨在成为一种编译器的编译程序。我们采取了部分求值的方法(Partial Evaluation),让这个编译器编译程序更加有效的运作,而不是每一次编译同一语言的文档都需要不断考虑这个语言的逻辑。部分求值的方法也带来另外一个对给编译器编译程序而言很理想的特点:二村映射(Futamura projections)形式。
既然我们可以用不同语言表达知识和观点,更确切来说这些不同的语言也是用户通过语言互联网不断定义的。我们用这些语言交流的时候,是人与人的交流,更确切其实是人-机-人的交流。在对话中,机器并不是跟人平起平坐,机器只是机器,因为我们把信息编码成机器可以理解的形式,所以机器可以组织我们的语言。这样一个人就可以用把想法传播给另一个人,我们可以从传播一个信息这样的范畴,已经可以体会三个好处:解释起来便捷,容易理解,同时把知识形式化(formalizing)。
具体来说,用户只需要向机器解释,不需要向另一个用户解释。在某些方面这样做是更简单的,其他方面这样会更复杂。但机器跟人相比不那么受机构和规模的限制。一旦将一个想法转化成机器理解的形式,下一个用户不但可以把它翻译成其他的知识表示语言,还可以组织成新的想法(也是以机器可理解的形式)。用户可以像机器提问一切问题,因为机器可以完全理解这些问题,这里说的理解指的是理论上回答这些问题(又要提到可判定性)。机器可以帮助用户理解,机器不需要查阅提到这个想法的原作者,就可以回答所有人的问题。
但是Alpha可以做的超过上述情形。Alpha是没有规模限制的讨论平台,类似论坛或者社交网络,用户在个人页面或者团队页面上发帖和评论,个人页面主要是用户发布个人观点,并分享给社交圈。团队(team)由一些用户创建,用来发布某些主题的内容。比如,某个团队可以合作开发一个软件产品,撰写合同法规,或者只是一些科学、哲学,社会甚至没有特别意义的想法。
到这里为止,Alpha听起来跟其他讨论平台没有两样,但是因为运用了机器可以理解的语言,让我们多了很多优势。列举其中一些,自动检测同一个人说的重复观点,收集一次讨论中每个人所说的,把所有同意和反对的点列表出来。或者列出同意某个观点的所有人(而非每个发言人的所有观点)。也可以把讨论的信息用类似维基(wiki)这样更有条理更可读的形式组织出来。如果你看到有人对某个主题表达了跟你之前表达过的相同的观点,就甚至可以自动评论。你就可以点击“自动评论” ,系统会根据你之前就该主题的发言,在这个帖子里自动发表你的观点。更重要的可能是,可以在一定范围(可以是整个网络,一个团队,或者你的社交圈,一个项目等)计算出每个人都同意的那些说法。需要提到的是,这并不是什么魔法,一旦所有的讨论都写成逻辑,或者假设有一种逻辑,可以把任何东西转化成逻辑,这个也就是TML定义的文档的语言。
在Alpha,我们可以将非常多的知识教给某个网络,有意的或者在讨论中得到的附加产品。也可以建立所有人都同意和做贡献的理论。这些知识对我们来说有什么用呢?在计算机世界中,最终我们所能做的不过是运行计算机程序。在Beta平台上,我们将可讨论并实际运行这些程序。以Tau上,我们有一个特别团队叫Tau,每当团队做出一个新的决策,Tau的代码会自动修正。我们可以将我们在Alpha上讨论同意的通过Beta实现运行。一旦团队同意对某个程序的某方面修正,并不需要写或者重写任何代码,因为这都是自动实现的,所有代码都已经是机器可理解的语言。设计规范自动编写代码也只需要通过语言互联网对语言进行翻译,当然了,实现这一切,我们需要开发足够的语言转换器。举一个例子,MSO+λY中的自动编写代码是这个领域的前沿技术,是这个说来容易做起来难,而且技术含量很高。
对某个选择做出的选择是选择如何做选择。能够改变选择机制本身,换句话说,改变规则的规则, Tau代码随着时间演化。这本身会变成一种悖论,也可能为逻辑设限。如果规则可以自己改变,那一旦规则改变,不可避免自相矛盾。如何才能用不相悖的方式正式化这个流程呢?有人可能误认为高阶逻辑可以给规则定义规则,或者决定作出的选择,但是这并不足够。例如考虑这个规则“所以规则,包括这个规则,只能大多数人同意才可以修正。” 这个规则对它本身也奏效,所以不是有限阶。所以我们需要递归来处理这个改变规则的规则。这是我们在TML中采用定点(fixed-point)逻辑的重要方面。Beta中用到的 λY积分的重要内容(正如Bauer在"On Self-Interpreters For System-T and Other Typed λ-Calculi"中阐述的),一种语言必须有定点(fixed point)才可能自我解释,这就把目前所有的编程语言都排除了。
旧版Tau中考虑使用的更改规则的方法是Nomic方法,它跟新版Tau采用的方式有什么不同呢,举个例子,代表交易的双方的两个律师,试图达成双方都同意的协议。通常流程如下:第一个律师建议起草一个条款,第二个律师同意或反对,如果同意,附加此条款,反则不附加。然后由第二个律师提出条款,以此类推。这是Nomic方法。在Tau上同样的流程会变成,随着时间不断为程序加补丁。这样做会把首先加入的条款摆在不对称(asymmetry)的位置,对于这个不对称,以及Tau如何可以几乎完全解决这个问题,其实还可以说很多,首先试想新提出的条款与某个已有条款产生矛盾,如果我们不希望把优先权给最先加入的条款,那么需要对新的旧的甚至更多条款进行修正,而不是默认删除旧条款。
另一种方法是每个律师在每一轮都递交完整的合同草案,另一个律师要么完全同意,要么重新起草完全不同的自己的草案。这需要每个草案遵循逻辑一致性,这样我们就不需要处理之前和未来的矛盾。这样我们就不需要不断回头查看,但是这个方法不可扩展规模,如果我们有无数个律师,那么他们也要阅读无数个草案吗?
通过Tau我们能够处理这无数个合同草案,这些草案相当于Tau接下来的完全节点的提案,或者简单来说就是,多亏文档的逻辑形式化,可以精确计算出每个人同意的核心点,并列出和解决这些。不需要投票,而是像现实中处理小组讨论一样,只需要陈述观点,对话中的观点列表传给Tau这个智慧的聆听者。
现在就说到这里,未来在博客文章和其他的论文中再更详细解释,对于上述提到的内容(尤其是实际的社会选择和如何解决讨论扩展性这两个方面)非常期待您的观点和意见。

Website:
http://www.idni.org

Whitepaper (Draft):
https://www.idni.org/whitepaper_community_draft.pdf


Monthly Video Updates:
https://www.youtube.com/watch?v=W0WhSrEqE7g&list=PLav2klOnTUlNKDE1xYVHi9zn9cqgpZead

Explanatory Videos:
Old Tau: https://www.youtube.com/watch?v=zFmaX-oumNw
New Tau: https://www.youtube.com/watch?v=8QZDYIO1EGA

Blog:
http://www.idni.org/blog/

Coinmarketcap:
https://coinmarketcap.com/currencies/agoras-tokens/

IDNI Grant Application:
https://forms.gle/YQks4gUge5hGHoPcA

IDNI Ambassador Application:
https://forms.gle/32jQMWWv3rz1fUEq7

Exchanges :
BCEX: https://www.bcex.ca/trade/agrs_btc
WhiteBIT: https://whitebit.com/trade/AGRS_BTC
OmniDEX: https://www.omniwallet.org/dex/overview (Token: IDNI Agoras #58)

Social:
Telegram: https://t.me/tauchain
Discord: https://discord.gg/qZtJs78
Reddit: https://www.reddit.com/r/tauchain/
Bitcointalk: https://bitcointalksearch.org/topic/tau-chain-and-agoras-official-thread-generalized-p2p-network-950309
Twitter: https://twitter.com/TauChainOrg
YouTube: https://www.youtube.com/channel/UCixBquLFTBhLcUFVX0DDTpQ
Facebook: https://www.facebook.com/groups/tauchain
QQ: https://jq.qq.com/?_wv=1027&k=5DkwnOX
LinkedIn: https://www.linkedin.com/company/tau-chain/
IRC Chat: https://webchat.freenode.net/?channels=##idni
IRC Logs: http://tauchain.io/logs/fn/%23%23idni.log

Developers:
GitHub: https://github.com/IDNI
TML: https://github.com/IDNI/TML
IRC/Telegram Dev Chat: https://t.me/joinchat/ElCYP1TPyRalxhCgi_5HxA

Applications:
TML Bot (IRC/Telegram Dev Chat): https://paste.ubuntu.com/p/kxTHykmDHW/
TML Playground: https://tml.klapka.cz

Guide:
General: https://tau.guide
TML Playground: https://noahniuwa.github.io/tauchain-docs/#/tml-playground

Community Content:
https://github.com/martijnbolt/tau
https://www.tauchainfans.com
https://steemit.com/blockchain/@kevinwong/what-is-tauchain-and-why-it-could-be-one-of-the-greatest-inventions-of-all-time-part-1
Jump to: