首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

布道区块链 如何额外保护加密钱包

无论是银行里的保险箱,还是奶奶床底下的一个袋子,我们的钱从来就不是完全安全的。加密货币也不例外。Shifrodengi频道的作者准备了一个专栏,在专栏中他分享了他对如何提高钱包的保护水平的意见,以专门为decenter的读者存储加密货币。

在本指南中,我不会按类型写下安全提示列表,例如“不要将您的私钥传输给任何人”、“进行备份”和“小心”。我假设您已经完全理解了这一点,并且能够胜任地处理加密货币的存储和使用。

这篇文章将是关于您的钱包保护的额外保护,这将节省金钱,即使您的私人钥匙已经落入入侵者的手中。

你可以问,“这怎么可能?”最重要的是,在比特币、以太坊币和其它Altcoins中,有一种机制允许您以更高的交易费用终止另一个未确认的交易。例如,在比特币中,这种机制被称为“费用替代”。

通常,在需要将同一笔交易发送给同一收件人,但佣金更高的情况下使用RBF,只是为了加快确认过程。但很少有人知道你可以改变收件人,创造一个有竞争力的交易!如果一切都做得正确,而且你很幸运,你的竞争性交易将被包括在之前的区块中,并且第一个交易将被拒绝作为一个尝试双重消费。

关于2个BTC如何被拯救的真实故事

“不知怎的,我们的支付网关被黑客入侵,2个BTC计划退出。该版本的网关的佣金为0.0001BTC,当时相当低。这段时间足以解决所有问题,并通过将佣金提高到0.1BTC来取代交易。因此,我们的交易被更快地确认,攻击者没有收到任何东西,”文章的作者说,这篇文章讨论了一个正在使用比特币网络的RBF机制进行的实验。

替换以太坊中的事务

在以太坊也可以这样做吗?与比特币中输入和未使用输出(utxo)的会计模型不同,以太坊使用“世界状态”来确定每个账户的余额。为了创建一个竞争性事务,它必须与攻击者的事务具有相同的nonce。

nonce向矿工和节点指示事务的顺序,并相应地指示如何更改“帐户状态”。第一个事务具有较低的nonce参数。如果有两个事务具有相同的nonce,则只取块中第一个包含的事务。

大多数以太坊钱包不允许您使用同一个nonce发送事务,但这可以通过web3.js(用于与以太坊节点交互的官方库)完成。

你可能只有15秒

困难不会就此结束。15秒是在以太坊网络中挖掘新数据块的平均时间。在正常的网络负载和正常的佣金情况下,攻击者对该区块进行交易的预期时间为30秒。

当然,如果网络过载,并且交易确认非常缓慢,例如,在最活跃的人群销售期间(如Bancor和Status),那么您的响应时间可以增加到几个小时甚至几天,这可能非常有用。

事实证明,在以太坊网络中,平均每天有30秒的时间:

确定新的传出事务已从您的地址出现在mempool中;

创建一个具有竞争力的交易,同一个nonce,但佣金更大,并指出您的备份钱包作为收件人。

显然,没有自动化,我们几乎没有机会。下面,我们将讨论实现这种自动化的可能性。

在您的以太坊钱包上设置警报

要创建自己的系统来应对盗窃,您需要:

一个节点或服务,它不断地监视内存池,并从您的地址查找传出的事务,在发生危险时,以Web搜索或推送通知的形式发出警报。

一种全天候工作的计算机或钱包设备,它将处理Webhook或推送通知,并创建一个竞争性交易,以将所有资金提取到某个备份地址,包括所有ERC20或其他代币。

监控内存池

要检查mempool,可以独立地提升geth节点,使用node.js和web3.js编写脚本。以太坊节点的资源密集型维护平均每月花费70美元。另外,请注意,以太坊区块链现在重约100GB。

另一种方法是利用一些现成的服务来监视指定地址的区块链。例如,myeth.io。该服务每15秒检查一次以太坊和比特币网络内存池,并向电报发送出现任何交易的即时通知。可以添加多达50个地址进行同时监控。

安装电报bot@myeth_bot,输入您的eth或btc地址,并接收电报上所有交易的通知。此外,对于特定的地址,您可以配置Webhook,它将在传出事务的情况下立即发送。

Webhook是一个用户可配置的HTTPURL,允许您在任何用户需要的地方传输数据。Webhook的存在扩展了任何系统的功能。例如:https://webhook.site/f7c55e64-4809-40f3-9ea0-boa7daec3cf6。

只需发送你的webhook的网址就可以了。之后,当发生传出或传入事务时,Webhook将自动作出反应。

理想情况下,我只想安装一个移动应用程序,通过推送通知生成一个有竞争力的事务。但不幸的是,现在市场上还没有这种功能的手机钱包,但我相信它们很快就会出现。此外,已经有了SDK开发,人们可以独立地为开源钱包创建这样的功能。

另一种方法是使用非断开连接的家庭计算机或VPS,它将旋转Webhook处理程序,该处理程序将启动一个自脚本命令来创建一个具有竞争力的事务。

在以太坊中创建竞争性交易的脚本可以使用库web3.js写入node.js,该库提供了与以太坊区块链交互的API。为了不提升节点,可以从infura.io连接到公共节点。

比特币的选择范围更广。您可以使用JS库(如bitcoinjs)或bitpay或python库中的解决方案编写脚本以创建具有竞争力的事务。在位节点上可以找到公共节点。

正如您所看到的,加密技术对于自动化和对钱包的额外保护有着有趣的可能性。另外,一些区块链在主协议层实现了保护和保险功能,例如,在EOS中,被盗资金可以通过内置的套利机制返还。

但愿人此文能为您提供关于额外保护和监视您钱包的有用信息。谢谢您的阅读!

本文所呈现的内容可能包含作者的个人意见,并受市场条件的限制,不构成投资建议。在投资加加密货币之前,请您先做市场调查,仔细斟酌。布道财经及作者本人对您个人经济损失不承担任何责任。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190124A12FCJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券