分类
Uncategorized

比特币欺诈/恢复协议提案

-1
比特币是否计划在其协议中实施任何欺诈/损失预防?我刚刚读到一个关于经纪公司如何进行变形交易,以及内部员工如何从客户那里窃取私钥的故事。https://news.bitcoin.com/looting-fox-sabotage-shapeshift/
也听说Bitfinex和Binance有类似的问题。
也许允许节点创建新的/恢复被盗的比特币?还有小偷的过期代币?
限制使用特定公钥/IP地址的任何比特币?
使用信用卡时,我要付几千美元。我的信用卡公司说不用担心,并收回了费用。
我可以看到美国证券交易委员会或联邦存款保险公司(FDIC)在加密方面也有类似的做法,希望比特币社区能够在他们的下一个协议中解决问题。否则,政府监管机构可能会干预。
比特币核心
块链
分享
改进这个问题
跟随
10小时前问的
马特史密斯5
16277青铜徽章
几周前我问过类似的关于保险的问题,但现在我问的是比特币欺诈/资金回收的协议实际解决方案建议——10小时前的mattsmith5
类似于出纳员经常在内部帮助银行窃贼,在比特币钱包公司拥有管理特权的员工,可以盗取私钥,等等theverge.com/2013/12/19/5183356/…——10小时前的mattsmith5
为什么会被否决?努力学习——4小时前的mattsmith5
添加评论
1个答案
1
比特币是否计划在其协议中实施任何欺诈/损失预防?
“比特币”没有任何计划。它是由单个操作员运行的软件节点组成的网络,每个操作员根据事务是否包含在有效链中以及最长的工作证明来决定是否接受事务。
比特币不属于任何人。如果有人提出了改进比特币的建议,他们必须公布这个想法,并尝试让绝大多数比特币验证器运行包含这些变化的软件。

也许允许节点创建新的/恢复被盗的比特币?还有小偷的过期代币?
至于像你建议的那样,有某种后门来恢复比特币交易,我认为几乎所有比特币节点运营商都会果断地说不!比特币交易是不可逆转的,这是一个特征,而不是一个缺陷。
比特币消除了买家欺诈。一旦一个交易被确认过了几个街区,它就绝对不可逆了。一些资金的接收者是否愿意退款是一个单独的问题,仅供各方争议——这与其他比特币用户无关。作为一个消费者,你可能会发现撤销信用卡交易的能力是“可取的”,但接受信用卡支付的企业肯定不会。许多企业因信用卡欺诈而蒙受重大损失,并乐于接受不可逆转的交易。
卖方欺诈问题必须通过第三方escrow等其他方式解决。
至于不能在内部管理数据安全的交易所——这只是他们的问题,而不是比特币网络的其他部分所关心的问题。
限制使用特定公钥/IP地址的任何比特币?
事实上,您不能审查某些事务输出的开销也是一个特性,而不是一个bug。比特币是为每个人准备的。任何旨在审查“欺诈”交易的工具都将不可避免地被用于其他邪恶目的。
我可以看到美国证券交易委员会或联邦存款保险公司(FDIC)在加密方面也有类似的做法,希望比特币社区能够在他们的下一个协议中解决问题。否则,政府监管机构可能会干预。
比特币是由数学和个人决定是否接受一个全球性的真相来源。任何人都可以尝试通过挖掘比特币区块来促成这一事实,而且他们不需要任何许可。不会有任何针对比特币本身的监管——这样的事情是不强制的,完全是愚蠢的。监管机构只能希望接手那些用传统菲亚特(fiat)交换比特币(bitcoin)的业务,而这与比特币协议无关。
而且也没有“他们的下一个协议”。比特币已经在这里了,它在工作,它的规则正在被成千上万的不相关的人执行,他们每个人都认为这个网络中的每一方都有潜在的恶意。这个协议可以而且正在改进,但它肯定不会得到这种后门。任何一种“硬叉”都不太可能被大多数比特币用户接受。
欢迎来到个人责任的新时代。
分享
改进这个答案
跟随
7小时前编辑的
7小时前回答的
标记H
294522金徽章44银徽章1212铜徽章
有趣的是,你上面说的一切都是真的;我有一种感觉,监管机构将参与其中,并将强制对遵守sec规则或面临风险罚款/处罚的公司实体进行更改,或对1000多名员工的公司,有人将披露不合规问题,mattsmith5 7小时前
然而,这些规则不能在个人层面上实施,希望lightning network能找到解决方案,因为如果bitfinex、binance和shapeshift甚至没有个人责任来实施高度加密系统的安全性,祝那些不是计算机专家的普通人好运;比特币可能永远无法进入大型市场,企业也无法进入,政府永远不会让危机白白浪费,为了在下次交易所出现资金损失时行使控制权,感谢mattsmith5-7小时前给出的答案
添加评论

