1. 链一财经首页
  2. 资讯

《The Book of Satoshi》中本聪之书中文版连载(十九)

《The Book of Satoshi》

原作者:PHIL CHAMPAGNE

中文翻译:陈雪刚

《The Book of Satoshi》中本聪之书中文版连载(三)

五十五、论比特币矿业资源浪费问题

比特币开采浪费资源的论点经常在媒体上报道。如果中本聪不是匿名并且仍然参与其中的话,对他的采访将不可避免地包括这个问题。因此,看到他可能给出的答案在这些帖子中提出的是有启发性的。

比特币挖矿是热力学的

“首先让我说比特币是一个了不起的项目,我对其实施和目标印象都非常深刻。从阅读这些论坛可以理解,关于比特币经济的设计和运作的辩论最终有助于加强它,所以我希望这些评论是以这种精神进行的。 *编辑 – 通过进一步的研究和讨论,我相信比特币与大多数传统货币相比实际上是高效的,因为支持政府发行的法定货币所需的基础设施代表了比比特币的CPU功耗更大的资源投入。我正在促使这个主题活跃,因为它已经产生了很多有趣的讨论。

我认为比特币经济所需的能源投入量是其增长的严重障碍。 从长远来看,交易可能比在这方面更加严肃,但我现在将讨论铸造,因为它更精确地进行了限制和定义。通常而言,比特币的价值在某种程度上与所需的电力价值相关的想法通常被接受,但这种关系的确切性质是有争议的。

有一种观点认为,任何选择生成比特币的人实际上都会选择用电/计算资源购买比特币,而且因为那些认为比特币是最大化他们的效用的人实际上在做出这样的选择,他们认为比特币至少对发电机有“价值”高。一个截然不同的论点是,生产成本与市场价值不同,最客观的衡量标准是当前市场转换价格为更具流动性和广泛交易的货币,如美元。

我的观点是,这两个论点都忽略了重点和真正的问题,即在为铸造过程生成获胜区块时浪费大量能量和计算的根本原因。铸造过程的存在是因为实际上“打印”货币的必要性,以及加密数学的某些理想特性使货币的行为可预测。目前的铸造过程需要大量的计算工作能量输入这一事实是非常不幸的,并且具有这样一种反常的后果:比特币实际上可能是“摧毁财富”,浪费能源产生的数字对象价值低于投入其中的资源。

正如人们经常指出的那样,货币不一定具有或不一定具有任何固有价值——交换媒介是一种有用的工具,纯粹是社会习俗的结果。在消耗的电力中生产比特币的成本代表了浪费,这是货币必须承担的“热力学负担”。考虑一下一种称为“compucoin” 的假设替代数字货币,它从网络上的节点购买cpu周期。该货币的市场价值将与产生cpu周期所需的电力成本密切相关。而不是将cpu周期计算到成本,cpu周期的比特币可以交换的价值将为货币的价值创造合理的基础并将其与现有市场整合。我认为比特币的替代品(其中许多可能共享很多比特币的源代码)将不可避免地出现,比特币目前的铸造过程使得货币在能源投入方面“昂贵”。我认为这使其处于对其他货币的竞争劣势,并且只能阻碍其广泛采用和考虑长期价值。*编辑——如上所述,我现在对比特币长期持乐观态度。我仍然认为compucoins会是一个很酷的主意!”——gridecon, August 06, 2010, 01:52:00 PM

回复:比特币挖矿是热力学相悖

中本聪:August 07, 2010, 05:46:09 PM

这与黄金和黄金开采的情况相同。黄金开采的边际成本往往接近黄金价格。黄金开采是一种浪费,但这种浪费远远低于以黄金作为交换媒介的效用。

我认为比特币的情况也是如此。比特币实现交换的效用将远远超过用电成本。因此,没有比特币将是纯浪费。

“总的来说,我也不同意比特币生成的高计算负担实际上是当前系统的必要性的想法。据我了解,货币创造从根本上按时间计量 —— 如果这是基本的控制变量,那么每个人在给定的时间内“需要多少骰子滚动”的需要是什么呢?比特币所有权和交易的“证据链”不依赖于产生比特币的方法。”——gridecon on August 06, 2010, 04:48:00 PM

