主页 > imtoken和比特派 > BSV 中的交易费用经济学:矿工和应用程序开发人员指南

BSV 中的交易费用经济学:矿工和应用程序开发人员指南

imtoken和比特派 2023-02-24 07:21:05

4.不用担心孤儿

孤块是比特币协议的正常组成部分,BSV 上的每个矿工都会遇到这种情况,但是通过难度调整可以解决它,并且没有人会受到真正的损失。因为孤块降低了难度,孤块损失被它抵消了。孤块的作用只是让具有更好连接性的矿工获得更多奖励。

仅开采小块通常被吹捧为避免孤立块的解决方案,但在 BSV 上,这也意味着您将获得比其他人更少的采矿收入。越早成为快播高手,你的收入就会越高,你会发现即使区块远大于 1MB,出现孤块的风险仍然非常小。

5. 实现 Miner ID 并运行 Merchant API 端点

**Miner ID(Miner ID)**是一种像coinbase字符串一样识别矿池的方法,但它是附加在公钥上的,不像coinbase字符串可以被矿工伪造。您可以使用它来保存自己的挖掘历史记录,并使用它来备份您希望公开的信息。从长远来看,矿工 ID 将为您带来潜在的经济价值。

Miner ID索引客户端构建简单易行,只需修改一行或几行代码即可与矿池软件集成。

**Merchant API (API for Merchants)** 为用户向您提交交易提供了一种便捷的方式,但更重要的是,让他们了解您的收费政策。

Miner ID 和 Merchant API 在 BSV Open License 下具有参考实现(即在 BSV 上免费使用)。有关这两种技术的更多详细信息,请访问以下地址:

矿工 ID 和商户 API 测试版

6.让你的 bitcoind 软件保持最新

比特币SV节点软件正在快速发展,其性能和弹性不断提升。以防万一,我们建议您至少保留两个不同版本的节点软件。但是,我们发布的版本都经过了非常严格的质量评估流程,包括在 Scalability Test Network (STN) 上的实时测试,并且只有在节点团队认可其稳定性之后。

请查看以下地址的节点软件版本信息:

节点软件相关信息也将发布在此推特账号:@BitcoinSVNode

二、应用程序开发人员(交易发送方)指南1.了解费用政策

如果您的应用程序正在向 BSV 网络发送交易,您应该了解费率,确保您了解不同费率在整个 BSV 网络中的含义。比特币上的交易并不处于“将被打包”或“不会被打包”的非此即彼的状态,而是受到一系列变量的影响,例如交易被打包所需的预估时间、交易双花保护程度(如果这对您的应用很重要)等。好消息是了解费率所需的信息随时可用且可靠。 BTC 或任何其他比特币分叉都不能做出这样的承诺,因为这是最近的 BSV 开发,仅在 BSV 上可用。

2.使用 Merchant API (API for Merchants) 提交交易

BSV 的点对点网络性能非常出色,但并非完美无缺。目前 BSV 网络上大约有 300 个端点,其中大部分是 BSV 程序实例,但估计其中只有 100 个是真正起作用的。这意味着在高负载条件下,配置不当的比特币守护程序可能会阻碍交易的广播。除非您直接连接到矿工,否则您不能保证您的交易会发送给矿工。 Merchant API 通过使您能够绕过无用的端点并使用简单的 REST API 命令将交易直接提交给矿工来解决这个问题。如果你的交易符合他们的报价,矿工在打包下一个区块时肯定会接受你的交易。您甚至可以从矿工那里得到签名的回复,表明他们已准备好将您的交易打包到一个区块中。

这不需要您与矿工有任何特殊关系,商家 API 最初设计为公共端点。

Merchant API 对使用它的早期矿工有很大帮助。即将发布的下一版商户 API 将包含聚合服务,帮助用户了解收费政策的范围,了解特定费率对应的服务水平。它还可以帮助您向矿工发送交易,并从接受交易的矿工那里获得相同的签名收据。

在与 BSV 网络交互时,您有多种选择,例如一些矿工为大客户提供特价。但是,除了直接广播到点对点网络的选项外,商家 API 将始终支持公开可用的默认费率。

