哇!协议和算法竟然不是一回事!千万别再说错了!

今天距考研还有19天23时58分51秒!还没复习完的你不要慌。我又来送干货了!本博客适合学习速成的人。如果你喜欢和时间赛跑,那就关注、点赞吧,我们都是有共同爱好的人。
在这里插入图片描述

看到这个标题,有没有很惊讶!

哈哈哈,接下来就听我慢慢解释吧。

协议是掌管一个系统如何运行的一系列规则。这些规则确立了不同部分的基本功能、他们如何相互作用、以及对于良好运行所必需的条件。协议的不同部分 对时间顺序不敏感 ——首先制定哪个部分并不重要。协议也不会告诉系统该如何产生一个结果或输出,除了顺利执行之外,没有其他目标。

协议就像一辆汽车的引擎。

算法,是一组产生输出结果的指令。它可以是一段简单的脚本,也可以是一个复杂的程序。指令的顺序非常重要,而算法指定了该顺序。它会告诉系统该做什么才能达到预期结果。它可能不会提前知道结果是什么,但它知道它需要一个结果。

算法就像一辆汽车的驾驶员,它发布的指令就是驾驶员为操作汽车而做的一系列行为。

在这里插入图片描述
上面这张图中,桥是协议,自行车是协议,骑车的人是算法。

协议是一组决定系统功能的规则,算法是一组告诉系统该做什么的指令。协议定义的是“是(is)”,算法是“做(dose)”

如果在厨房中

协议就是一系列的条件和指令

  • 刀切东西
  • 火加热
  • 橄榄油是美味的
  • 煎锅适合炒洋葱
  • 在做饭之前要洗手
  • 烧焦的食物很难吃

算法则是这样的:

  1. 切洋葱
  2. 在平底锅里加热橄榄油
  3. 把洋葱放到锅里,加一些盐,翻炒洋葱至半透明状

区块链既需要协议又需要算法,并且每个都有不一样的作用。

在区块链世界里,协议的作用如下:

告诉节点如何在彼此间进行交互
确定数据从一个节点到下一个节点的路线
定义区块是什么样的
规定谁决定哪些交易是有效的
明确如何确定共识
规定谁维护账本
确立决定系统规则如何变化的代表
决定是否需要身份
决定谁能创造新的币
在发生错误时触发程序

算法在区块链里扮演的角色又是什么呢?

验证签名
确认余额
决定区块是否是有效的
确定矿工如何验证区块
建立告诉区块移动的程序
建立创造新币的程序
告诉系统如何确定共识

现在你已经分清协议和算法了对吧。那么问题来了,“工作量证明”和“权益证明”是协议还是算法呢? 在很多媒体报道中,既有把它们称为“算法”的,也有把它们描述为“协议”的。

而我认为它们是算法,而不是协议。

无论是工作量证明还是权益证明,它们都是告诉矿工该如何验证区块。它们像协议一样建立条件,但指令才是基础,并且有一个很明确的输出结果:处理交易,确认哪些区块写入链上,就哪个链是正确的链达成共识。两者都是用底层协议来实现这些目标。

沿着这个思路走,比特币和以太坊是算法还是协议?

它们是协议而不是算法。

它们建立基本规则,设置“引擎”并确定谁做什么以及如何做。然后,用户利用算法来转币,执行智能合约并创建新的商业模式。算法是使协议发挥作用的根本原因。

这就是为什么区别很重要。我们需要理解状态和行为间的不同、规则和程序间的不同、能做和不能做之间的区别。我们不能改变规则(如果你想改变的话,回到原点,重新建一个新的区块链),但是我们能建立一些列的行为、指令和程序,以帮助我们得到预期的结果。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值