我最近一直在研究比特币和工作证明系统。
在这个系统中,当挖掘时,用户有一个“挑战字符串”,他们需要将其与正确的“证明字符串”(随机数)和散列连接起来,散列的结果以前导零的前缀开始,这就是他们验证块的方式。
我的问题是,当组合挑战字符串和正确的证明字符串(随机数)时,为什么这些值的相应哈希以零的前缀开始?那是怎么运作的?
并非特定于比特币,但比特币使用相同的机制,请参见https://en.wikipedia.org/wiki/Hashcash有关工作证明如何“起作用”以及为什么它以这种方式起作用的说明。
简单的回答是您正在创建哈希冲突(https://en.wikipedia.org/wiki/Collision_resistance)前导零越多,创建碰撞就越困难。
在比特币中,难度是根据比特币网络上的计算通过算法选择的。这通常只会上升,但如果计算下降,难度也会下降。该算法调整了难度,使事务验证时间保持在10分钟左右。
“挑战字符串”和“字符串证明”的组合被发送到一个哈希函数,该函数是一个单向函数,结果是一个“随机字符串”(“随机字符串”的条件是它在开始时应该有x个零。猜测的难度与日俱增,这只会增加x)。
矿工的工作是猜测“字符串证明”,直到满足“随机字符串”的条件。
所以,这是一个纯粹的猜谜游戏。GPU非常擅长快速生成随机数。这就是为什么世界各地的矿工都在使用顶级图形处理器来挖掘比特币交易。
本文向大家介绍你来说一下你觉得什么样的公司特别吸引你?相关面试题,主要包含被问及你来说一下你觉得什么样的公司特别吸引你?时的应答技巧和注意事项,需要的朋友参考一下 注意回答的思维逻辑即可,内容上体现出自己积极上进和清晰的职业规划的一些点即可
我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。
一种通用方法,可以返回两个参数之间的随机整数,就像ruby使用时所做的那样。 有什么建议吗?
在电子游戏《动物穿越:新视野》中,村民们被个性和爱好组织起来。这8种性格分别是: 正常的懒惰的姐妹傲慢的脾气暴躁的运动员快活的自鸣得意的 这6项爱好分别是: 教育时尚健身音乐自然演奏 创建一个程序,允许用户创建他们自己的动物穿越村民。用户应该能够输入一个名字,之后程序会为该村民随机选择一个爱好和个性: 请输入村民姓名: Betsy Betsy很傲慢,很自然 该程序应该将兴趣爱好和个性都存储在列表中
我正在开发一个包含上传文件的任务,在这个上下文中,我发现在某些情况下调用
主要内容:比特币如何运作?比特币是由Satoshi Nakamoto 在2008年推出的。比特币是一种加密货币(虚拟货币),或者是一种使用密码学规则来监管和生成货币单位的数字货币。比特币属于加密货币的范畴,成为其中第一个也是最有价值的。它通常被称为分散数字货币。 比特币是一种数字资产,可以通过互联网安全地在双方之间进行买卖,转让。比特币可以用来存储价值,就像精金,白银和其他一些类型的投资一样。我们还可以使用比特币购买产品和