sskoo_blockchain_区块链_比特币_BTC.com (42)

分类
Uncategorized

关于混合安全性的新手问题

如果我运行我自己的节点,并使用混合器匿名我的BTC,它不会被连接,因为交易是从我自己的节点/到?
我的意思是我将BTC从我的节点发送到混合器,然后将其返回到另一个地址,当然,但我正在从自己的节点访问该地址。。。
即使我使用的是TOR,难道没有什么东西可以识别节点并告诉观察者这两个地址有共同点,即我机器上的节点吗?
安全
混合
分享
改进这个问题
跟随
11小时前问的
编码器
10111青铜徽章
新贡献者
添加评论
1个答案
1
从技术上讲,您连接到的其他节点会看到您将事务发送给他们,但他们不知道这是您的事务还是其他人的事务,而您只是在中继它。
可能存在这样一种情况,即有人战略性地将大量节点放置到网络中,并监视特定事务何时到达每个节点,并且可能能够将事务最初来自何处缩小到一小部分节点。
使用TOR会通过混淆IP(识别信息)来限制这种潜在的非符号化
分享
改进这个答案
跟随

sskoo_blockchain_区块链_比特币_BTC.com (41)

分类
Uncategorized

任何人都可以启动区块链交易进入采矿池吗?提问

假设用户A有公钥P和相应的私钥P’。其他人是否可以使用错误的私钥(比如P“”)启动公钥P的事务?一旦它进入内存池,矿工将看到它没有用正确的私钥P’签名,并将拒绝该事务。是这样发生的吗?或者我不能用错误的密钥启动事务?
交易验证
分享
改进这个问题
跟随
编辑时间:10月20日18:54
墨奇♦
53.5k3232金徽章148148银徽章462462铜徽章
5月6日下午13:56问
佐藤崇太
1111青铜徽章
添加评论
2个答案
4
节点存储有效事务的mempool。一个无效的事务永远不会在一个块中,所以无效的事务在网络中存储或中继是没有意义的。您可以使用无效的签名进行无效的事务,但它不会被任何人接受。
分享
改进这个答案
跟随
5月6日14:00答复
匿名的
13.3k22金徽章2020银徽章4141铜徽章
添加评论
1
您可以使用错误的密钥启动事务,但它实际上会在事务到达矿工之前停止。
所有比特币交易都由节点进行审查,以确保它们发送的比特币金额有效,并由正确的私钥签名。如果有任何错误的交易(错误的签名,没有足够的BTC),网络将拒绝它,并可能禁止你24小时。
这是一个相当令人困惑的话题,因为大多数加密内容侧重于解释矿工,而很少关注于解释节点。
分享

sskoo_blockchain_区块链_比特币_BTC.com (40)

分类
Uncategorized

比特币核心:单元测试失败:system\u tests.cpp:第48行BOOST\u AUTO\u Test(run\u命令)提问

