几年前,我把我的BTC从Coinbase发送到了windows PC上的Electrum。这显然很顺利,因为Electrum显示了正确的平衡。然后我收到了12个关键字和一个哈希(从17开始),我一直认为这是我的比特币密钥。我把这些保存在纸上,然后删除了Electrum,我想我在纸上已经有了我需要的一切。
现在我想把我的BTC转到Coinbase。我在Electrum中输入了我的12个种子,平衡是正确的。我在Coinbase中点击{Receive],得到一个窗口,显示Coinbase(?)从Electrum发送BTC的地址。但是这个地址和我以为的私钥是一样的(从17开始)。这很奇怪,特别是因为1)Coinbase怎么还知道这个数字,2)Electrum说[支付]给(我以为是)我的私钥。我错过了什么。我没有很多比特币,但价格太高了,我不可能犯错误并接受教育。
私钥
驻极体
coinbase.com网站
分享
改进这个问题
跟随
1小时前编辑
红砂砖
10k22金徽章1616银徽章3434铜徽章
两小时前问的
驾驶室
1
新贡献者
添加评论
1个答案
0
医生:你所拥有的是
比特币钱包的一个种子短语(在这里你可以照看自己的现金)
与Coinbase帐户相关的接收地址(在该地址中,您让Coinbase拥有您的现金所有权,以换取借据)
你没有私钥(而且你也不需要私钥,只要你把种子短语写在安全的地方——而不是电脑上)
我收到了12个关键词
这几乎可以肯定是一个种子阶段,也称为恢复阶段或备份阶段。
您的主私钥是从该种子短语生成的。
在分层确定性(HD)钱包中,主私钥用于生成多对私钥和公钥。
对于最常见的比特币交易类型,公钥用于生成可将钱发送到的比特币地址。
还有一个散列(从17开始),我一直认为这是我的比特币密钥。
以“1”开头的大约32、33个字母和数字组成的字符串是一种旧式的比特币地址,仍然有效和流行。它是比特币地址,而不是私钥。
要查看一些示例,请查看一些参考页,例如
https://en.bitcoin.it/wiki/Invoice地址
https://en.bitcoin.it/wiki/Privateu key
https://en.bitcoin.it/wiki/Seedu短语
请注意,相同的私钥可以以几种不同的方式(编码、显示格式)显示给您。
从上面你应该可以放心,你所拥有的是一个12字的种子短语为您的钱包和一个无关的比特币地址为您的Coinbase帐户。
分享
Testnet比特币连接被拒绝(111)
1
1
我有一个树莓,我将BTC和闪电节点设置。
我的比特币.conf
测试网=3
比特币选项
服务器=1
守护进程=1
txindex=1
disablewallet=1
连接设置
rpcuser=拉斯皮博尔特
RPC密码=1212431
添加节点=104.237.131.138
添加节点=151.80.205.132
添加节点=192.155.82.123
添加节点=74.220.255.190
添加节点=80.100.203.151
树莓Pi优化
数据库缓存=100
最大TX=10
最大内存池=50
最大连接数=40
最大上载目标=5000
我有来自此线程的addnode:
testnet3节点同步过程非常慢
在getnetworkinfo中:
“版本”:160000,
“颠覆”:/佐藤市:0.16.0/”,
“协议版本”:70015,
“localservices”:“000000000000040d”,
“localrelay”:正确,
“时间偏移”:0,
“networkactive”:正确,
“连接”:17,
“网络”:
“warnings”:“警告:未知的新规则已激活(versionbit 28)”
在调试日志中:
2018-04-24 17:39:51 connect()到85.207.214.190:18333 select()后失败:连接被拒绝(111)
2018-04-24 17:38:16 connect()到[2001:470:c144:cafe::a]:18333失败:无法访问网络(101)
有人知道错误在哪里吗?
我的testnet端口:18333是开放的。
非常感谢你的帮助!
当做
完整节点
分享
改进这个问题
跟随
编辑:2018年4月24日20:18
麻吉弟弟周立铭♦
50.3k44金徽章4444银徽章9898铜徽章
4月24日18:19问
迈克尔·沃格尔
1111银徽章33铜徽章
你花了多少时间?可能需要一段时间才能在testnet上找到对等点。日志中的这两个错误并不少见。–0xb10c 2018年4月24日18:39
好几天。在调试中,是否有i个对等连接:2018-04-24 18:41:24新出站对等连接:版本:70015,blocks=1294178,peer=10 2018-04-24 18:41:24新出站对等连接:版本:70015,blocks=1294178,peer=11 2018-04-24 18:41:25新出站对等连接:版本:70015,blocks=1294178,peer=12是否可以使用此错误切换到mainnet?感谢您的帮助:)–迈克尔·沃格尔2018年4月24日18:57
什么错误?那些调试.log线是非常标准的,你会看到他们作为节点在线转离线。你有活跃的联系,有什么问题吗?–安德鲁·周♦ 2018年4月24日20:17
中的错误调试.log激怒了我。connect()到115.68.73.83:18333 select()之后失败:没有到主机的路由(113)这还不错吗?–迈克尔·沃格尔2018年4月25日5:27
添加评论
3个答案
0
连接被拒绝意味着有东西阻止你访问服务器。
确保您的防火墙允许连接到您的端口,并尝试将此行添加到您的比特币配置:
rpcallowip=0.0.0.0/0
分享
改进这个答案
跟随
比特币cli-rpcbind=0.0.0.0它的工作原理就像魅力
分享
改进这个答案
跟随
2月6日10:56答复
卡尔蒂克
1111青铜徽章
三
这是个坏主意。向世界公开你的控制界面永远不会是安全的。–匿名2月7日9:50
添加评论
-1
尝试将rpcbind=0.0.0.0放入比特币.conf文件,对我有用。
分享
改进这个答案
跟随
8月16日18:20答复
阿兰·罗曼纳托
1841212青铜徽章
1
如果你读到这篇文章,就不要做。它可能会工作,但确实会将节点的远程控制暴露给[您的本地网络和潜在的]世界。–达罗西奥11月2日12:10
它只是一个测试网。–Allan Romanato 20年12月16日20:22
我找到了一个名为:bitcoin-0.3.22的文件夹。如何打开它?
0
我想做一些比特币区块链的研究。因为我想做大量的处理和查找,我需要一个快速的方法来搜索区块链。
Http请求到洞察.io只是不想割断它。。。
我知道ABE,但它似乎不再维持,我不知道它是否达到目前的区块链实施水平。
我正在使用的环境是python。
有什么想法吗?
块链
学术研究
安倍
分享
改进这个问题
跟随
4月6日15:40问
丹尼斯·德科尼
28922银徽章55铜徽章
添加评论
4个答案
2
我在比特币上进行了一个研究阶段(由于这个项目,我开始喜欢比特币)随着12月份alpha软件的发布,我不得不提取信息来构建信息图。
我相信在我看来,有很多方法可以索引信息,但我相信最快的方法是使用相同的技术,使用比特币。
分析器blk文件
以您选择的格式反序列化信息,并将其索引到数据库中
查询数据库并读取相应的文件。
有两件事非常困难
该索引系统的构建
如果你想访问id钱包,你需要建立一个脚本反编译器或使用比特币节点
ps:这是我的经验,可以有其他方法来建立这个信息,我不知道(我的只是一个三年的论文,我的道路才刚刚开始)
这是一个很好的blk解析器,是少数几个与隔离见证兼容的解析器之一。
安倍的项目仍然有效,但他的工作时间似乎无法接受目前比特币的规模
如果你有一台大电脑,这个项目非常快(至少他们这么说)
更新2021
比特币的区块链随着时间的推移而增长,我认为我的工作成果是SpyCBlock在内存RAM方面可以是一个有效的解决方案,我不知道在空间方面。
SpyCBlock提供了不同的反序列化方法,如JSON、事务图和不推荐使用的地址图,这些方法使用Bitcoin核心来实现一些功能。此外,正在开发一种有效地反序列化比特币内存池的方法。
请注意,该软件是一个学术软件,只由我开发,可能会有一些错误,可能很难安装所有的依赖关系,但如果它将编译,它应该是工作与积分比特币数据良好。
P、 S:BlockSci的发展在2020年停止了,我不知道为什么,但我认为是因为它很难与比特币区块链的实际规模相匹配。
分享
改进这个答案
跟随
23小时前编辑的
9月3日20:45答复
文森佐帕拉佐
74711金徽章55银徽章2020铜徽章
添加评论
0
取决于你对什么感觉舒服。
你可以去底层直接查询lebeldb。块索引(每个块的信息)在$DATADIR/blocks/index中,链状态(关于当前最为人所知的链的信息)在$DATADIR/chainstate中。
一种更简单的方法是在本地运行完全同步的比特币,并通过jsonrpc进行查询。在那里,您可以将生成的JSON切块,以满足您的需要。
我还没有完成leveldb查询,但是我希望会有大量的工作要做,因为它只是一个键值存储。
分享
改进这个答案
跟随
4月6日18:11答复
泰利斯K。
37122银徽章77铜徽章
这个想法是尝试和跟踪硬币在很长一段时间内与创新的方法。所以我想即使是比特币也不会真的剪掉它。–Dennis Decoene 4月7日14:05
bitcoind维护的LevelDB数据库实际上都不包含所需的信息。也许像electrs这样更现代的索引软件更合适。–Pieter Wuille 4月7日19:07
这个XRP项目的比特币等价物?–user58807 2019年5月7日15:40
添加评论
0
最快(最简单)的方法是使用我的区块链解析器,它只有240行代码,能够从中提取所有信息blkXXXXX.dat文件文件到简单文本视图。它解析存储在这些文件中的整个原始比特币区块链数据库。
然后你可以很容易地索引你需要的数据,然后为你的学术研究做任何数据操作。例如,您可以自己构建UTXO集,或者进行ECDSA签名或密钥研究等。
另外,如果您检查我的解析器如何处理字节序列,您可以了解数据是如何存储在区块链中的。
我相信这是学习区块链功能最快、最简单、最有用的方法。
分享
改进这个答案
跟随
6月1日16:47编辑
20年5月31日2点26分答复
丹尼斯·莱昂诺夫
64088银牌2121铜牌
添加评论
0
如果你想阅读原始的blkXXXXs,Rusty Russel的比特币迭代可能是最好的选择。
对于更高级的查询,您需要一个索引器。dbc的Rust比特币索引器和Blockstream的改进版electrs是两个截然不同但功能强大的替代品。
分享
改进这个答案
跟随
使用移动硬盘挖BTD的方法
比特币的/dev/null等价物是什么?
哪一个规范的地址是一个合法的地址,没有人可以声称?
地址
分享
改进这个问题
跟随
2012年5月23日17:39
裂土器234
25.9k2727金徽章100100银徽章236236青铜徽章
2
可能相关-bitcoin.stackexchange.com/a/1852/323–ThePiachu 2012年5月23日18:10
添加评论
5个答案
10
也许这个地址可以接受-1111111111111111114olvt2。它的RIPEMD-160散列为0000000000000000000000。
分享
改进这个答案
跟随
回复时间:2012年5月23日18:13
提比亚丘
42.2k2020金徽章130130银徽章336336铜徽章
1
别忘了,每个比特币地址大约有2^(256-160)个私钥,因此它们都不太可能与您指定的地址对应,这意味着这些比特币完全有可能被索取。–Chris Moore 2012年5月23日19:40
三
@DavidPerry是的,但是我们不把比特币发送给公钥;我们把它们发送给160位哈希的公钥。任何公钥具有相同160位哈希的私钥都可以申请资金。可能有大量的私钥可以申请发送到1111114olvt2的资金。几乎不可能找到他们中的任何一个。——克里斯·摩尔2012年5月24日2:43
1
@我明白你的意思了。从统计学上讲,可能存在某个地址没有可能的有效私钥,但每次我试图想出一种方法来找到这样一个地址时,就会想到“计算上不可行”这个短语:P–David Perry 5月24日12时47分
2
为什么是反对票?我要的是“有效的/dev/null”,而不是理论的/dev/null。–ripper234 2012年5月24日4:39
三
只要编一个160位的数字,然后转换成一个地址。除非你已经知道了它们的私钥,或者非常幸运地找到了一个,否则它们都是不可能花费的。至于canonical,你指的是哪个定义?”授权的;认可的;接受的:经典著作或数学。(指方程式、坐标等)最简单或标准的形式。0x0可以说是最简单的。–克里斯·摩尔2012年5月24日6:21
再显示2条评论
6
理论上没有人能断言比特币地址,因为有这么多不同的私钥(256位)映射到每个比特币地址(160位)。
有人提议,应该使用1BitcoinEaterAddressDontSendf59kuE销毁不需要的比特币。
分享
改进这个答案
跟随
编辑时间:2012年5月24日2:45
回复时间:2012年5月23日19:45
克里斯·摩尔
14.3k66金徽章5959银徽章8585铜徽章
1
你说的“理论上没有人能声称”是什么意思?你的“理论”是什么?因为如果你对多项式计算能力使用任何合理的理论,不,多项式代理不能声明这些地址(假设我们正确地为私有和公共地址设置密钥)。例如,这与支持RSA和ECDSA的不可破性的理论是相同的。具体来说,出于实际目的,如您提到的位大小,您需要强制执行2^160的空间,这是不可能的。私钥空间较大这一事实无关紧要。–dionyziz,2015年11月21日14:13
地址1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh是由无效公钥生成的有效地址,该公钥当然符合有效/dev/null的条件
似乎这个地址是由一个特定钱包软件中的一个bug创建的。
顺便说一句,不要烧钱,这是老话的一个缩影,“傻瓜和他的钱很快就会分开。”
关系:
使用了无效的公钥!这怎么可能?(其实不是)
分享
改进这个答案
跟随
编辑:2018年4月23日10:52
4月23日10:30答复
威尔泰克
287822金徽章1010银徽章3838铜徽章
你指的是2011年将2600比特币兑换成“0”的P2PKH交易吗?我不认为那是一个有效的地址。(这是其中一个区块链.info/tx/…)–sr gi 2018年4月23日10:44
@sr gi更新了答案。–Willtech 2018年4月23日10:53
添加评论
0
地址16QaFeudRUt8NYy2yzjm3BMvG4xBbAsBFM的资金无法使用。为什么?是什么使它不同于其他地址?
分享
改进这个答案
跟随
4月23日14:29答复
监控化学品
869155金徽章2222银徽章5353铜徽章
添加评论
0
1Dev1NULLaRGp6BxjBXhCN5xF5CfTkHBbm文件
分享
改进这个答案
跟随
配置了大于默认mempool的节点会自动重新传输从默认mempool中删除的事务吗?
如果一个事务在被包含在一个块中之前被发送并从默认的mempool中删除,但是存在一个大于默认mempool大小的节点,而该节点仍然拥有该事务,那么这些节点最终会重新传输该事务吗?
这是一个政策问题,因此不同的比特币实现可能有不同的行为。我对比特币核心最感兴趣,因为它非常常见,但如果其他节点实现不同,我也会对它们感兴趣。
如果这样的事务没有被重新传输,我也很好奇为什么不能,因为这样的行为似乎是有用的。
未确认交易
内存池
广播
节点策略
分享
改进这个问题
跟随
10小时前编辑的
墨奇♦
51.1k3232金徽章142142银徽章447447铜徽章
11小时前问的
凯西·罗德沃姆
15366青铜徽章
添加评论
2个答案
三
到目前为止,比特币核心重播是钱包级别的责任。任何与比特币核心内部钱包无关的交易都不会重播。
有工作可以改变这一点:https://github.com/bitcoin/bitcoin/pull/21061。这是有道理的,就像现在一样,观察转播是一个非常明显的迹象,表明交易属于钱包,这是一个隐私泄露。
所以我认为简言之,答案是:是的,这是有道理的,但到目前为止还没有做到。
分享
改进这个答案
跟随
11小时前回答的
彼得·维尔
64.9k88金徽章142142银徽章212212铜徽章
添加评论
0
除了比特币核心之外,实际上没有节点群。
不存在转播他人交易的逻辑。
分享
改进这个答案
跟随
11小时前回答的
匿名的
12.9k22金徽章1919银徽章4141铜徽章
有一些非比特币核心节点:硬币。舞蹈/节点#所有节点因为即使是一个节点也可以重播这样的事务,所以我认为其他实现的行为是密切相关的,即使网络上没有太多。–凯西·罗德沃姆11小时前
链接显示总共可能有15个。他们没有真正意义上的人口。–匿名11小时前
添加评论
有人用他的采矿设备给了我btc地雷
1ML如何衡量节点的可用性排名?
是否有1ML节点排名解释?我的节点99.9%在线,但“可用性”在过去3个月从700下降到4000。:(我猜这与频道的数量有某种联系?
雷电网
完整节点
分享
改进这个问题
跟随
编辑时间:5月25日7:31
雷内·皮克哈特
851455银牌2323铜牌
5月24日3点45分被问到
帕夫劳德
2111青铜徽章
你能在1ml上贴一个到那个节点的链接吗?尽管像这样的问题很难回答,因为1ml是如何测量这些数据的还不公开——Rene Pickhardt 5月24日5:48
你好,雷内,谢谢你的关注。这是我的节点1ml.com/节点/…是的,1ml还没有阐明这个问题,我们也没有自己的来源,但可能有任何1ml的开发人员,我们可以问清楚?我把同样的问题发给twitter.com/LNstats网站最近,但看起来这个帐户是由机器人(一些脚本)驱动的,甚至可能与1ml无关
抱歉,这说不通。我的节点的可用性约为400,并且多次脱机。有时甚至几天。你确定你的正常运行时间是99.9%吗?–Rene Pickhardt 19年5月25日7:32
我确定正常运行时间是99.9。我每天从我的宙斯LN手机钱包连接到这个节点,检查节点是否在线。我还使用这个节点在OC商店上生成收据,以展示opencart的LN支付网关的演示。现在我做了uptimerobot.com网站第页,收集100%可靠的正常运行时间。stats.uptimerobot.com/QOMOOIyjq-巴甫洛德5月25日8:58
这个节点只有3个通道,与其他节点的连接很少(最多5个),这可能就是可用性低的原因。我的意思是节点可以不为其他人经常,但仍然在线。我有一个问题,当用户从加州无法连接到我的节点,但节点是在线的。问题解决了,在我连接到他的节点之后。也许是因为乌克兰和美国之间的低超时限制和高延迟:),所以我需要制作更多的本地频道。你怎么认为?-巴甫洛德5月25日8:58
再显示2条评论
1个答案
0
好像找到问题了。我没有转发路由器上的9735端口,因为LND和我的路由器支持UPnP。但是看起来UPnP并没有按预期的那样工作,所以有时主机可以在9735端口上访问,而大多数时候不是:(。
现在我将9735端口转发到我的Raspberry节点本地地址,这样1ML上的可用性就不会下降。
分享
多位私钥还原
浏览684次
1
我备份了我的私钥并将其还原到一个新的Multibit(差分机)副本中。导入成功,但公钥地址尚未用我以前的地址更新。
我做了“检查私钥”,它说这是成功的,以及迫使与区块链重新同步。我以前的交易都没有出现。
有什么想法吗?毫无疑问我做错了什么。
谢谢!
编辑:
感谢您的回复!我查过了比特地址.org我导出的私钥只与我创建新钱包时自动生成的比特币地址匹配。
但我在同一个钱包里输入的旧私钥不见了。多比特公司说这次进口是成功的。如果这是真的,那么导出文件中应该有两个私钥;一个用于自动生成的比特币地址,另一个与旧导入的私钥匹配。
我想在我的原始导出文件中获取私钥并将其粘贴到比特地址.org查看它是否匹配我的公共地址,但我的导出文件已加密。因此,我必须导入到多位,输入密码,然后导出它未加密,以获得私钥。
有人知道不使用多位加密的私钥文件的解密方法吗?
多位
备份
钱包回收
分享
改进这个问题
跟随
编辑时间:6月16日11:10
社区♦
1
2015年5月21日20:58
乔
1111青铜徽章
你是说你的比特币地址不一样?你一定备份了错误的私钥。–Luca Matteis 2015年5月21日21:28
感谢您的回复!我查过了比特地址.org我导出的私钥只与我创建新钱包时自动生成的比特币地址匹配。但我在同一个钱包里输入的旧私钥不见了。(见编辑)-Joe 2015年5月22日19:47
添加评论
3个答案
0
您可以使用bit的脱机副本地址.org根据地址检查私钥。是钱包账单。
分享
改进这个答案
跟随
回复时间:2015年5月22日10:37
吉姆618
32651212银牌1616铜牌
添加评论
0
实际上,使用脱机副本,您可以根据需要将私钥与地址进行比较。它在过去一直为我服务。
分享
改进这个答案
跟随
编辑时间:5月9日6:38
奥斯卡·瑟纳
58244银牌1111铜牌
5月2日22:24回答
艾丽西亚78
122枚青铜徽章
添加评论
0
对于multibit classic,您可以安装openssl并在命令行中使用它来解密加密的私钥文件:
openssl enc-d-p-aes-256-cbc-md md5-a-in多位键-出去密钥.txt-通过’密码:myPassword’
分享
改进这个答案
跟随
抑制采矿池需要什么?
浏览349次
13
2
既然采矿池已经开始达到总采矿能力的51%,那么比特币协议需要怎么做才能降低其成功率,并鼓励在池上使用分布式采矿能力?
采矿池
弱点
财富分配
分享
改进这个问题
跟随
于2014年9月12日16:18编辑
尼克·奥德尔
27.5k88金徽章5858银徽章16116铜徽章
2014年6月13日23:03问
弗布雷托
62111金徽章44银徽章1010铜徽章
类似于:bitcointalk.org/索引.php?topic=652443.msg7314429#msg7314429引入对协议的一些更改,这将使池和矿工无法创建基于信任的契约。–itamarhason 2014年6月15日16:16
添加评论
7个答案
三
一个挖掘池是否拥有100%的总挖掘能力并不重要,只要该挖掘池不能选择其用户处理的事务、阻止他们提交他们找到的块或选择他们从中构建的块。据我所知,比特币协议不需要改变。只有池与其客户端之间使用的协议需要更改。
分享
改进这个答案
跟随
2014年6月15日9:39回答
大卫·施瓦兹
49k55金徽章11101银徽章171171铜徽章
但有些矿坑不能做这些事吗?有些矿坑不是靠矿工在同一个区块工作吗?当阻塞被解决时,它不是由池的系统提交而不是直接向网络广播吗?或者他们是怎么工作的?2014年6月15日12:28
1
你所有问题的答案都是肯定的。我的观点是,问题不在于采矿池本身,而在于今天采矿池的设计方式。–David Schwartz 2014年6月15日14:59
2
但是,问题不在于,采矿池必须选择加入您所描述的系统吗?如果你有一个51%的池,不感兴趣的发挥这些规则,你不是沉没?因此,比特币协议本身必须改变,以要求池改变,而不仅仅是建议池改变。-2014年6月16日下午17:22
添加评论
1
AFAIK在协议中没有什么可以阻止51%的攻击。防止来自矿坑的此类攻击的最佳方法是将矿坑挖沟,然后在其他地方开采。这发生在今年早些时候,当时伽什.伊奥几乎达到51%(来源)。
分享
改进这个答案
跟随
2014年6月14日13:00回答
数学711
141011金徽章1212银徽章2626铜徽章
添加评论
1
采矿池是比特币生态系统的一个重要组成部分,我不认为应该抑制它们。
我们需要做的是消除只在最大的矿坑中开采的固有偏好。这可以通过新的挖掘池奖励框架(如Multi-PPS)来实现。
分享
改进这个答案
跟随
2014年6月15日12:22回答
梅尼罗森菲尔德
19.1K33333银牌6868铜牌
添加评论
1
好吧,我来试试这个。
我们需要比特币系统中的某种“开始工作信息”。例如,当矿工开始处理区块时,他们必须向比特币网络广播部分区块头(减去nonce)。这表明他们已经开始在那个街区工作了。节点(非挖掘节点)会将该部分头存储在内存中(我猜),如果它们从另一个miner接收到相同的部分头,那么这表示与中央授权的池挖掘,所以它们会标记这些头。
当一个块被解决时,如果部分头被标记(多次接收),那么该块被拒绝。如果没有收到部分报头,则拒绝该报头。
好吧,我不是说我已经解决了所有的细节,但以上可能是一个开始。对于让矿工在相同区块工作的采矿池,每个矿工只是尝试一系列临时值,这可能会起作用,因为如果任何矿工广播“开始工作消息”,那么这将阻止池中的任何其他矿工这样做。现在还不完美。如果池中的所有矿工都合作,他们只需等待块被解决,那么池中只需广播开始工作消息,然后广播被解决的块。但是一个叛逃者会毁了他们的命运。
分享
改进这个答案
跟随
2014年6月15日12:59回答
脆弱的
28811银牌1212铜牌
这不是个好主意。A-无法知道哪个矿工最初分发了某个块头。没有人会广播任何东西,直到他们解决了一个块,他们只是广播’部分’头之前广播完整的块。C-这将是很容易的DDOS这样的系统与块头。D-挖掘池可以给每个成员稍微修改一下的工作,这可以通过更改coinbase tx的脚本sig并产生不同的merkle根来完成。-穆尔塞科德1月4日23:37
添加评论
0
在当前比特币协议的范围内,我
停留在当前比特币协议的范围内,真的没有办法做到这一点。目前的情况是,如果矿工们聚在一起工作,他们会定期得到奖励,如果他们单独开采,则很少得到奖励。而且,由于大多数人宁愿每100年获得一次以上的奖励,因此激励矿工们团结起来。
可能值得注意的是,如果池开采真的不可能,那么它可能会对系统的安全性产生负面影响。这是因为规模较小的矿商可能不会做出贡献,因为他们不会经常看到回报。
有一些限制采矿集中化的建议。我将在这里描述其中的两个。多个PPS(https://bitcointalk.org/index.php?topic=281180.0)是另一个,但我对此不太熟悉。
2P功率
Ittay Eyal和Emin Gün Sirer提出了一个名为两阶段工作证明(2P PoW)的提案,试图解决采矿集中化问题-http://hackingdistributed.com/2014/06/18/如何抑制大型比特币开采池/。这句话说明了它的工作原理:
一个两阶段的PoW由一个块组成,其中有两个独立的密码谜题。在两相功率下:
头的双哈希(SHA256(SHA256(header)))小于难度参数X,并且
头用coinbase事务的私钥签名,并且该签名的哈希(SHA256(SIG(header,privkey)))小于第二个参数Y。
第1部分是现在比特币中如何进行挖掘。第2部分使得在coinbase事务中只能使用一个键来收集奖励,并且在第1部分完成后,块头会重复使用该键签名,直到找到哈希值足够低的内容。
第1部分可以由多个矿工共同完成,而第2部分主要由一个人完成(或者由一小群相互信任的人彼此共享采矿私钥–这个密钥获得采矿的所有利润,因此您需要确保拥有它的人不会拿钱就跑)。
通过调整这两个组成部分的难度,可以更容易/更难地集中开采。由于只有矿坑运营商可以完成第二阶段,如果第二阶段变得越来越困难,那么能够完成第二部分2P PoW的矿坑运营商将越来越少,即使他们有数百万矿工在做第一部分。
这似乎是个好主意,除了一件事。我们如何才能以分散的方式确定困难应该如何改变?理想情况下,您可以有一种方法来查看有多少池采矿正在进行,如果一个池有很大比例的采矿能力,那么请提高第2部分的难度。这可以很容易地以一种集中的方式来完成,但是这开始挫败了使用加密货币的全部意义。它可以用一个关于难度计划的硬编码参数来完成,但是如果我们把它弄错了,它要么(1)使区块链非常难以挖掘,每个人都必须单独挖掘,要么(2)使第2部分非常容易,根本没有限制池开采的预期效果。
我不知道有什么2P战俘硬币。这是一个有趣的想法,但似乎没有一个好的方法来以分散的方式改变难度参数,并确保达到限制池集中的预期目标。
签名到我的
从某种意义上说,Sign-to-Mine类似于2P-PoW的第二阶段,尽管它的实现方式非常不同。
Sign-to-Mine(首先由ziftrCOIN实现)基本上消除了块头的nNonce字段,并将其替换为ECDSA签名(R,S)。像往常一样,有效块必须散列(整个头的散列,包括签名)到足够低的值以满足难度参数。但是,还有一个附加规则,即块还必须具有块头的其他部分的有效签名,并使用在coinbase(块奖励)事务中接收付款的公钥进行验证。从本质上讲,Sign-to-Mine使用加密技术来确保矿工能够为开采的区块花费奖励。
Sign to Mine使得开采块的人(产生正确的(R,S)对以使块头足够低)也必须能够花费该块的奖励。因此,您不能再为池运营商进行真正的挖掘,因为您需要一个私钥来挖掘,并且只有挖掘私钥的公钥才能用于从挖掘中获取利润。
希望联合起来开采的矿工可能会单独开采,并分得报酬。不过,这是有问题的,因为当会员不是解禁者时,他/她可能会按份额接受奖励,但当他/她是解禁者时,他/她可能会窃取整个解禁奖励。因此,联合开采是不利的。
如果一个人要参与“从签名到挖掘”的联合开采,那么他/她将希望确保联合开采的其他成员是可信的
Sign to Mine使得开采块的人(产生正确的(R,S)对以使块头足够低)也必须能够花费该块的奖励。因此,您不能再为池运营商进行真正的挖掘,因为您需要一个私钥来挖掘,并且只有挖掘私钥的公钥才能用于从挖掘中获取利润。
希望联合起来开采的矿工可能会单独开采,并分得报酬。不过,这是有问题的,因为当会员不是解禁者时,他/她可能会按份额接受奖励,但当他/她是解禁者时,他/她可能会窃取整个解禁奖励。因此,联合开采是不利的。
如果一个人要参与“从签名到挖掘”的联合开采,那么他/她需要确保联合开采的其他成员是可信的,并且在他们解决区块时公平地分配报酬。
结论
有三个层次的联合开采抑制。
(比特币)没有抑制因素。通过限制报酬差异来激励联合开采。
(2P PoW)一些抑制因素。允许一些池开采,但很难创建不必要的大池。
(对我签字)完全抑制。
如果我们能够(以一种分散的方式)确定有多少联合开采正在进行,那么中间地带2P PoW就太好了。虽然处于中间位置会很好,但存在的唯一完整的解决方案是两极分化的。要么完全允许池开采(比特币),要么基本上取消池开采(签名开采)。
比特币不太可能改变,集中化很可能会受到有责任心的矿商选择不加入过大资金池的限制。不幸的是,这似乎并没有太多地限制集中化。https://blockchain.info/pools
分享
改进这个答案
跟随
2015年1月5日3:11编辑
1月5日0:48答复
莫尔斯编码器
13.1k22金徽章3333银徽章8383铜徽章
添加评论
0
采矿池是比特币最大的问题,我对没人关心这个事实感到惊讶。不能强制挖掘池遵循规则。这将打破不可信任的模式,而这正是比特币的主要优势所在。这将是荒谬的,如果吨千兆瓦特小时花在散列你应该乞求一个采矿池管理员诚实,而不是弥补下一块与假交易。采矿池将是比特币的末日,但很少有人意识到这一点。到目前为止,比特币是高度集中的,其协议并不是为了防止池造成损害而设计的。
分享
改进这个答案
跟随
8月9日14:55答复
维克多·乔拉斯
10111青铜徽章
添加评论
-2
这是我睡觉的时候想到的,我不知道是不是有人提议的:
矿工以常规方式计算nonce,然而,他不是在块中添加普通公钥,而是需要添加一个不安全的公钥,例如,我假设一个公钥只使用32个1和0的字符串生成,通过预制数据库搜索私钥的困难(最快的方式),应该是5-10秒。
当矿工成功挖掘区块时,他/她宣布区块,然后立即使用不安全的私钥触发交易指令,将其奖励移动到他/她拥有的正常地址。网络将硬币从不安全密钥转移到安全/正常密钥,并将收到的第一个订单视为有效。
这将防止大量不信任彼此的矿工,如果池中的一个矿工破解了这个临时消息,他/她就可以轻松地获得私钥并将其作为自己的私钥宣布,然后首先启动事务,从而获得奖励。
私钥长度必须由社区决定,以将获取私钥的时间保持在一定的限制范围内,如果私钥长度过小,则意味着有多人在没有实际开采区块的情况下自行宣布私钥长度,如果私钥长度过长,则意味着池中的矿工不愿意为自己申请私钥。
分享
改进这个答案
跟随
4小时前编辑的
20小时前回答的
米克达迪多里
111青铜徽章
新贡献者
没有所谓的“md5公钥”。Md5是一个哈希函数。——11小时前的皮特·维尔
@谢谢,我已经改正了,如果还有什么错误,我会改正的。如果你发现这个方法有什么缺陷,请告诉我。——6小时前的米奇达迪多里
欢迎来到比特币.stackexchange.com这不是一个讨论比特币协议变更建议的合适场所。您可能希望生成工作代码、示例数据库和数学证明,并将它们提交给更合适的论坛。–RedGrittyBrick 9分钟前