中本聪的比特币课程聚焦于堆栈机、谓词逻辑以及比特币系统是如何做到这点的

中本聪的比特币课程聚焦于堆栈机、谓词逻辑以及比特币系统是如何做到这点的

即使您不了解比特币系统的高等数学方面的知识,您也可以通过思考获得一些想法。刘晓晖与比特币系统创始人Craig Wright博士合作的“比特币课程”系列视频教程提供了一种看待事物的全新方式,还提供了一些关于比特币脚本的真正力量及其能力的启示。

最新一集的课程在开始的几分钟深入讲解谓词演算——如果您没有学过,请不要担心,刘晓晖曾经也没有学过。但您只需快速搜索一下这种类型的逻辑,并搜索它的一些基本原理和概念就行,这样以便更好地理解Wright博士所说的内容。

ScienceDirect将谓词演算描述为“在人工智能中具有显著地位的符号:它是定义和评估其他表示的通用标准。”

“谓词演算表示假定一个由个体组成的体系,这些个体上都有叙述和函数,以及通过将叙述与逻辑连接词‘和’、‘或’、‘非’组合起来而形成的句子。”

相较于以往我们所习惯的(条件句),在比特币系统上进行(谓词演算)需要考虑更为复杂的条件句。Wright博士谈到了复杂的环路,其中只有特定的输入数据会被输入到未来的交易中。通过创建关于这些数据如何交互的表格,您可以指示比特币系统实现几乎任何事情的自动化(只要您知道如何编写算法)。

Wright博士说:“您实际上可以用非常简单的谓词构建非常复杂的路径。”请您想想比三分之二多重签名(two-of-three multisig)更复杂的事情。请您想想真值表(Truth Tables)和替代选择。您能够考虑到各种事件的发生,以及考虑到变量诸如它们发生的时间与顺序,以确定最终被写入比特币区块链的交易结果。

(其中)有一节课程是关于“堆栈机”的。比特币系统是建立在一个堆栈上的,它可能有主堆栈和一个“备用堆栈”——一个您用于保存材料的堆栈以及一个计数器堆栈。您可以使多台堆栈机器水平且并行运作。

Wright博士表示,有一个问题是,在这种情况下,您怎么知道什么时候某件事会“结束”?比特币系统为此提供了解决方案:

不是每笔交易的每个输出都需要被写在链上。一个交易的输出可以输入到另一个交易中,形成一个链。然后,当每个步骤产生真、假或无效的结果时,只有真结果才会被提供给下一个输入。

一旦有东西被写入比特币区块并被进行处理,这个结果就可以被视为最终结果。这就是比特币系统及其区块链结构比之前任何系统都更有用的原因。

Wright博士给出了一些例子和业务场景,以方便(学员)理解,例如,如果A和B在某件事上达成一致,随后C才同意,那么就可能会出现不同的结果;或者,如果他们以不同的顺序签署协议……或者,如果各方都不同意,脚本甚至可以将决定(权)交给外部调解人。

为什么利用Forth?

刘晓晖询问了使用Forth作为比特币脚本基础的相关内容以及它的工作方式。Wright博士说,Forth“速度快,并且复制了您在谓词系统中得到的语言类型”,如果您在谈论逻辑函数,那么Forth是表达它们的最佳语言之一。

刘晓晖将Forth描述为“一种汇编语言”,并且想知道有一天是否有可能在它的基础上构建更高级别的语言。Wright博士赞同这一点。鉴于刘晓晖在sCrypt的工作涉及使比特币脚本开发更加容易(的方法),这可能是(其)未来(要做的)项目。

比特币课程系列对于不善作数字计算的人或没有计算机科学背景的人(显然包括本评论员)来说可能很难。然而,总有一些东西会(使我们)通过观察新的(思考)角度以及想象(一些)可能性来触发(我们的)想法。

如果您要观看《比特币理论》和《比特币课程》的前几集,请在此查看《比特币理论》YouTube频道,在此查看《中本聪的比特币课程》YouTube频道

202024日的“创世”协议升级是比特币历史上的一大里程碑,将见证BSV最大程度地回归到中本聪原先设想的协议。请访问“创世”硬分叉页面以了解更多信息。

要直接在您的收件箱接获CoinGeek.com最新消息,CoinGeek会议特别优惠以及其他内部信息,请加入我们的邮件列表

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]