Mina 开发者中文文档
我需要什么特定的硬件吗?
目前,8核处理器和16gb内存是最低要求。
软件呢?
您可以在这里下载运行Mina节点所需的所有软件。现在,我们已经有了适用于macOS、Debian 9和Ubuntu 18.04的构建。对于其他不支持的系统,您也可以从源代码构建或通过Docker运行。
我可以在MINA网络上做什么?
任何节点都可以在Mina网络上发送和接收交易。此外,任何节点都可以选择成为“节点操作员”。节点操作员扮演两个特定的角色:
测试网的意义是什么?
Mina测试网的目标是提高Mina的稳定性,通过修复bug和解决用户体验来改进软件,并测试Mina中的经济激励设计。通过参与测试网,您将成为Mina协议的第一批参与者,并从起点来帮助开发它。
我可以在哪里试用DEVNET?
前往Devnet页面了解更多并开始使用。
我的后台程序崩溃了——我应该在哪里共享错误日志?
首先,查看Github问题,看看这是否是一个已知的问题。如果您遇到的错误是一个新问题,请使用适当的标记(daemon, bug)来创建一个Github问题。Mina开发人员将在未来的工作中对这个问题进行分类并修复——谢谢您的帮助!
我如何报告其他问题/与开发团队取得联系?
Mina社区的实时讨论频道是Discord server
您也可以创建Github问题:https://github.com/minaprotocol/mina/issues
如果您需要联系,您可以通过Mina支持提交问题单。
有区块浏览器吗?
是的,请查看这些网站:
MINA使用什么共识算法?
Mina的共识机制是对Ouroboros权益证明的实现。由于Mina独特的压缩区块链,算法的某些方面与Ouroboros论文的描述有所不同,而Mina使用的版本被称为Ouroboros Samisika。请继续关注关于Ouroboros Samisika的更多细节,以及一些关于其细节和实现的技术文章。
MINA如何现可伸缩性?
Mina通过使用递归的zk-snark实现了可伸缩性。通过生成一个显示历史上区块链状态的有效性的证明,Mina可以保持区块链大小不变。由于区块大小限制对网络的影响不大,因此可以增加吞吐量,从而提高了网络的可伸缩性。
为什么您们要开发一个新的协议,而不是扩充现有的密码货币?
开发新协议而不是向其他区块链提供服务的原因是,在Layer1项目之后添加SNARKs并非微不足道。即使是基本的操作也需要在SNARK内部优化性能,而现有的实现方式是不能进行相应的改造的。以哈希函数为例,SHA256(比特币使用)或Keccak(以太坊使用)在SNARK电路中开销极大,但Poseidon (Mina使用)的性能是优化的。这一点和许多其他技术考量使得在不彻底修改基本协议的情况下,很难轻易地将递归零知识证明添加到现有的Layer1项目。
您是否需要一个可信的设置?
不!Mina使用Pickles SNARK,它不需要可信的设置。
MINA支持智能合约吗?如果有,它支持哪些智能合约语言?
查看Snapps的文档,这是Mina的零知识化的应用程序。
MINA像ZCASH一样支持护盾交易吗?
不,Mina目前还没有原生地实现隐私特性。然而,隐私是密码货币的一个关键考虑因素,也在开发路线图上。
我可以将MINA后台程序作为服务运行吗?
关于使用mina的launchd或systemd,请参阅这里。
我如何验证我确实在生产区块?
(通过CLI):执行mina client status
作为输出,您应该看到一个文本块,如果您的区块生产者正在运行,将有类似于这一行的代码: Block producers running: 1 (B62qrPN5Y5yq8kGE3FbVK...)
如果您的区块生产者赢得了一个时隙,您将看到类似这样的东西: Next block will be produced in: in 17.52m
(通过日志):每次守护进程产生一个块时,都会出现以下文本:Producing new block with parent $breadcrumb
我生成了一个区块,为什么没有把它选入合法链?
由于Ouroboros Samisika共识协议的特性,在一个特定的时隙中完全有可能产生多个块。网络解决短期分叉,并为每个时隙随机选择一个块。
如果我经营一个Snark工作者,我如何得到生产Snark的报酬?
区块生产者(向区块链添加新区块的验证者)被要求从网络(或我们所说的Snarketplace)购买snark,并将他们的部分区块奖励作为费用支付给生成snark的snark工作者。这在网络中创造了一个次要的激励机制来奖励那些帮助压缩交易的节点。
生成SNARKS类似于工作量证明(POW)采矿吗?
不,它们在几个方面是不同的:
● SNARK工作是确定性的,而PoW挖掘需要随机计算哈希值来尝试和解决一个谜题。在SNARK工作中没有运气因素——如果一个Snark工作者想要生成一个交易的SNARK,他们只需要生成一次证明。这意味着SNARK工作的成本和环境浪费要低得多,因为计算都是为了实现一个有效的目标。。
● SNARK的难度不会像PoW采矿一样增加。事实上,随着SNARK构建和证明生成的时间优化,难度实际上可能会降低。
● SNARK工作并不直接涉及共识。Snark工作者在决定区块链的下一个状态时不起作用。它们的职责网络中观察到的交易生产SNARKs。
● 作为一个Snark工作者,对正常运行时间没有要求。PoW矿工需要不停地运行他们的矿机,以确保他们不会错过一个潜在的区块。Snark工作者可以随意上线或下线——这更像是优步(Uber),总是有工作要做,没有人需要提前说他们想在什么时候工作。
为什么不采纳我的SNARK?(也就是说,我该如何为自己的SNARK定价?)
即使您的SNAR工作者可能正在以极快的速度制作SNARK,如果其他人为您已经完成的特定工作制作了更便宜的证明,他们的SNARK也会因为费用更低而受到青睐。
对SNARK的定价是计算成本、市场环境(对SNARK的需求)、SNARK吞吐量和每个SNARK工作进程产生SNARK的速度之间的微妙平衡。有时候,从经济角度来说,让您的SNARK工作者完全退出可能是一种明智的做法,直到市场出现好转为止。
随着时间的推移,SNARK工作者会需要更多的存储和计算能力吗?与MINA全节点相比呢?
随着时间的推移,工作者将不再需要更多的存储空间或计算能力。Snark工作者只需查询内存池中需要Snark证明的待处理交易,然后生成上述证明——这并不需要同步历史数据。此外,证明工作的基本开销不会随着时间的推移变得更贵。
如果我们将Snark工作节点与Mina上的完整节点进行比较,那么是的,Snark工作节点将受益于专门的硬件,因为生成Snark证明目前是计算密集型的。然而随着SNARK研究的爆炸性增长,这种情况很可能会改变,消费级硬件也可以参与。
SNARK, SNARK PROOF, SNARK WORK这三者之间的区别是什么?
SNARKs目前是一个承载过多含义的术语——当您读到SNARK时,它可能指的是简洁的非交互式证明系统的概念。(SNARKs vs bulletproof),证明系统的具体技术实现(例如构造、电路或验证者),或证明本身的个别实例(如:该区块链Snark)。
当我们谈到它的时候,我们会尽量坚持使用:
● SNARK:作为简洁、非交互的零知识证明的一般概念
● SNARK电路:应用程序的特定电路和验证程序
● SNARK证明:由SNARK证明程序生成的单个证明
● snark工作:一个Mina协议数据结构,包含一到两个snark证明,以及需向生成证明的snark工作者支付的价格。这借助知识签名方案而变得不可伪造,将在另一节详细介绍。
有没有人担心某个Snark工作者在市场上[倾销](https://www.wikiwand.com/en/Dumping_(pricing_policy)),然后在垄断市场后提高价格?
在经济学中,有一种定价策略被称为掠夺性定价(或倾销),即某一产品的供应商试图通过压低市场价格来击垮市场上的竞争供应商。供应商把商品的价格定得比市场价格低得多,以排挤竞争对手,即使这意味着短期的损失。一旦市场被清除,占主导地位的供应商就会把价格提高到竞争激烈的市场价格之上,因为竞争已经消失。
然而,这种策略只在进入壁垒高的市场有效。这意味着,在掠夺阶段被挤出市场的竞争对手无法重新加入市场。
但这并不适用于Snark工作,因为进入门槛很低。任何有闲置计算机的人都可以加入snarketplace,哪怕只产生一个snark工作,都可以从中获利。进入的唯一障碍是硬件的初始资本支出,但我们预计硬件需求会很低,这样有闲置设备的用户就可以在线参与。如果任何一个Snark 工作者成功地驱逐了市场并提高了价格,预计新来者将会重新出现并推动价格回落。
产生SNARK的速度重要吗?如果我的电脑慢一些,我会有劣势吗?
不,只要产生的Snark成果仍然是区块生产者所需要的,那么谁先产生它并不重要——在区块生产者眼中只有价格才是重要的。这里需要注意的是,更早地包含到snark内存池中显然是有好处的,因为节点很可能更早“看到”此工作。
然而,我们可以设想这样一种场景:一组snark工人受到青睐,因为他们生产了最多数量的盈利的snark成果,且从尽可能少的实体购买证明将允许在任何块中包含更多的交易。
还有一个阈值,在这个阈值下,时间成为一个因素,但这只适用于功率非常低的设备。当我们进行了更多的测试后,我们将跟进详细的基准测试。
一个完整的节点需要存储所有中间的SNARK证明吗?存储需求会随着块线性增长吗?
不——当生成一个新块时,Mina会在先前的证明和新块上递归地计算证明。这就是递归组合的优点——在任何给定时间,节点只需要存储最近的证明。中间证明是不需要的。关于这种架构是如何工作的,请参阅本演讲:https://www.youtube.com/watch?v=eWVGATxEB6M
您如何控制或限制SNARK工人使用的核心数量?
在启动mina daemon
时,可以使用-snark-worker-parallelism
标志。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!