分类
Uncategorized

抑制采矿池需要什么?

浏览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分钟前sskoo区块链比特币www.qkl91.com.com (61)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注