Aeternity常见问题(FAQ):一般技术问题(更新版)


#1

​​我如何关注开发团队的工作?

跟踪æternity开发人员进度的最佳方法是使用Pivotal Tracker工具:https://www.pivotaltracker.com/n/projects/2124891

如果您不是开发人员,那么保持开发团队进度最新状态的最简单方法是在博客中关注此页面:https://blog.aeternity.com/tagged/development

如果您是开发人员,可以关注æternity的GitHub页面:https://github.com/aeternity

æternity最有趣的技术特征是什么?

æternity的一些最有趣的技术特征包括Sophia智能合约语言,Bitcoin-NG与Cuckoo Cycle共识用于工作量证明,状态通道,集成的oracles预言机和集成的命名系统。

索菲亚智能合约语言

Sophia是一种智能合约语言,旨在编写更安全的代码。它是一种功能类似Ocaml的语言,其语法最类似于Reason。除了交易和事件的几个功能外,Sophia还是一种纯粹的功能语言。它的功能性使得更容易测试和验证代码并避免错误。它是强类型的并且具有受限制的可变状态。 Sophia具有内置函数,可直接访问æternity的所有功能,如命名系统,状态通道和oracle功能。

Bitcoin-NG和Cuckoo循环工作证明

到目前为止,Nakamoto共识是保证分布式分类帐中条目安全的最常用方法。但是,由于其设计 - 等待下一个块被挖掘 - 可扩展性有限。 æternity使用Bitcoin-NG来提高链上可扩展性。每当开采一个区块时,领导者就会当选。允许该领导者发布微块直到下一个块被开采。与比特币相比,这提高了链上交易速度,达到每分钟约6000次交易,而不会影响经过良好测试和验证的中本共识设计。 æternity使用高效的Cuckoo循环,第一个图形理论的工作证明算法,以及最大的内存限制,即时验证。其大存储器要求使单芯片ASIC在经济上不可行,从而改善了采矿去中心化。

状态通道

在æternity中,可以在两个用户之间打开一个频道。单个用户可以根据需要打开任意数量的状态通道。状态通道不仅支持参与者之间的加密货币转移(平衡更新),还支持智能合约的执行。每当参与者之间的状态发生变化时,例如在付款发生后,参与者通过签署就新状态达成一致。状态通道是不可信的,并且与区块链具有相同的安全保障。如果其中一方试图恶意行动,任何参与者都可以关闭该通道并将最后签名的状态提交给区块链。无论哪个参与者提交所有参与者最近签署的通道,都被认为是正确的。所有通道余额的提交状态在链上结算并分发给所有参与者。由于通道在链外转移用户交互并且仅存在于中间参与者之间,因此它们允许几乎无限的,几乎即时的,闪电般快速的交易。此外,如果状态通道参与者在共同协议中关闭它,则不需要在链上发布任何通道。这显着改善了隐私,因为参与者的链上账户保持不变。

预言机

为了向智能合约提供可以使用的区块链数据,æternity可以注册所谓的oracles或数据源。这些oracles存在于oracle状态树的区块链中,存储在一个完整的节点中。所有注册的oracles都会以创建时设置的格式提供数据,并且可以通过智能合约进行查询。 oracle运营商可以为查询其数据的用户设置AE并收取费用。然后,提供的数据可用于根据收到的数据和智能合约中设置的规则执行智能合约。例如,数据可以是来自智能设备,本地气象站,金融机构,手动输入或预测市场的传感器数据。数据的验证发生在个人智能合约中。智能合约开发人员可以决定他们是否立即接受来自一个来源的数据,或者他们是否设置了多个条件,例如需要将相同数据报告给相同问题的多个不同的独立预言机。一个例子是对多个预言机的询问,是/否的问题“列支敦士登的足球队是否有资格参加2018年国际足联世界杯?”。注册或查询oracle等所有操作都是æternity区块链上的交易。 Oracle操作员扫描区块链以查询查询或使用订阅机制来获取有关查询的通知并对其进行响应。在提供响应之后,它在链上是不可变的。所有响应都将保持链接并具有TTL(生存时间),直到它们在一定数量的块之后被修剪。

命名系统

æternity具有一个集成的命名系统,可以在处理钱包地址,智能合约或oracles时彻底改变用户体验,就像人类可读的网站地址彻底改变了互联网一样。

什么是链上和链下tx / s速度?

