论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
ToB圈子
›
虚拟化.容器.超融合.云计算
›
云计算圈
›
NTP时钟服务器(NTP授时服务器)系统应用 ...
NTP时钟服务器(NTP授时服务器)系统应用
惊落一身雪
金牌会员
|
2024-8-5 16:43:01
|
显示全部楼层
|
阅读模式
楼主
主题
746
|
帖子
746
|
积分
2238
NTP时钟服务器(NTP授时服务器)系统应用
NTP时钟服务器(NTP授时服务器)系统应用
京准电子科技官微——ahjzsz
本文主要解释了区块链中的重要功能:工作证实(Proof-of-Work)。主要阐明工作证实对于区块链是一个重要特征,而且是必须的;区块链中其他经常被提及特征(如安全性)反而是次要的,虽有用但非必须。
本文的解释主要是基于区块链工作证实的一些有趣特性,这些特性其实不能显而易见,有时以致与直觉相反,例如区块链的参与者可以在不需要沟通的情况下共同办理题目。
在了解了这些特性之后,人们应该轻易得出结论:工作证实主要是完成分布式或分散式的时间机制(如时钟)。
请注意,这篇文章不是关于工作证实本身解释,它只是阐明了区块链是如何利用它的。如果您对工作证实不了解,那么这个链接可能是一个好的开始。
分散账本的时间排序题目
在进一步描述解释之前,让我们先把重点放在这个题目上,也就是时间排序题目。关于工作证实的很多文献都很混乱,由于它们总是试图解释题目标结果而不是起首确定题目本身。
任何分类账都绝对需要顺序。一个人不能花没有收到的钱,也不能花已经花了的钱。区块链买卖业务(或称区块链事务)必须明确顺序,并且不需要可信托的第三方来协调顺序。
纵然区块链不是分类账,而只是某种如顺序日志的数据,但对于每个节点都有相同的区块链复制副本,顺序也是必须的。区块链的顺序差别就意味着差别的区块链。
但是,如果买卖业务是由世界各地的匿名参与者产生的,并且没有中央化组织负责买卖业务之间的顺序排列,但究竟需要一个排序,那么该怎么办呢?虽然一个买卖业务(或块)可能包括时间戳,但这些时间戳怎么可信?
时间只是人的概念,时间的衡器比如一个原子钟对于人来说是一个“可信赖的第三方”。但是,由于网络耽误以实时间相对性的影响,依赖时间戳来确定变乱顺序在分散系统中是不可能的。
我们感兴趣的“时间”不是我们风俗的像年、月、日等时间概念。我们需要的是一种机制,通过这种机制我们可以验证一个变乱发生在另一个变乱之前大概可能同时发生。(banq注:变乱的顺序性)
起首,对于什么是之前和什么是之后的等概念,需要建立一个时间点。建立一个时间点早先在理论上似乎是不可能的,由于没有足够准确的技术来丈量 普朗克时间。但正如你所看到的,比特币通过创建本身的时间概念来办理这个题目,在这个时间点上,确定准确的时间点实际上是有可能的。
Leslie Lamport在 1978年的论文 “分布式系统中的时间,时钟和变乱顺序”中很好地描述了这个题目 , 除了“正确同步的物理时钟”之外,该文实际上并没有提供全面的办理方案。在1982年,Lamport还描述了“拜占庭将军题目”,而Satoshi在他的第一封电子邮件中解释了工作证实是如何办理这个题目标,由于比特币文件指出“要在对等网络上实现分布式时间戳服务器,我们将需要利用工作证实系统“,这表明工作证实主要就是办理时间戳题目标。
时间是根本题目
必须强调的是, 在分布式系统中不可能将变乱与时间点关联起来,这是一个未办理的题目,直到中本聪发明了区块链的工作证实这个办理方案之后,分散的分类帐才可能得以实现。区块链还有很多其他技术细节,但时间选择是底子性和重要的。没有时间就没有区块链。
工作证实文件
简而言之,区块链的工作证实是一个符合某个要求的SHA-2哈希值,这个值好坏常难以找到的。困难之处在于哈希小于一个特定命字,数字越小,输入值越稀少并且发现它的难度就越高。
它被称为“工作证实”,由于已知具有这种哈希的值非常罕见,这意味着找到这样的值需要大量的试错,即“工作”。反过来,这意味着 "时间"。
通过改变需求,我们可以改变难度,从而改变发现这种哈希的可能性。比特币难度动态调整,以便每十分钟平均能找到一个正确的哈希值。
在块之间什么也不会发生
区块链的状态由其块表现,每个新块都会产生一个新状态。区块链状态一次向前移动一个区块的距离,而一个区块需要耗费平均10分钟,这个时间是区块链时间的最小量度。
SHA是无记忆Memoryless,无进展的Progress-Free
安全哈希算法是统计和概率中的无记忆Memoryless。这是一个对我们人类来说特别违反直觉的概念。
无记忆的最好例子是掷硬币。如果一枚硬币一连出现10次同一面,这是否意味着下一次投掷更可能是反面?我们的直觉说是的,但实际上每次投掷都是50/50的机会,无论前面发生了多少次巧合现象。
无记忆对于无进展的Progress-Free是需要的。无过程意味着,随着矿工们试图办理对随机数举行迭代以找到下一个块的哈希值(办理方案),每次实验都是一个独立的变乱,无论过去做了多少工作,每次实验都找到办理方案的概率是不变的。换句话说,在每一次实验中,参与者都没有更接近办理方案或没有取得任何进展。一位一直在探求哈希值一年的矿工在下一次实验时不会比一个刚刚开矿的矿工更有可能找到哈希值。
因此,在给定的时间段内找到给定办理方案(哈希值)的可能性仅由所有参与者在哈希中迭代的速度决定。不是以前的汗青,不是数据,只是哈希率。
哈希率又是参与者数量和用于计算哈希的设备速度的函数。
SHA输入是不相关的
在比特币区块链中,输入是区块头部。但是如果我们只给它随机值,那么找到一致性散列的概率仍然是一样的。无论输入是有效的块头还是来自/ dev / random的字节,平均需要10分钟才能找到下一块的哈希值。
当然,如果你发现一个符合要求的哈希,但你的输入不是一个有效的块,这样的办理方案不能被添加到区块链,但它仍然是工作量验证(尽管无用)。
难度是银河系
奇怪的是,困难是广泛的,这意味着它高出整个宇宙。 我们可以让在火星上的矿工帮助探求,他们不需要与地球矿工沟通,关键还是每10分钟才会找到答案。(好吧,他们需要以某种方式告诉地球人他们是否办理了这个题目,否则我们永远都不会知道)。
值得注意的是,远方的参与者之间没有真正的交换沟通,由于他们共同办理相同的统计题目,但他们以致不知道相互的存在。
这种“广泛性”虽然早先看起来很神奇,但实际上很轻易解释。我利用了“通用universal”一词,由于它用一个词来形容它,但它确实意味着“每个参与者都知道”。
SHA-256的输入可以被认为是0到2的 256平方之间的一个整数(由于输出是32字节,也就是说0和2的 256平方之间,任何更大的值都可以包管碰到,比如变为冗余)。纵然它非常大( 比可感知宇宙中的原子数量大得多),它是一组数字,每个参与者都知道,参与者只能从这组数据中挑选出来。
如果输入集是众所周知的,函数(SHA-256)是众所周知的,并且难度要求是众所周知的,那么找到办理方案的可能性也确实是“广泛的”。
实验SHA会使您成为参与者
如果确定的题目是要找到符合的哈希值,那么您只需要实验一次,而且Bingo,您也已经影响了全局哈希率,并且对于那个实验您是参与者资助其他人办理题目标人。你不需要告诉别人你做了这件事(除非你真的找到了办理方案),其他人不需要知道它,但是你的实验确实影响了结果。对于整个宇宙来说,no less。
如果上述情况仍然令人怀疑,一个很好的比喻可能是探求大质数的题目。找到最大的质数是很难的,一旦找到,它就变成“被发现”或“已知”。有无数的质数,但宇宙中每个数字只有一个实例。 因此,试图找到最大素数的人正在研究同一个题目。你不需要告诉任何人你决定探求最大素数,你只需要在你找到一个时发布它。如果没有人找到最大的素数,那么它永远不会被发现。因此,只要终极被发现(如果被发现的话)被公布,参与(即试图找到一个)者,纵然它是完全保密的,仍然影响结果。
想想这个令人难以置信的统计现象,即任何参与者纵然在完全保密的情况也会影响结果,纵然并没有乐成也会,这正是让中本聪的发显着得如此辉煌缘故原由。
值得注意的是,由于探求SHA是没有进展的概念题目,每次实验都可以被认为是一个参与者积极到场并立刻离开。因此,矿工每秒钟到场和离开五十次。
参与是一种统计显示
在很多网站上列出的全球哈希率并不是由于每个矿工都在某些“矿工注册办公室”注册,他们定期陈诉哈希率。但是没有这样的东西存在。
哈希率是已知的,由于对于在10分钟内找到特定难度的办理方案,平均而言,这种很多实验(在撰写本文时〜10的21)必须由某处某人实现。
我们不知道这些参与者是谁,他们从未宣布他们正在工作,没有找到办理方案的人(实际上他们都是)并没有告诉任何人他们正在工作,他们的位置可能在宇宙中的任何地方,但我们绝对确定地知道它们存在。由于题目需要继续得到办理(哈希值需要被找到)。
工作是一个时钟
题目标关键在于:找到一致性哈希的难度就像一个时钟。如果你愿意的话,一个通用的时钟,由于宇宙中只有一个这样的时钟,所以没有什么可以同步,任何人都可以“看”它。
这个时钟禁绝确并不重要。重要的是,这对每个人来说都是同一个时钟,并且区块链的状态可以毫不含糊地与时钟的滴答声挂钩。
这个时钟是由遍布全球的未知数量的集体参与者的多重效率操作的,相互完全独立。
谜题的最后一部分
办理方案必须是区块的哈希(准确说是区块头部)。正如我们所提到的那样,输入并不重要,但如果它是实际的块,那么无论何时找到办理方案,它都发生在我们的工作时间校验时钟的滴答处。不是在此之前,也不是在其之后,而是正幸亏滴答此刻。我们毫不含糊地知道这一点,由于该块是该机制的一部分。
换句话说,如果块不是输入到SHA256函数,我们仍然会有一个分布式时钟,但是我们不能将这个块与这个时钟的滴答连接起来。利用块作为输入办理了这个题目。
值得注意的是,我们的工作证实时钟仅为我们提供了滴答计时。没有办法从滴答判断顺序,这就是Merkle树的用途。
分布式共识如何?
共识意味着协议。所有参与者只能一致承认时钟的滴答别无选择能达成共识。此外,每个人都知道滴答和附加的数据。究竟上,正如中本聪在前面引用的电子邮件中解释的那样,这确实办理了拜占庭将军题目。
在一个罕见但常见的情况下,有两个一连的滴答与一个块有关联,发生辩论。这个辩论是通过什么块与下一个滴答相关联来办理的,使得有争议的块之一成为“孤儿”。区块链如何继续是一个偶尔的事情,所以这也可能间接地归因于工作时间时钟。
就是这样
这是工作证实为区块链所做的工作。这不是一个“矿工”,矿工是获得办理题目标权利,也不是将真正的能量转化为有代价的概念,而是所有的红鲱鱼。
例如,矿工中奖的奖励是鼓励矿工参与的缘故原由,但这并不是使区块链成为可能的缘故原由。区块是一个Merkle树,但它又与工作证实无关,它加密地加强了区块排序的记载。Merkle树也使得以前的滴答“更确定”,“更不可否认”或更简单。
工作量证实也是块体实际上不可变的机制,这是一种很好的副作用,可以使隔离见证成为可能,但它也可以通过保留签名(证人)来完成,所以这也是次要的。
结论
比特币区块链工作证实只是一个分布式的、分散式的时钟。
如果你理解了这个解释,那么你应该更好地把握证实工作证实与权益证实Proof-of-Stake的比较,并且很显着这两者不具有可比性:权益证实是关于(随机的分布式)权限,而工作证实是一个时钟。
在区块链的配景下,工作证实可能是一种误用。这个术语是Hashcash项目标遗产 ,它确实用于证实工作。在区块链中,却主要是关于可验证的耗费时间。当人们发现一个满足难度的哈希值时,人们发现它需要一定时间。完成这个时间的方法就是“工作”,哈希是有趣的,由于它是时间的证实。
工作证实完全是关于时间而非工作的究竟也表明,可能存在其他雷同的统计寻衅,这些寻衅既费时又耗力。这也可能意味着比特币哈希率过高,而且我们上面描述的比特币时钟可以在一小部分哈希率上可靠地运行,但哈希率是刺激能源消耗的激励结构。
如果找到一种方法来减少工作的耗时就会产生万亿美元的题目,请让我知道!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
发新帖
回复
惊落一身雪
金牌会员
这个人很懒什么都没写!
楼主热帖
处理接口幂等性的两种常见方案 ...
腾讯叶聪:朋友圈爆款背后的计算机视觉 ...
一个故事看懂CPU的SIMD技术
图文结合带你搞懂InnoDB MVCC
看完这个,还不会DVMA,请你吃瓜 ...
数据湖选型指南|Hudi vs Iceberg 数据 ...
聊一聊 TLS/SSL
【.NET源码解读】深入剖析中间件的设计 ...
大数据-数据仓库-实时数仓架构分析 ...
关于 Java 的简介(评论抽奖送书) ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表