每个节点对网络的影响与其CPU功率成正比。向网络显示您拥有多少CPU能力的唯一方法就是实际使用它。

如果还有别的东西,每个人都有一定数量的东西,我们可以算作一人一票,我想不出来其他方法。IP地址。。。 比CPU更容易获得很多。

我想有可能在某些时候测量CPU功率。例如,如果CPU功率挑战每10分钟仅运行1分钟。你仍然可以在给定时间证明你的总功率而不是一直运行它。我不确定如何实现。对于当时不存在的节点,没有办法知道过去的链实际上是在9分钟休息的工作周期中生成的,而不是背靠背。

工作量证明具有很好的特性,可以通过不受信任的中间人传递。我们不必担心沟通的监管链。谁告诉你最长的链条并不重要,工作量证明就能说明问题。

回复:比特币挖矿是热力学相悖

中本聪:August 09, 2010, 09:28:39 PM

如果你需要加热你的家,那你的电脑是不会浪费热量的。如果你在住的地方使用电热,那么电脑的热量并不是浪费。如果您使用计算机产生热量,则成本相等。

如果你有比电更便宜的加热,那么浪费只是成本的差异。

如果是夏天你正在使用A / C,那么它是两次。

比特币的产生最终应该是最便宜的。也许在寒冷的气候,那里有电热保暖而且它基本上是免费的。

回复:比特币挖矿是热力学相悖

“我认为讨论最终失去了激励僵尸网络创建者在他们的业务中投入更多资源的道德问题,以防比特币产生的价值与僵尸网络的当前使用相当。如果比特币操作将胜过其他活动?你怎么能想象,僵尸网络建设过程是以一种有益于社区的方式完成的呢?”——throughput, August 10, 2010, 12:27:30 PM

“作为诚实节点参与网络可以帮助每个人。

是的,但只有当它不违反计算机所有者的意愿时,他才支付电费。

如果是,那么他就会因为100%CPU负载而导致额外的功耗而损失钱。

因此,比特币激发了从无辜的计算机所有者窃取计算能力的行为。

 那么,你现在可以尝试将社会危害与收益进行比较,但你真的觉得自己有道德上的权利吗?”——jgarzik on August 06, 2010, 07:53:25 PM

回复:比特币挖矿是热力学相悖

Gavin Andresen, August 10, 2010, 09:26:14 PM

当然,在完全相同的方式下,信用卡的存在激发了从无辜的信用卡用户窃取信用卡号码的行为。

或者银行账户的存在促使黑客试图闯入您的系统以查找您的银行账号。

或者汽车的存在激励了一些人从无辜的服务站所有者那里偷汽油。

我相信比特币的好处将超过伤害,我更加相信我有能力做出道德判断。我可能错了,我可能会后悔自己参与其中,但如果我做过的事情我100%肯定能够做到最好,我永远不会做任何新的和有趣的事情。

五十六、关于具有纯哈希记录的交替类型的区块链

在这里,中本聪认为有趣的建议被讨论了。这个建议依赖于在区块链中提供更少的信息,目的是提供更高的水平。

不是一个建议

“正如一些人可能已经注意到的那样,让我误解比特币的一个原因是整个交易历史完全是公开的。我完全理解这简化事物的好处,让每个人都能轻松证明比特币是有效的。

所以这不是改变比特币的建议。相反,它是一个关于什么是可能的,哪些是不可能的问题。

一般的问题是,阻止列表是否可以以不在列表中存储完整交易的方式实现?具体来说,*也许*可能只存储阻止列表中的输入,输出的哈希值。这些将在阻止列表中加上时间戳(公证),与现在的完全一样。

主要区别在于比特币接收者有责任存储完整的交易。也许他可能必须存储以前的交易(X)以显示历史记录。

然后,当他想将比特币转移到下一方时,他将完全按照现在的方式创建交易,除非他必须将交易前提交给交易进行验证。对于验证,输入的每个前提都将被散列并验证为区块列表中存在的。输入将在区块列表中进行散列并标识为尚未花费。然后,交易将按照当前的步骤进行验证。如果所有内容都经过验证,则会将额外的输入/输出哈希值添加到区块中。这将关闭交易的输入,并将新的输出哈希标记为未使用。

一旦节点完成该区块(通过赢得哈希竞赛),他然后将哈希区块和相关交易+前一个广播到其他节点的区块来进行确认和接受。

