1. 主页
  2. 文档
  3. Monero-Doc 门罗币教程
  4. 第七章 底层技术
  5. 2 MoneroPulse

2 MoneroPulse

什么是MoneroPulse?

Moneropulse是紧急检查区块链的基础设施。

它的目的是减轻共识错误(比如2014年的这个错误)导致的链式分裂。

实际上,MoneroPulse 操作员可以公布他们认为有效的分支(fork)。 从技术上讲,它们发布的“检查点”是块哈希(block hash)和块高度(block height)。

默认情况下,当 MoneroPulse 检查点与它所处的 分叉(fork) 不匹配时,Monero 全节点会向向用户发出警告。 错误将以红色显示在日志和控制台中。

用户可以随意丢弃它。 不过,理想情况下,用户应该去向社区咨询正在发生的事情,并就是否遵循与检查点的兼容分支或默认分支做出明确的决定。

用户还可以通过 — enforcement-dns-checkpointing 选项把设置检查点到 monerod。 在不匹配的情况下,monerod 将通过几个区块返回本地区块链。

最终,替代(“ 固定”) 分叉/(the alternative (“fixed”) fork)将变得更重,节点将跟随它,留下无效分叉。 对于无人参与的全节点,建议使用此选项。

总之,单脉冲是一种紧急检查点机制。 对于用户来说,它是可选的。

 

MorneroPluse是基于 DNS 的

这些 ckeckpoint 以 DNS TXT 记录的形式存储在 MoneroPulse 操作员拥有的域名中。

为了实现这个想法,你可以使用任何 DNS 客户机手动访问检查点:

试试:

dig -t txt checkpoints.moneropulse.net +dnssec

结果: (cut)

答案部分:

;; ANSWER SECTION:
checkpoints.moneropulse.net. 299 IN  TXT  "1288616:875ac1bc7aa6c5eedc5410abb9c694034f9e7f79dce4c60698baf37009cb6365"
checkpoints.moneropulse.net. 299 IN  TXT  "375000:c80c23e387585e12ffb6649d678e9ba328181797b9583a6d8911b77e25375737"
checkpoints.moneropulse.net. 299 IN  TXT  "325000:4260d56368267bc2a70dd58d73c5ecf23b4e4d96e63c29a868e4a679b0741c7f"
checkpoints.moneropulse.net. 299 IN  TXT  "233000:4f69bec2af6c0852412bdd10c19e6af10c8d738fe2618b5511a98efd03ab477e"
checkpoints.moneropulse.net. 299 IN  TXT  "450000:4d098b511ca97723e81737c448343cfd4e6dadb3d8a0e757c6e4d595e6e48357"
checkpoints.moneropulse.net. 299 IN  TXT  "250000:f59d31839bd909ec8830b4f7f66ff213f0bd006334c8523daee452725e5c7a79"
checkpoints.moneropulse.net. 299 IN  TXT  "550000:c2e80a636438bd9f7a7ab432a6ad297e35540d80ff5b868bca098124cad2ff8c"
checkpoints.moneropulse.net. 299 IN  TXT  "650000:1d567f2b491324375a825895c5e7b52857b38e4fed0e42c40909c2d52240b4e0"
checkpoints.moneropulse.net. 299 IN  TXT  "800000:2ced10aa85357ab6c14bb12b6b56d1dde28940820dda30911b73a5cc9a301760"
checkpoints.moneropulse.net. 299 IN  TXT  "850000:00e2b557dde9fd4a9e2e3dd7ddac962f5ca475eb1095bc50aa757fd1218ab0a5"
checkpoints.moneropulse.net. 299 IN  TXT  "900000:d9958d0e7dcf91a5a7b11de225927bf7efc6eb26240315ce12372be902cc1337"
checkpoints.moneropulse.net. 299 IN  TXT  "913193:5292d5d56f6ba4de33a58d9a34d263e2cb3c6fee0aed2286fd4ac7f36d53c85f"
checkpoints.moneropulse.net. 299 IN  TXT  "913269:f8302e6b8ba1c49aad9a854b8d6c79d8272c6239dcbba5a75ed0784c1d4f56a1"
checkpoints.moneropulse.net. 299 IN  TXT  "350000:74da79f6a136969abd6364bd3d37af273c408d6471e8ab598e80569b42415f86"
checkpoints.moneropulse.net. 299 IN  TXT  "400000:1b2b0e7a30e59691491529a3d506d1ba3d6052d0f6b52198b7330b28a6f1b6ac"
checkpoints.moneropulse.net. 299 IN  TXT  "500000:2428f0dbe49796be05ed81b347f53e1f7f44aed0abf641446ec2b94cae066b02"
checkpoints.moneropulse.net. 299 IN  TXT  "600000:f5828ebf7d7d1cb61762c4dfe3ccf4ecab2e1aad23e8113668d981713b7a54c5"
checkpoints.moneropulse.net. 299 IN  TXT  "700000:12be9b3d210b93f574d2526abb9c1ab2a881b479131fd0d4f7dac93875f503cd"
checkpoints.moneropulse.net. 299 IN  TXT  "300000:0c1cd46df6ccff90ec4ab493281f2583c344cd62216c427628990fe9db1bb8b6"
checkpoints.moneropulse.net. 299 IN  RRSIG  TXT 13 3 300 20180922151845 20180920131845 35273 moneropulse.net. 8CyqtsM2f9o6OHZYqtGPVf+8gcFM+eUyoMi29LlkcLtK1AXbZlKqCcdN NvdvB+4OzepmpTanSc+TbLWbz/sIzA==