3. 如果可能,请使用 SPV(简单付款验证)

比特币白皮书的第 8 节描述了简易支付验证。当我们发布下一个版本的 Merchant API 时,SPV 将变得更容易实现,在此迭代中,将实现一个 merkle-proof 回调。同时,您可以从比特币SV节点软件中获取Merkle树证明作为临时解决方案。

许多应用程序现在都在运行 BSV 节点,但它们实际上并不需要。这是比特币核心思想的遗产,也是他们一贯的行为方式。随着应用规模的扩大,运行一个比特币全节点的成本会显着增加,如果可能的话,切换到SPV应用模式是一种真正的经济需求。

4. 除非你真的需要,否则不要运行 bitcoind;如果你正在跑步......

Bitcoind 提供的不仅仅是构建块,但很多人都为它矫枉过正。请记住,比特币 SV 节点团队考虑的主要用户群体是矿工btc费率在哪儿看,我们基于此考虑做出工程决策。这意味着我们在设计它时可能没有考虑到像您这样的事务生产者或应用程序用例,并且我们始终假设该软件将在配置良好的机器上运行。

5.以最小化模式运行

如果您需要运行 bitcoind,请考虑在“blocksonly”模式下运行它而不维护事务内存池,这可以显着降低软件负载并降低内存和带宽需求。但是在区块中确认之前,您不会看到该交易。请注意,这种行为的代价是您的连接可能会被其他比特币全节点降低优先级,因为它会给网络的其他参与者带来不必要的负载,而不会提供任何有益的回报。

如果您需要监听未确认的事务,请考虑使用 ZeroMQ 接口获取事务流并在您自己的数据库或软件中处理它们。如果你这样做,你可以在交易内存池上设置一个更小的上限,因为一旦你从 ZeroMQ 读取交易,你就不需要比特币 SV 节点软件来保存交易。

6.RPC

如果您使用 RPC 调用,当网络非常繁忙时,请注意某些调用是否会产生包含大量数据的响应。如果生成了此类响应,请确保您的软件可以将这些响应作为流处理,或者使用其他方法获取数据。

BSV 网络可以处理的 RPC 接口从未设计过的数据量。我们对其进行了很多改进,但有些调用仍然会导致高负载。但这只是因为我们没有为此设计,而且有比 RPC 更好的方法来获取大部分信息。

7.在可扩展性测试网络 (STN) 上进行测试

可扩展性测试网络 (STN) 可让您在高负载条件下测试您的应用程序,以确保您的应用程序在压力下平稳运行。在 STN 上长时间运行 BSV 可能会很昂贵,因为我们模拟了一两年内可以在主网上预期的网络状况。但是,您不需要永久保持程序实例在线。如果您在运行测试所需的几天内运行具有 64GB RAM 的虚拟机,则成本是可控的。与 STN 的运营经理 Brad 交谈,他可能对测试您的应用程序有其他建议。有关详细信息,请参阅:

写在最后

BSV 网络正在经历快速转型。网络的起始状态是网状网络,其中有很多无用的节点btc费率在哪儿看,用户交互过程也非常困难。我们现在正朝着更接近中本聪所描述的状态迈进,其中网络的核心由紧密连接的高性能节点组成,用户在边缘进行交互(通过简单的界面)。

这种模式带来了更简单和更可靠的用户体验,同时消除了节点上的大量不必要的负载,因此节点可以专注于实际工作。扩展架构的核心原则是“不要做你不需要做的工作”。这正是我们在中本聪“点”直接与“点”交互而不通过中介的原则下试图实现的目标。

这种转变不可避免地伴随着成长的痛苦,因为参与者慢慢放弃了一些在 10 年来对比特币如何运作的误解根深蒂固的旧的做事方式。但 BSV 生态系统允许这种情况迅速转变。

我们在短时间内取得了长足的进步,但在网络的核心和边缘还有更多工作要做。我们希望以上这些指南将帮助您找到使用 BSV 网络的最有效和最有利可图的方式。