一个粗略的例子:

{block-9

hash-a, hash-b, hash-c, hash-x

}

{block-12

hash-a, hash-y, hash-c, hash-d 

{block-17 

hash-b, hash-d, hash-e, hash-z, hash-f 

}

{Transaction

{in-points: hash-x, hash-y, hash-z} 

{address, signature and other transactions stuff} {out-points: hash-payed, hash-change  

}

{generating-block 

hash-x, hash-y, hash-z, hash-payed, hash-change 

}

所以基本上,如果i / o-point哈希在区块列表中存在两次,那么它就已经花掉了。如果它只存在一次它没有花费。

所以在区块-17之后:a,b,c&d是花费的.e,f,x,y,z是未花费的。

交易花费x,y和z并创建哈希支付和哈希更改,因此交易是有效的。

在生成区块之后:花费a,b,c,d,x,y和z。 e,f,付款,变更未动用。”——Red, August 10, 2010, 05:45:45 AM

目标:

目标是提供现有系统的所有相同安全性,但避免为每个易于关联的交易创建公共图标。在这种情况下,哈希甚至不必在区块中关联。该区块可以简单地按升序对所有哈希值进行排序。

实际上,我想创造真正的金币。我可以把钱给你,但世界上的每个人都不知道我做了什么。你可以把它们交给下一个人并证明它们是纯金币,因为你有比特币的谱系,而且谱系中的每一代都在公共记录中公证。

问题:

中本聪表明,您可以通过Merkle树结构从阻止列表中删除交易,而不会影响安全性。我想我真正的问题是:

“你最早可以删除这些交易的是什么?”

你可以争辩说节点无论如何都能记住一切(网络永远不会忘记)。但是,如果您构建协议以便新节点只接收哈希的阻止列表,那么他们只能从此时刻开始记住。这会带来一些额外的隐私。(也许)

还有什么其他想法吗?是否有一种明显的方式可以让人们可以欺骗和致富?

回复:不是一个建议

“在您的系统中,我不仅要从块链中获取交易,而且还必须观察每个交易(无论如何我会看到)并将它们记录到我的秘密服务器上。

你只是通过默默无闻来倡导安全。”——Insti, August 10, 2010, 09:34:14 AM

回复:不是一个建议

“我确实提过了。我不会指望这是为了货币安全。我希望系统等同于当前系统。

但是,隐私保护已知会增加价值。你的邻居,或FBI,我可以整天看你做的一切。但他们可能不是。 如果你碰巧变得“感兴趣”,那么他们现在可以开始关注你了。

但最需要额外法律权力的似乎是,“让我检查每个人的日志!”(电话,手机信号塔,电子邮件连接,Facebook连接,信用卡/借记卡交易,谷歌历史记录,浏览器历史记录。)其他系统是 “虽然是权威的安全。”比特币没有。

顺便说一句,我不想将每个交易广播到每个节点。 但这是另一个线程。

顺便说一句,这是大多数数字公证服务的工作方式。您向他们发送已签名文档的哈希值,并将其永久记录。然后他们创建像比特币一样的哈希链。它们定期在报纸或其他脱机冗余记录中发布当前哈希链值。

您不必将您的私人文件/交易发送给公证人,以便为他们加上时间戳和记录。公证人只是证明此时存在与此哈希相匹配的内容。”——Red, August 10, 2010, 02:09:36 PM

“您也无需向公证人证明您的帐户中有多少 比特币可用即可。

虽然我最近在阅读有关零知识证明(http://en.wikipedia.org/wiki/Zero-knowledge_proof)的文章,但如果您可以使用类似的东西证明您的帐户中有X个 比特币而没有透露任何其他内容的话,可能这就是你要找的东西。

我只是担心你想要什么在理论上是不可能的。”——Insti, August 10, 2010, 03:06:16 PM

“重新审视这个有趣的想法!谢谢。有一段时间没有想到它们了。”——Red, August 10, 2010, 05:29:44 PM

回复:不是一个建议

中本聪:August 11, 2010, 12:14:22 AM

这是一个非常有趣的话题。如果找到解决方案,就可以实现更好,更简单,更方便的比特币实现。

最初,比特币可以只是一连串的签名。通过时间戳服务,旧的可以在有太多的回溯扇出之前被丢弃,或者比特币可以单独保存或以面额保存。需要检查是否缺少需要全局了解所有交易的双倍支出。

挑战在于,您如何证明不存在其他支出?似乎节点必须知道能够验证的所有交易。如果它只知道输入/输输出的哈希值,则无法检查签名以查看之前是否已经使用了一个端点。你有什么想法吗?

在这种情况下,很难想到如何应用零知识证明。

我们试图证明缺少某些东西,这似乎需要了解所有内容并检查是否包含某些内容。

中本聪:我了解你知道我写作的第一部分,但我希望其他人能够跟随并纠正我可能存在的任何误解。

“我正在查看当前的Merkle树实现,试图找出何时可以删除交易而不会失去安全性。

在交易图形术语中,交易表示节点。交易图的边缘由输入表示,这些输入使用BlockHash-> TransHash-> OutPoint类型的结构指向先前的交易。它的存在是一个标志着前一个花点的输出。

因此,为了使交易有效,您最常显示的是交易中的每个输入,即前一个输出存在,并且不存在引用该输出的先前输入。因此,对于每个输出,都有零或一个输入指向它。零=未花费。一个=已花费。

这也意味着没有任何交易可以从阻止列表中剔除,直到它们的两个输出都用完为止。否则比特币将消失。

但是,只要您确信第二个绑定区块将会存在,就可以删除所有双重绑定交易。(最早的可能性)

但是,当您删除交易并将其替换为树哈希时,会丢失阻止列表中的图形结构。实际上,从阻止列表中取消删除的所有交易都具有未使用的值,纯粹是因为它们仍然存在。由于该图的那部分被剔除,它们不再能证明父节点的有效性。

让我想到的是,如果你从未将整个交易放入图表中,有没有办法证明其有效性呢?”——Red, August 11, 2010, 04:58:50 AM

“挑战在于,您如何证明不存在其他支出?似乎节点必须知道能够验证的所有交易。如果它只知道输入/输输出的哈希值,则无法检查签名以查看之前是否已经使用了一个端点。你有什么想法吗?

关键是将交易信息散列为输出哈希的一部分。因此,您不是创建单个交易哈希,而是将交易表示为两个外点哈希。(我最初考虑使用哈希的输入/交易/输出结构,但事实证明这是不必要的。)

只有交易验证器需要知道与记录的输出哈希相关联的比特币地址。这来自于当前交易的输入提交的先前交易。如果该哈希在区块列表中出现有且仅有一次,则先前交易和输出被哈希时假定为有效且未使用状态。

当前交易必须由先前交易中的地址密钥签署。如果证明有效,则生成两个新的输出哈希并插入当前区块。通过将它们包含在当前区块中来标记内嵌哈希值。(如果散列存在两次则花费。)如果要将交易表示为一个单元(以及当前可见的交易图),则可以对输入哈希和输出哈希进行分组。但是,这并不是证明有效性的必要条件。

我们试图证明缺少某些东西,这似乎需要了解所有内容并检查是否包含某些内容。

在这种情况下,我们试图证明存在一个匹配的哈希并且没有两个匹配的哈希值。它需要知道所有这些都需要证明。

我认为禁止双重支出的禁令与当前版本一样强烈。

 ====注意====

但是,您必须考虑节点通过故意添加随机“取消哈希”导致恶作剧的情况。在这种情况下,节点将无法访问比特币,因为他没有签名的交易散列到有效 未花费的输出哈希。 但是,当前的所有者也无法花钱。内部假定已经花费了。

这意味着验证条件与当前实现完全相同。所有验证节点必须先检查并验证区块中表示的所有交易,然后再接受它并构建它。

如果建议的区块中存在任何未由有效交易表示的哈希值,则必须拒绝该区块。这与当前系统完全相同,如果任何交易未验证,则必须拒绝该区块。

我曾希望将所有交易传递给所有验证器的条件可能会被削弱,但我还是看不到如何不依赖于可信委托。

一个有趣的特性是,这简化了验证过程。所有需要做的就是解析阻塞列表(哈希)一次。在解析每个哈希时,您只需在哈希集合中查找它。如果它不存在,则添加它。如果确实存在,则将其删除。解析阻止列表后,您将拥有最小的有效和未使用的输出集合。您甚至可以将整个集合保留在内存中。 (至少有一段时间!)

这对我来说也很难! :-)虽然很有趣!

希望它能够产生一些洞察力,让节点能够证明他们“始终遵循”区块生成规则,而不需要每个人都需要对所有交易进行双重检查。

它没有。:-)

仍在思考这个想法。

网络唯一需要做的工作就是判断一个外点的花费是否是第一个。

如果我们愿意让客户保留自己的历史记录,那么网络可能不需要存储某些信息,例如:

一次交易中的内点和外点的关联关系

网络将跟踪一堆独立的外点。它不知道它们属于哪些交易或金额。客户端可以查明是否已经花费了一个外点,并且它可以提交一个令人满意的内点来标记花费。网络保留了外点和证明它花费的第一个有效的内点。内点标记其关联的下一个外点和盐的哈希,因此如果你知道盐,它可以私下显示签名签署一个特定的下一个外点,但公开网络不知道下一个外点是什么。

我相信客户必须将整个历史记录保留回原始生成的比特币。 发送付款的人必须向收件人发送数据,并且仍然与网络通信以标记花费的点数并检查花费是否是第一笔支出。也许数据传输可以作为电子邮件附件完成。

客户必须保留整个历史记录的事实来降低隐私权益。处理大量资金的人仍然可以看到很多交易历史。它回顾性地扇出方式,最终可能会看到大部分的历史。可以精简面额以限制扇出,但处理大量资金的业务最终可能会看到很多历史记录。”——中本聪

回复:不是一个建议

“这是一个大脑扭曲的想法不是吗。

事实证明,可取消公证的概念很好地概括了。

例如,该系统不限于比特币交易。由于签署的合同是外部保留的,并附有其他验证/公证规则,因此您可以轻松实施IOU(特定数据集中检测相应物体准确度的一个标准) /索赔检查等操作。

如果有人给你5美元,你可以给他5美元的欠条。它的IOU哈希将被公证到区块列表中(哈希)。当你还清他们时,你可以让他们签署IOU进行确认。然后让公证人插入IOU哈希取消。然后,没有人可以显示备忘录副本并要求双重付款。

我相信客户必须将整个历史记录保留回原始生成的比特币。客户必须保留整个历史记录的事实降低了隐私权益。

起初我也这么想过。但后来我说服了自己。

这实际上取决于您对验证者和验证过程的信任程度。 人们喜欢温暖的模糊,每一笔交易都可以让他们追溯他们的钱一直到他是如何创造的。但是,这不是必需的。

如果您对在区块创建期间验证交易的过程有信心(> 50%CPU协议)。如果您确信以前的区块无法更改(您证明了这一点)。然后你只需要检查没有花掉相关的输出。安全功能保留在阻止列表和过程中,即使交易本身存储在外部并且根本没有存储前置任务。您通过证明可以使用Merkle树删除旧交易来自己展示这一点以保持一致性。”——Red, August 12, 2010, 01:10:19 AM

“处理大量资金的人仍然可以看到很多交易历史。它回顾性地扇出的方式,最终可能会看到大部分的历史。 可以精简面额以限制扇出,但处理大量资金的业务可能最终会看到很多历史记录。

诚然,隐私与可观察性是直接相关的。如果有一个像货币兑换商这样的中央政党,他可以提出许多不和之处。但是,如果我们摆脱每一枚比特币必须追溯到创造的观念,那么观察视野就会更加接近。

”——中本聪

真的很奇怪习惯这个比特币有效的概念,因为这个过程不会让它被包括在内。但实际上,这正是比特币生成的方式。交易没有输入,但是每个人都认为输出必须纯粹而且有效,否则,它根本就不在区块中。:-)