请注意最后的 DNSSEC 签名条目。

检查点被镜像到几个 DNS 服务器上:

Mainnet(主网):

checkpoints.moneropulse.se
checkpoints.moneropulse.org
checkpoints.moneropulse.net
checkpoints.moneropulse.co

Stagenet:

stagenetpoints.moneropulse.se
stagenetpoints.moneropulse.org
stagenetpoints.moneropulse.net
stagenetpoints.moneropulse.co

Testnet(测试网):

testpoints.moneropulse.se
testpoints.moneropulse.org
testpoints.moneropulse.net
testpoints.moneropulse.co

 

MoneroPulse作为攻击途径

值得注意的是,MoneroPulse 不生产区块(blocks),也不能自己分割链(chanins)。 它只是建议有效的fork。

如果 MoneroPulse 完全被攻破,攻击者可以通过向所有自动执行节点(auto-enforcing nodes)提供假检查点来阻止它们前进。 这可以 DNSSEC 和运行多个域名来部分缓解。 Monero 期望各个域的检查点是一致的。 因此,妥协(损害?)一个域名或注册商不应导致任何干扰。

在可能引起争议的硬分叉(hard fork)问题上,MoneroPulse 还增加了运营商的话语权。 尽管用意良好,但这有效地将更多权力集中到核心开发人员手中、或者集中到那时正在运行MoneroPluse基础设施的人手中。

 

谁是Moneropulse的操作员?

Moneropulse 由选定的核心开发人员操作。

 

修正“WARNING: no two valid MoneroPulse DNS checkpoint records were received(警告: 没有收到两个有的Moneropulse DNS 检查点记录)”

这意味着您正在使用的 DNS 服务器不知道检查点安全查询所需的 + dnssec 标志。

默认情况下,您的操作系统将使用 Internet 服务提供商提供的 DNS 服务器。

若要修复此警告,请在网络配置中更改您的 DNS 服务器,或者专门为 monerod更改您的DNS服务器 。

许多人发现谷歌或 Cloudflare 的 DNS 服务器优于他们的 isp 提供的服务器。

使用 Google DNS:

DNS_PUBLIC=tcp://8.8.8.8 ./monerod

使用 Cloudflare DNS:

DNS_PUBLIC=tcp://1.1.1.1 ./monerod

 

参考


本章内容由 xie 翻译制作,欢迎打赏作者。 xie 的门罗币钱包地址 为:

44EEzgAEWX56TtBrtphumDE9T9jLbgkd49eVUG2KPr843ejuTt4gMN74NySTs8WT9JXCHPqudjLVhYWUqL5rh72E4HbPqnS


我们要如何帮助您?