在模拟开始运行之前很难估计链上速度。 实现Bitcoin-NG,Waves实现了6000tx /分钟或100tx / s的链路速度。 我们相信在æternity上将实现类似的速度,这比以太坊(12 tx / s)和比特币(7tx / s)要快得多。 链下事务速度仅受对等体之间的带宽限制。 值得注意的是,大部分负载将在链下处理,因此Bitcoin-NG提供的链上速度应该足以进行小额和即时交易。

是什么让æternity智能合约特别?

æternity智能合约的一个主要优点是它们可以在链下创建。 这使得与其他参与方的交互发生得非常快,并且具有重要的隐私隐患。 用户的交互保持脱链并保持安全。 只有在出现分歧的情况下,才会在链上提交交易,允许æternity区块链作为加密货币法院运作,以支持所有参与方签署的最新通道。 此外,由于æternity智能合约不共享通道,因此每秒可处理的智能合约数量没有限制。 智能合约也可以并行处理。

与传统的以太坊智能合约方法相比,æternity的合同从基于goto的转变为基于功能的合同。这使得编写更安全的智能合约代码变得更加容易。

您可以观看Erik Stenman在旧金山的Code BEAM活动期间录制的视频(https://www.youtube.com/watch?v=VXsqvfPIdWg),

了解有关智能合约的更多信息。您还可以阅读这篇信息丰富的Steemit文章

https://steemit.com/blockchain/@aetrnty/aeternity-s-smart-contracts,这篇文章金刚狼也已翻译,请在微博查看)。

æternity虚拟机有哪些功能?

æternity正在构建最先进的虚拟机,以实现安全有效的区块链计算。 将有三种类型的虚拟机:

一、EVM(以太坊虚拟机)的改进版本称为AEVM,使用Erlang从头开始重写,并允许æternity运行Sophia智能合约以及Solidity合同。

二、FAEVM - 用于运行Solidity智能合约的EVM的快速版本(待确认)。

三、名为FTWVM(功能型保密虚拟机)的高级虚拟机专为Sophia智能合约语言而设计。 此VM可实现企业级智能合约安全性。

Varna智能合约语言使用的HLM(高级机器)。 HLM是用于(近)图灵完整合同的高效虚拟机。

此外,FTWVM和HLM支持一种专门的工具,可以“智能化”智能合约代码。这允许用户仅发布实际执行的代码部分,从而促进更大的智能合同 - 只要执行的部分相对较小,就可以达到千兆字节到数千兆字节。

有关æternity虚拟机的更新信息,请访问GitHub

https://github.com/aeternity/protocol/blob/master/contracts/contract_vms.md)。

谁在æternity负责技术开发?

Sascha Hanse是æternity的全职区块链首席开发人员。此外,æternity的承包商之一–Michal Zajda–领导核心区块链开发。他将得到Klarna前首席科学家Erik Stenman和Erlang Solutions前首席技术官Ulf Wieger的支持。关于æternity的核心区块链协议的工作也得到了Erlang社区的一些知名人士的支持。最聪明,最有经验的Erlang开发者名单包括Ulf Wiger,Tobias Lindahl,Thomas Arts和Hans Svensson。在此Steemit文章中了解有关它们的更多信息(https://steemit.com/blockchain/@aetrnty/the-developers-and-development-of-aeternity)。

与Sascha Hanse的AMA会议于2017年12月1日举行。可以在此处访问AMA的摘要(https://blog.aeternity.com/summary-ama-with-sascha-hanse-8fd157d23039)。你也可以在这里阅读他的采访(https://blog.aeternity.com/infra-structuring-the-future-an-interview-with-sascha-hanse-ba6933b3589)。

有关使用æternity区块链项目的开发人员的完整列表,请访问主网(https://aeternity.com/#team)。

æternity会有不同类型的节点吗?

在Mainnet启动时将只有一种类型的节点。但是,随着æternity的发展,会出现更多的节点类型。在标准节点之后出现的第一个可能是轻型和归档节点。许多不同类型的节点可以及时出现,服务于生态系统中的不同功能。这里有些例子:

一、为状态通道网络提供流动性的节点。他们将拥有许多人的通道,因此如果用户与他们建立通道,他们将能够与许多用户一起参与状态通道合同。通过这样的节点使用通道合同将涉及AE费用;

二、运行无信任交换的节点也可能出现。他们还将收取交易费用。任何人都应该能够启动“集中式服务器”并使用æternity软件来创建无信任的金融工具。

在Erlang和Elixir中编程æternity节点的动机是什么?

开发Erlang和Elixir æternity客户的目的是提高安全性并改进去中心化。不同甚至竞争的代码库提高了区块链的弹性,并且在其中一个实现中出现错误的情况下可以导致增强的损害控制。

这里的一个很好的例子是Geth以太坊客户端的错误导致所有Geth节点冻结。如果只有一个客户端,则整个以太坊网络将停止运行。但是,由于Parity节点不受影响,因此交易和智能合约处理并未停止。

有关更多相关信息,您可以阅读此博客文章(https://blog.aeternity.com/building-a-truly-decentralized-blockchain-47ed6bd1f166),主题为“构建真正去中心化的区块链”。

如何运行一个aeternity节点?启动节点有哪些要求?

您可以在此处找到有关如何开始运行æternity节点的信息(https://github.com/aeternity/epoch/blob/master/docs/installation.md)。

您需要至少10GB的可用磁盘空间才能运行节点。如果您打算使用该节点进行挖掘,还建议至少具有8GB的RAM。如果您的RAM有限,则可以减少内存需求。如果您遇到任何问题,请查看此问题(https://github.com/aeternity/epoch/wiki/Troubleshooting#resolution)或在论坛中的挖掘专用类别中提出问题(https://forum.aeternity.com/c/mining)。

我们还在制定一份专门用于采矿的详细指南。

运行超级节点需要多少AE币?

æternity没有超级节点。

股权证明(PoS)系统如何运作?它的设计是什么?它是一个委托PoS(DPoS)吗?

æternity的PoS系统将仅用于治理,而不是用于建立块(挖掘)的共识。 æternity没有“股息”。用户将能够对提案进行投票,并通过其AE余额表明他们对基本系统变量(例如块奖励的数量)的修改的意见。持有AE令牌的任何用户都可以通过委托投票参与æternity区块链的治理,并通过他们持有的令牌数加权。

您可以在论坛的这个共识专题中提出您可能遇到的任何问题(https://forum.aeternity.com/t/consensus-mechanism/52/4)。

是否已经可以为æternity测试网开发智能合约?

版本0.13.0引入了智能合约功能的重大改进,允许执行索菲亚智能合约。您可以在这里查看实施荷兰式拍卖的Sophia智能合约(https://github.com/aeternity/epoch/blob/master/apps/aesophia/test/contracts/dutch_auction.aes)。您还可以找到有关Sophia教程的语法和功能的详细信息(https://dev.aepps.com/aepp-sdk-docs/Sofia.html)。

如果您遇到任何问题,可以在论坛的开发类别中启动一个主题(https://forum.aeternity.com/c/development)。

是否有可能在æternity上建立dapps?

æternity是一个去中心化的应用程序平台。在æternity上的应用被称为æpps。术语“dapps”通常与以太坊的应用程序相关联。由于æternity将支持预编译的Solidity智能合约,dapps将能够在æternity的区块链平台上运行。尽管如此,我们相信æpps将成为æternity的首选应用类型,因为它们将基于更可靠的Sophia和Varna智能合约,专门针对安全性,效率和成本使用而开发。

从æternity’sæpps开始的最佳地点是aepps.com。如果您是应用开发者,可以访问dev.aepps.com。您还可以在这篇专门的Steemit文章中了解有关æternity的智能合约的更多信息(https://steemit.com/blockchain/@aetrnty/aeternity-s-smart-contracts)。加入论坛中的智能合约讨论(https://forum.aeternity.com/t/smart-contracts-and-vms-sophia-varna-solidity-ftwvm-hlm-and-evm/50)。

预言机有什么功能?

Oracles用于提供从现实世界到区块链和智能合约的信息。 该信息可以用作智能合约执行操作的触发器,例如 - >将AE,加密货币或数字财产转移到特定地址。

æternity的oracles被集成到核心协议(第一类对象)中,任何用户都可以成为oracle运算符(开始提供问题的答案)或通过启动相应的事务来询问oracle运营商的问题。 因此,不需要使用实现oracle的额外智能合约层。 请求者必须在AE中为oracle请求支付费用。 Oracle运营商会在其提供的每个响应中获得AE奖励。

你可以在GitHub找到更多关于æternity’s oracles的信息(https://github.com/aeternity/protocol/blob/master/oracles/oracles.md)。 您还可以在论坛的专题中询问有关预言机的问题(https://forum.aeternity.com/t/oracles-discussion/51/3)。​


#2

很多人只关心币价涨了没有,并不关心这些技术问题。


#3

团队目前最重要的是推进安全、快速、稳定的主网上线,请保持耐心,谢谢。