回复:不是一个建议

中本聪:August 12, 2010, 02:46:56 AM

你会回到这里谈论现有的比特币系统吗?

我在探讨的假设系统中是,如果网络不知道交易的价值和血统,那么就无法验证它们并为它们担保,因此客户必须保留所有的及整个过程的历史记录。

如果客户直到最近才出现,那么交易在过去有效的两种方法是:

1)将整个历史记录显示回原始生成的比特币。

2)将历史记录显示回一个彻底深刻的区块,然后相信如果有这么多节点都表示历史到目前为止是正确的那么它一定是真的。

但是,如果网络不知道交易的所有价值和系谱,它不能做第二种,我不这么认为。

回复:不是一个建议

“是的,我在讨论这个假设的系统。

我提出系统的方式,每次生成一个区块时,每个验证节点必须通过验证交易并确认区块中的哈希值来接受或拒绝该区块。实际上,与当前系统相同的工作,加上输出哈希检查。由于其他验证器已经在竞争生成区块,因此它们已经进行了交易(至少大部分交易)。

与当前系统一样,如果交易未验证(加上匹配包括输出哈希),则其他节点将拒绝该区块。如果区块没有被至少50%的CPU功率接受,则它不会成为区块列表。

因此,阻止列表中存在哈希值表示当时至少有50%的现有验证程序查看并验证了所有包含的交易和输出哈希值。

