这更像是一个一般性的“区块链”问题,而不是专门针对Ethereum的问题,所以如果我不在这里讨论这个话题,我会很感激的,如果您能给我介绍一个更相关的stackexchange。
在基于PoW的区块链上,参与者使用特定数量的前导零来挖掘唯一的散列(可能还有更多,但与我的问题无关)。
但是我想知道一个区块链是否可以要求参与者去寻找其他的东西。把它想象成一场游戏,一场挑战。让我们假设一串字符(字节,文件什么的.)“隐藏”在区块链内。对该字符串的挖掘(如:这是一个挑战)应该与挖掘这些唯一散列一样困难。
我的问题如下:
当涉及到挖掘唯一的散列时,没有什么需要隐藏的,因为您试图生成一个没有“存在”的随机字符序列。但在我的假设中,“哈希”必须预先存在“某个地方”,但是用户不应该访问它,只有“工具”/hints才能挖掘它。
提前谢谢你的帮助:-)
我不是区块链专家(我是前端Js开发人员),所以我正在寻找更多的“高级”答案:-)
发布于 2021-04-04 00:03:26
你的问题有点难回答。
据我所知,你所说的共识机制要求矿工们用数学方法解决一个“挑战”,以找到存储在区块链中的预先存在的哈希。
这将产生的主要问题是,块链不是中央数据库,矿工是连接到的,每个节点在本地维护一个副本。那么(Q1)谁将提出挑战,(Q2)它将居住在哪里?
(A1)从理论上讲,这可以通过安全的多方计算来完成,但唯一的方法是通过更精确地指定机制的内部步骤和要求(例如,由什么构成的秘密/挑战,如何解决算法,如何用MPC计算,等等)来判断这是否真的可能,以及它的安全性。
(A2)由于必须解决当前的秘密并使用它来确认当前的打开块,所以不能在区块链中隐藏当前打开块的秘密,因为块链是包含已确认的分类帐/状态数据的块链。一种可能的解决方法是事先计算秘密(N)(块(N)的秘密/挑战),当块(n-1)仍然打开时,将秘密(N)存储在块(n-1)中,当块(n-1)被确认/挖掘且块(N)当前打开时,矿工从先前的块中提取秘密(N)并将其解为确认块(N)。(但同样地,一切都取决于秘密/挑战、机制和计算方法的非常深刻的规范)
该网络还需要某种能够支持此类计算的现有基础设施。
就能源而言,我认为算法效率很低,就像POW算法一样,由于某种原因,网络正在慢慢地偏离这种共识。
我希望我的观点有助于澄清你们的问题。
https://ethereum.stackexchange.com/questions/96650
复制相似问题