克隆了比特币核心并进行了构建。但是,我在system\u tests.cpp的第48行BOOST\u AUTO\u Test(run\u命令)中遇到单元测试失败。
首先,我的环境:
硬件:Intel i7-8550U@1.80GHz 2001 Mhz,4核,8个逻辑处理器,x64。
操作系统:Windows 10主页
工具链:visualstudio2019v142,配置:Release,平台x64。
生成完成时没有出现错误,但我确实收到以下消息:
C:\Users\name\source\repos\bitcoin first\build\u msvc\test\u bitcoin\test\u bitcoin.vcxproj:警告:VC项目不支持项目项中的通配符,可能会导致Visual Studio IDE中的意外行为、不稳定和性能下降。请参阅https://aka.ms/cpp/projectwildcards 支持的选项。
运行test\u bitcoin时,除源系统的run\u命令\u tests.cpp第48行外,所有测试都通过。我得到以下错误:
struct boost::process::process\错误:CreateProcess失败:系统找不到指定的文件。
VS测试资源管理器还提供:
未知位置(0):“run\u command”中出现异常:struct boost::process::process\u错误:CreateProcess失败:系统找不到指定的文件。系统测试.cpp(52):最后一个检查点:
system_tests.cpp中的相关代码(请忽略行号后的任何空格语法问题)。我手动添加了它们,它们没有问题):
48 BOOST\u AUTO\u TEST\u CASE(运行命令)
49 {
50    {
51 const UniValue result=RunCommandParseJSON(“”);
52 BOOST_CHECK(result.isNull());
53    }
54    {
55#ifdef WIN32
56//Windows需要单引号以防止从JSON中转义双引号。。。
57//const UniValue result=RunCommandParseJSON(“cmd.exe/c echo'{\“success\”:true}’);
58 const UniValue result=RunCommandParseJSON(“echo'{\“success\”:true}’”);
59
60#其他
61        // … 但是,如果使用Linux和macOS,它们只会引用一句话
62 const UniValue result=RunCommandParseJSON(“echo\”{\“success\”:true}\“”);
63#结束
64 BOOST_CHECK(result.isObject());
65 const UniValue&success=查找值(结果,“success”);
66增压检查(!success.isNull());
67 BOOST\u CHECK\u EQUAL(success.getBool(),true);
68    }
69    {
70//Boost处理无效命令
71 BOOST_CHECK_异常(RunCommandParseJSON(“无效的_命令”),BOOST::process::process_error,checkMessage);//命令失败
72    }
73    {
74//返回非零退出码,没有输出到stderr
75 BOOST\u CHECK\u异常(RunCommandParseJSON(“false”),std::runtime\u error,checkMessageFalse);
76    }
77    {
78//返回非零退出代码,并显示stderr的错误消息
79 BOOST\u CHECK\u异常(RunCommandParseJSON(“ls nosuchfile”),std::runtime\u error,checkMessageStdErr);
80    }
81    {
82 BOOST_REQUIRE_THROW(RunCommandParseJSON(“echo\”{\”),std::runtime_error);//无法分析JSON
83    }
84//Test std::in,Windows除外
85#如果NDEF WIN32
86    {
87 const UniValue result=RunCommandParseJSON(“cat”,“{\”success\“:true}”);
88 BOOST_CHECK(result.isObject());
89 const UniValue&success=查找值(结果,“success”);
90Ω检查(!success.isNull());
91 BOOST\u CHECK\u EQUAL(success.getBool(),true);
92    }
93#结束
94 }
95#endif//有ŠBOOSTŠ进程
58号线坏了。基于此https://stackoverflow.com/questions/47028660/boost-createprocess-failed,我删除了第58行并添加了以下第57行:
57 const UniValue result=RunCommandParseJSON(“cmd.exe/c echo'{\“success\”:true}’);
再次运行system_tests.cpp可以让我通过CreateProcess失败,但是在system_tests.cpp第48行run_command()中会产生以下失败:
类std::运行时错误:无法解析JSON:“{”success“:true}”。
VS测试资源管理器还声明:
未知位置(0):“run\u command”中出现异常:class std::runtime\u错误:无法分析JSON:“{”success“:true}”system\u tests.cpp(52):最后一个检查点:
我很难相信这个测试是错误的——我没有发现这个失败的原因。相反,我怀疑我没有正确设置某些开关、选项或配置。
任何意见或帮助将不胜感激。

也许下面的方法会奏效。
RunCommandParseJSON(“cmd.exe”,“/c echo'{\”success\“:true}’”);
分享
改进这个答案
跟随
4月4日20:42回答
潘昆
65133银牌1515铜牌
谢谢你的建议。我运行了它,得到了一个类似的运行时错误:class std::runtime\u错误:无法解析JSON:microsoftwindows[Version 10.0.19041.867]。在这里,它看起来像是ehco命令生成了“microsoftwindows[Version 10.0.19041.867]”。而在上一个运行时错误中,它生成了desire字符串{“success”:true}TKChattoraj 4月4日21:29

sskoo_blockchain_区块链_比特币_BTC.com (4)

分类
Uncategorized

Multisig设置-修剪比特币核心的计算机与专用硬件

在个人计算机上运行修剪过的比特币核心节点与在专用硬件设备上运行完整的比特币核心节点(即带Umbrel的覆盆子派、myNode、nodl等)是否存在安全隐患?
比特币核心节点的预期用例是与多大钱包(如Specter、Electrum等)集成。
此场景假定个人计算机配置为通过Tor/VPN(不保存/收集日志)运行比特币核心,如Specter桌面单击设置中所示。在此处输入图像描述
一个非安全性的含义是运行修剪后的比特币核心节点时对个人计算机的性能影响。
比特币核心
钱包
安全
多重签名
完整节点
分享
改进这个问题
跟随
昨天编辑的
昨天问
亚当·赫维茨
9733青铜徽章
添加评论
1个答案
0
完全比特币和修剪节点都可以从比特币核心运行,具有相同的安全级别。
修剪节点有以下区别:
不会在磁盘上保留完整的区块链
大小限制由用户定义
将在同步时丢弃不必要的块数据
正如Bitcoin Talk论坛上的一位用户所解释的,大多数“专用硬件”比特币节点都是围绕比特币核心的软件包装器,这可能比直接运行比特币核心更不安全。
请参阅Multisig Setup-计算机上修剪的比特币核心与专用硬件-bitcointalk.org
分享
改进这个答案
跟随

sskoo_blockchain_区块链_比特币_BTC.com (39)

分类
Uncategorized

比特币客户端如何加密wallet.dat文件?

加密wallet.dat文件的算法是什么?
安全
钱包
比特币核心
分享
改进这个问题
跟随
11年10月24日17:41编辑
D.H.-比特币.se
523733金徽章2727银徽章4444铜徽章
11年10月24日10:40问
提比亚丘
42.3k2020金徽章130130银徽章337337铜徽章
添加评论
3个答案
10
有关详细说明,请参见应用程序的自述:https://github.com/bitcoin/bitcoin/blob/6b8a5ab622e5c9386c872036646bf94da983b190/doc/README
简而言之:
使用EVP将密码短语转换为密钥/iv对,具有动态的轮数
该密钥/iv对用于使用AES-256-CBC加密随机生成的主密钥
钱包密钥的秘密部分然后使用主密钥加密,同样使用AES-256-CBC
分享
改进这个答案
跟随
于2014年8月4日14:32编辑
死亡轴
847922金徽章3333银徽章6464铜徽章
回复时间:10月24日11:31
彼得·维尔
66.9k88金徽章144144银徽章218218铜徽章

嗯,自述文件似乎不时更新,钱包加密说明也不在了。这是你链接到的版本吗?github.com/bitcoin/bitcoin/blob/…–ThePiachu 1月19日20:15
@谢谢你的更新链接,它节省了我几分钟。我更新了答案以反映永久链接2014年8月4日14:33
添加评论
10
皮耶特的回答涵盖了技术细节,所以我不会重复任何一个。我要补充的是,用户应该记住,比特币核心钱包或任何加密功能强大的加密系统中,最薄弱的一点是密码短语。系统将密码短语转换为AES-256密钥,该密码派生密钥用于加密随机生成的主钱包密钥。主钱包密钥不能被暴力强制,除非PRNG被泄露或有缺陷,但是攻击者可以尝试暴力强制密码短语本身。
客户端通过使用salt(随机数)和多轮散列来增强对该攻击的抵抗力。salt防止了预计算攻击,因为相同的密码短语和不同的salt将产生不同的密钥。使用多轮哈希可以减缓暴力攻击,因为攻击者还需要对尝试的每个密码短语执行多轮哈希。

客户端使用动态密钥强化。这意味着轮数根据客户端的计算能力而变化(以使加密或解密时间保持在1秒以下)。硬件的计算能力越强,执行的回合就越多,暴力破解密码就越困难。当您更改密码短语时,客户端将根据当前硬件的计算能力调整动态轮数。通过定期更新密码,可以确保密码派生密钥符合摩尔定律。
通过使用盐键硬化和键拉伸只能走这么远。如果您的密码是“p@ssw0rd!” 或者其他一些已知的常用密码,对钱包进行暴力破解仍然是微不足道的。为了说明为什么让我们假设攻击者拥有每秒可尝试100M哈希的硬件,而您的钱包使用100000轮哈希。这意味着攻击者的硬件(100M哈希)每秒可以尝试1000个密码。因此,钱包确实减慢了攻击者的速度,但如果密码很弱,那么它就不能减慢足够的速度。有一些以前被泄露/盗用/黑客攻击的密码列表,公开的密码有上千万个。如果没有密钥拉伸,攻击者可以在不到一秒钟内尝试所有可能的已知密码。关键的伸展运动会把速度减慢到几个小时。另一方面,让我们假设你的密码是未知的,足够强大,与一个单一的哈希平均需要一天的暴力。10万发子弹,时间增加到几个世纪。
分享
改进这个答案
跟随
9月29日15:36编辑
索基尔五世ærge公司
77566银牌2323铜牌
回复时间:2011年10月24日13:20
死亡轴
847922金徽章3333银徽章6464铜徽章
6
我想补充一点,密码短语之所以被称为密码短语是有原因的。使用“这是一个非常长但非常简单的密码短语要记住”比“更安全”fl@a%%zG“,即使使用字典攻击。”托马斯·博尼尼10月24日16:13
5
@安德烈亚斯博尼尼:感谢你的评论,这个特殊的密码短语现在将成为字典的一部分;-)-2011年10月25日下午1:20
添加评论
0
那么,我们是说,通过十六进制编辑器查看wallet.dat中的主密钥和加密私钥,以及正确的密码短语,是解密私钥所需的全部吗?这与2012年左右的钱包文件有关。
分享
改进这个答案
跟随

sskoo_blockchain_区块链_比特币_BTC.com (38)

分类
Uncategorized

比特币钱包网站提问

我是比特币新手。我正在开发一个PHP网站,让用户在我的网站上建立他们的钱包。我想给每个用户一个钱包。我不想给用户私钥。我有私钥,所以他们所有的比特币都是我的。如果每个人都想使用自己的比特币,他/她需要发送取款请求,我会处理。我想能够发送用户的比特币一次交易和一笔费用。所以,如果我给每个用户一个新地址,比特币就会有变化(每个地址都有一点变化)。所以花这些钱需要很多费用。我该怎么办?我正在使用blockcypher的API。有没有其他API可以帮忙?为了达到上述目标,我应该做些什么?谢谢。
钱包
交易费用
方块字
分享
改进这个问题
跟随
2018年3月11日14:29问
梅萨姆瓦利安
12133青铜徽章
比特币表明不需要银行。你想成为银行。。。。正确的?如果你把硬币存放在多个地址,你就得付手续费。你不能再做别的了ndsvw 2018年3月11日16:43
@Alpha:例如在blockchain.info中,有一个钱包和许多与钱包相关的地址。如果您向其中一个或两个地址付款,比特币将集中在一个地方,您可以在一次交易中使用它们。我的问题是blockchain.info如何做到这一点Meysam Valueian 2018年3月11日17:05
是的,那是可能的。您可以添加多个UTXO。几乎每个钱包都支持这一点,但我无法解释它到底是如何工作的ndsvw 3月13日7:26
添加评论
1个答案
0
你必须在这里发挥创造力。
步骤1)获取未使用的输出。https://bullpay.com/docs#GetUnspentOutputs 您可以从多个钱包构建未使用的输出。只要你有私钥,就可以做到。步骤2)构建已签名的事务。https://medium.com/coinmonks/how-to-create-a-raw-bitcoin-transaction-step-by-step-239b888e87f2 步骤3)发送已签名的交易。https://bullpay.com/docs#SendTransaction 或者使用节点。
您要重复的部分在步骤2中。使用各自的私钥构建输入。这里棘手的部分是等待足够长的时间有多个输出,以保证通过这一切。
分享
改进这个答案
跟随

sskoo_blockchain_区块链_比特币_BTC.com (37)

分类
Uncategorized

为什么比特币在支持lnd的时候必须收听公共互联网?

我一直在尝试建立一个系统来发送和接收闪电网络支付的一部分。系统使用比特币核心(bitcoind)和lnd。最初,这个系统建立在家庭网络上,在NAT后面,因此bitcoind和lnd都不能监听来自公共互联网的传入连接。在这个初始配置中,可以使用lnd发送付款,但它不能接收传入的付款。
在故障排除过程中,我们将比特币移到了NAT之外的服务器上,这样它就有了一个公共IP号,并为入站连接打开了端口8333。lnd服务器仍在NAT后面,并且没有为入站连接打开任何端口。突然,系统开始工作,我们可以收到闪电网络的付款。
所以我们解决了问题,但我有点困惑,为什么这真的有效。这只是侥幸吗?或者,比特币节点需要能够接收入站连接才能正确支持lightning网络节点的原因是什么?
比特币核心节点照明网络守护程序
分享
改进这个问题
跟随
三小时前问的
米凯尔·林克维斯特
13544青铜徽章
添加评论
1个答案
最活跃的投票
0
您的体验是巧合,在使用lightningd时,bitcoind不需要监听公共接口。
分享
改进这个答案
跟随
3小时前回答的
匿名的
13.3k22金徽章2020银徽章4141铜徽章
添加评论

sskoo_blockchain_区块链_比特币_BTC.com (36)

分类
Uncategorized

如何收购BTC公司

除了在交易所购买BTC,我还有其他选择吗?
为什么我要问,我们想收购BTC作为一个公司,是不是在英语国家。
因此,所有的文件都必须翻译,然后发送到交易所,以便创建一个商业帐户-你有这样做的经验吗?
同时,有没有合法的方法来收购BTC作为一个公司你有这样做的经验吗?
谢谢大家的信息!保持健康
交易所
商业
分享
改进这个问题
跟随
11月3号20点15分26分被问到
塞兹纳姆·普索沃
1111青铜徽章

您好,Seznam\u psovod,如果您可以分享您所在的国家,这可能有助于人们回答您的问题墨奇♦ 11月3日18:51
添加评论
1个答案
0
还有其他选择吗?简而言之:是的。找一个有比特币的人,然后出价。交易就是这样运作的。交易所将风险降至最低,并集中交易。但他们并不垄断。
英语不是大多数交流的唯一选择。如果你找不到一个支持你的语言,你必须翻译,当然。
正如默奇已经指出的,合法性取决于你来自哪里。所以,来看看比特币在你们国家是否合法。另外,我强烈建议你向律师咨询法律意见。
分享
改进这个答案
跟随
回复时间:11月5日14:53
皮斯贾特布林
6388青铜徽章
添加评论

sskoo_blockchain_区块链_比特币_BTC.com (35)

分类
Uncategorized

如何查看我的私钥bye decrypted wallet.dat

如何解密我的钱包.dat(是的,我知道密码),以便我可以看到我的私钥?如果有人能帮上忙,就有一个长期合同给他们
私钥
奥特币
钱包回收
钱包.dat
分享
改进这个问题
跟随
22小时前问的
阿尔莫斯
1
新贡献者
如果这是比特币核心,您可以在19小时前从控制台或cli输入密码并使用dumpwallet–RedGrittyBrick
添加评论
4个答案
1
如果您使用的是比特币核心:
1-进入窗口>控制台
2-类型列表
3-您将得到一个地址列表,其中包含可消费金额
4-复制其中一个地址
5-在此处键入dumpprivkey粘贴您的地址
分享
改进这个答案
跟随
16小时前回答的
苜蓿枯萎病
13711银徽章99铜徽章
你可能误解了我的意思,我想解密wallet.dat文件,而不是在10小时前使用控制台
添加评论
0
为什么删除/禁用我的评论?
分享
改进这个答案
跟随
1小时前回答
阿尔莫斯
1
新贡献者
您正在将评论作为答案发布。它们正在被转换成实际的评论(你可能没有创建自己的权限)Pieter Wuille 1小时前
添加评论
0
”版主已删除此帖子,无法取消删除”??为什么?
分享
改进这个答案
跟随
1小时前回答
阿尔莫斯
1
新贡献者
添加评论
0
“你可能误解了我,我想解密wallet.dat文件而不是使用控制台”这是我的评论
分享
改进这个答案
跟随

sskoo_blockchain_区块链_比特币_BTC.com (34)