因此(禁止哈希崩溃)如果有人提交了与未使用的输出匹配的先行交易,则它一定是有效的。

当前区块的父块也一定是有效的,否则父块将被拒绝。 等等等等。

对于那种情况并非如此,你必须假设有一段时间没有针对输出哈希验证区块。 但这对于CPU竞争系统的结合似乎是不可信的。”——Red, August 12, 2010, 04:25:51 AM

“如果客户直到最近才出现,那么说服交易有效过去的两种方法是:

1)将整个历史记录显示回原始生成的比特币。

2)将历史记录显示回一个彻底深刻的区块,然后相信如果有这么多节点都表示历史记录是正确的那么它一定是真实的。

如果客户端最近加入了网络,那么它会假设先前的验证器遵循规则并且所有预先存在的区块都是有效的。 (没有人会加入已知的腐败网络)

当然,在当前系统中,如果从未清除过交易,则新节点可以验证所有先前的区块以实现自我的一致性。但他们仍然无法证明绝对真理。僵尸网络本可以接管并删除一些交易,留下“新事实”和不满意的用户。相当于上述情况1)。

在当前系统中,如果交易是Merkle树清除,那么你有上面的案例2)。新来者必须信任这个过程。任何遗漏,他们不需要担心。每个人都必须假定它是有效的。

我所说的独特之处在于,如果您对比特币验证竞赛过程充满信心(我们确实做到了!),那么您真的不需要“彻底深度阻止”这一过程太过深入。 有人在另一个帖子中说客户拒绝任何超过两个小时的阻止更改。所以我们可以对埋在12深处的所有区块都有绝对的信心。因此,如果一笔交易没有花费并达到12个交易深度,我们可以清除它的所有父交易。他们添加了温暖的模糊,但没有额外的验证。我们必须依靠它们。没有办法备份和改变这种情况。

之后,每个后续区块都假设所有先前区块都为真。否则它将是一个分支而不是一个后续区块。因此,对于针对前一个区块中的输出验证的任何交易,如果这些输出存在且未使用,则必须假定它们是有效的。如果这些被认为是有效的,即使被清除,他们的祖先也必须被推定为有效。

在所提出的系统中,完全相同的事情都是正确的。

如果一个先行的出点哈希是未花费的并达到12个交易深度,那么它绝对是未花费的。没有什么可以改变这个事实。检查其祖先没有意义。您可以完成验证事务,取消入点哈希并创建新的出点哈希。

有趣的是,如果一个先行的出点哈希是未花费的并且埋藏了不到12区块深度,那么它就是相对缺乏的。 奇怪的是,检查它的祖先仍然没有意义。唯一可以改变先行者有效性的方法是将分支交换到更长的链上。如果您正在验证此交易的前一交易的父交易被换出,则此交易也将被换出。

这是那些俗气的时间机器电影情节之一。有人回到过去,花了我的历史交易。但是,现在我不存在!

所以我所说的是,在BOTH系统(现有的和提出的)中,验证器唯一需要做的就是验证先行出点是否存在并且是未使用的(对于当前的块链)。 该过程确保其他所有内容保持相对或绝对有效。

剩余的只是温暖的模糊。

我知道这太冗长多余了,但我很厌倦编辑。:-)”——中本聪

回复:这不是一个建议

中本聪:August 13, 2010, 07:28:47 PM

我还没有抓住你的想法。它是否隐藏了来自公共网络的任何信息呢?这有什么好处?

如果至少50%的节点验证了足以使旧事务被丢弃的事务,那么每个人都会看到所有内容,并且可以记录它。

公共节点可以看到事务的值吗?他们能看到价值来自哪个先前的交易吗?如果可以,那么他们就知道一切。如果他们不能,那么他们无法验证该值是否来自有效来源,因此您无法将其生成的链作为其验证。

它隐藏了比特币地址, 是吗?好吧,如果就是这样的话,也许现在我明白了。

加密可能提供了一种“关键致盲”的方法。我做了一些研究并且它很模糊,但可能有些还是东西存在的。和“组签名”可能有关。

在普通区有一些东西可以参考:

http://www.users.zetnet.co.uk/hopwood/crypto/rh/

我们需要的是一种生成公钥的其他盲签名变体方法。盲目变体将具有与根公钥相同的属性,使得私钥可以为它们中的任何一个生成签名。其他人无法判断盲密钥是否与根密钥或来自同一个根密钥同时无法判断是否与其他盲密钥相关。这些是致盲的特性。简而言之,盲签名算法是x =(x * large_random_int)mod m。

支付比特币地址时,您将为每次使用生成一个新的盲密钥。

然后,您需要能够签署签名,以便您无法判断两个签名来自同一个私钥。我不确定是否总是签署一个不同的盲目公钥来给你这个属性。如果没有,我认为这就是组签名的来源。使用组签名,可以签名但不知道谁签了它。

举个例子,说一些不受欢迎必须被命令的军事攻击,但没有人愿意命令它下载的历史。如果10个领导者拥有私钥,其中一个可以签署订单,而且你不知道是谁做的。

回复:不是一个建议

“我将分两部分回答这个问题。

这是我的错,因为我试图不立即提出太多的主张。我也没有试图同时引入太多新的“功能”进行分析。

我的心理目标是逐步约束交易可见性的视野。无论是在时间还是在空间。时间意义只对特定时刻运行的节点有意义。空间意味着小于当时运行的所有节点的集合。最理想的状态是,只有发送方和接收方才知道交易。那么所有证据都将消失。

我递给你一张10美元的钞票。然后我们永远的分开了。只要没有人看到我在那一刻交给你账单,没有人能通过检查账单本身来发现这个事实。”——Red, August 13, 2010, 09:48:56 PM

“它是否隐藏了来自公共网络的任何信息呢?这有什么好处?

如果至少50%的节点验证了足以使旧事务被丢弃的事务,那么每个人都会看到所有内容,并且可以记录它。

我最初希望所有交易只能在有关各方之间进行验证。 实际上,区块生成的节点只会将记录告知它们的散列。

然而,在最后一分钟,我意识到由于哈希没有签名或以其他方式验证,因此很容易伪造“取消先前的外点哈希”。 你不能偷别人的硬币,但你可以使它们无效。

在这个讨厌的细节上,我可以看到三种可能的前进方式。 1)让所有验证者查看交易,最小化保存的内容。 2)想出一些方法来最小化需要查看每个事务的验证器的数量。 3)为每个新的出点创建一个单独的密钥对。 签署哈希。(最后一刻进入!)

1)我最初写了第一个案例,因为它一次引入了较少的变量。 我想确保只录制哈希并不是一个明显的失败。

我试图量化我们会获得隐私的数据量。在最坏的情况下它是最小的(每个人都保存了所有东西),但在名义上它是相当可观的,大多数人不保存他们自己不需要的任何东西。

因此,在这种增量中,好处是,任何新威胁都只能观察加入后发生的事务。他们无法回顾过去,除非他们能够识别出一个早期的采用者,他们记录了他们加入时的所有内容,并说服他们做分享。保护虽然很小,但至少你的输出不会在事后被监视。:-)

2)然而,通过巧妙地使用DHT可以最小化空间范围。虽然所有细节尚未确定,但您可以通过将区块列表拆分为1024个相同的列表(每个列表中包含10个冗余验证节点)来对其进行可视化管理。而不是一个具有10,000个冗余验证节点的区块列表。每个随机选择的节点集负责散列空间的一部分。

但是,不是要保证伪造某些东西需要50%的CPU功率,就可以达到100%的共识并完全进行广播链校验或区块。因此,在定期DHT重新组织时,任何新节点都可以验证链条始终保持100%一致。(类似于每天在报纸上发布1024个校验和其中的每一个内容)

这限制了攻击者的可见性,以了解他想要取消的哈希值。(我只看到1/102的交易)并且当他控制100%的验证器时,它限制了他在时间窗口中提交欺诈性取消的时间。

因此,通过限制一些可见性,可以获得一些隐私。它存在一些潜在的风险。

3)所以实际上我需要为你提供最好的案例理念。那就是奖励!我最初驳回了签署出点哈希的想法,因为它看起来与现有的比特币地址非常相似。我认为签名中所需的公钥会关联太多东西了。”——中本聪

“但是,如果您使用一次性公钥,则在其中签署出点哈希和当前区块编号的组合。然后,当最初创建出点哈希时,用公钥记录它。当花费时,通过具有由相同密钥签名的不同但相关的签名来验证散列。

我认为已经完全解决了这个问题,而且没有其他关联,因为区块列表中的两个单点使用的出点哈希实例必须是相关的。添加第二个单用途公钥标识符不会增加任何内容。

为了简化“当前区块编号”问题,提交者可能会为接下来的3-4个区块编号提交签名。验证器只记录适当的一个。到它确实向块列表添加了比我希望的更多的位后。 我认为哈希就是最优的解。

具有以下属性的最小加密构造是什么?不是哈希并且完整签名的情况也会考虑。

1)我给你一些看似随意的东西。

2)我给你的东西很容易与你的#1相关但与其他人的#1无关。

3 )没有其他人可以从#1中找出你的#2。

例如

1)给定Z,其中Z = X * Y,X和Y都是大素数

2)给定元组(X,Y)

3 ) 没人能从Z中分解X和Y.

在这种情况下,发送离线交易时,发件人

将为每个入点包含(X,Y)。

接收器将私下为每个新的出点创建一个新的(X,Y)。

然后接收器广播每个入点(X,Y)来取消它们。它广播每个出点的Z来创建它们。

这有用吗,是不是太天真了?”——Red, August 13, 2010, 09:48:56 PM

“这是一个非常酷的主意。我想我知道你要去哪里。我花了几次尝试将它们整合在一起。我有点慢。

我是对的,我建议你可以用一次性盲签按键签一个外点哈希试试。

盲目公钥等同于交易比特币地址的公钥。比特币地址的公钥/私钥对是点对点的。盲公钥是P1,P2,P3 …… 直到Pn。每个人都可以用私钥签名的任何内容(p)来验证。

因此,在创建提交出点哈希以进行验证时,它显示为由P1签名。但是,当接收者提交取消的出点时,它将被签署P2或除P1以外的任何东西(因为它已经是公共记录)。两个计算的签名都是相同的,但公钥会发生变化。这意味着只有拥有共同私钥的人才能生成它。

那就是天才!”——Red, August 13, 2010, 10:20:50 PM

延伸阅读:

《The Book of Satoshi》中本聪之书中文版连载(一)

《The Book of Satoshi》中本聪之书中文版连载(二)

《The Book of Satoshi》中本聪之书中文版连载(三)

《The Book of Satoshi》中本聪之书中文版连载(四)

《The Book of Satoshi》中本聪之书中文版连载(五)

《The Book of Satoshi》中本聪之书中文版连载(六)

《The Book of Satoshi》中本聪之书中文版连载(七)

《The Book of Satoshi》中本聪之书中文版连载(八)

《The Book of Satoshi》中本聪之书中文版连载(九)

《The Book of Satoshi》中本聪之书中文版连载(十)

《The Book of Satoshi》中本聪之书中文版连载(十一)

《The Book of Satoshi》中本聪之书中文版连载(十二)

《The Book of Satoshi》中本聪之书中文版连载(十三)

《The Book of Satoshi》中本聪之书中文版连载(十四)

《The Book of Satoshi》中本聪之书中文版连载(十五)

《The Book of Satoshi》中本聪之书中文版连载(十六)

《The Book of Satoshi》中本聪之书中文版连载(十七)

《The Book of Satoshi》中本聪之书中文版连载(十八)

文章声明:本文为火星号作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者!

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论

联系我们

微信:kkyves

邮件:kefu@lianyi.com

时间:7x24,节假日bu休息

QR code