比特币作为计算接口构建有限状态机的自动化结构的方法介绍
扫描二维码
随时随地手机看文章
在计算机程序设计中,通常有许多不同的方法来解决任何给定的问题。每个程序员都有自己喜欢的方法来处理给定类型的问题,甚至有自己实现特定类型的解决方案的方法。
有限状态机
顾名思义,其核心是有限状态的机器。一种具有有限状态数的编程机器,每一种状态从一组给定的反馈中产生不同的行为,并且每一种状态都转换为给定的事件发生序列定义的“下一状态”。
为了给出一个有限状态机的简单例子,让我们看一个简单的检测光运动的试验。灯在关闭状态下启动。当开关从 OFF 切换到 ON 时,它会切换到 Lighting 状态并开始倒计时。经过一定的时间后,它会在关灯的情况下切换到扫描状态。根据检测到的运动情况,灯光会在这两种状态之间不断切换,直到开关被关闭,再回到关机状态。
如图所示,这个有限状态机只有三个状态,不同的事件充当发生转换的触发器。
这些基本类型的有限状态机存在于现代世界的各个角落,大多数人每天都会与其中的许多机器进行交互,却从未意识到这一点。烤箱、电话、汽车、电视等等都是由这些强大的编程结构驱动的。
有了比特币,我们现在有能力构建这些状态机,使状态转换和数据管理由比特币网络执行,使用事务作为状态更改驱动程序。将给定的一组条件提供给包含状态机脚本的 UTXO。通过这种方式,可以向实时 FSM 显示给定的输入集,可以根据一组可能的输出转换对其进行评估,并且只有在满足所有条件时,事务才返回可使用的结果。
看看我们的例子中,FSM 的状态保存在比特币网络上的 UTXO 中,当灯光处于关闭状态时,UTXO 的兑换脚本需要一个支出脚本,证明地显示开关已经打开了。这可以以散列的形式出现,该散列只能通过灯开关的切换来生成。如果事务将此哈希视为输入,则它知道灯开关已设置为开启并允许自己花费到新的 UTXO 中,并使用更新的兑换脚本将状态定义为“照明状态”并查找将开关转换回关闭,或者将定时器转换为零。运行 FSM 的控制器将使用继电器打开灯并启动计时器。计时器将循环通过哈希表,为灯每秒打开一个新的哈希值给控制器。找到正确的散列后,这是定时器的结束,UTXO 可以用于扫描状态。从这里开始,扫描仪必须返回从真实条件派生的哈希值才能返回到光照状态,否则开关必须返回关闭条件才能将光线调回“关闭”状态。
对 FSM 状态的每次更新都在一个事务中捕获,从而允许在链上映射机器操作的完整历史。只要FSM 有资金支付其状态转换,它就会运行,并在它耗尽时就停止。一旦找到正确的过渡状态,FSM就会等到它有资金支付下一次过渡。
运行 FSM 的设备可以验证自己的事务或将它们发送到验证服务器。该服务器每秒将处理数百万个验证,自动将任何解析为 True 的事务发送到网络上进行结算。通过这种方式,对成千上万台设备的管理可以由分布式工场管理,每个工场测试数百万个事务的有效性,并且只允许那些通过测试的设备被发送到矿区。
模糊状态机
有限状态机非常适用于器具和具有简单操作参数的设备,这些设备每次都希望以精确和可重复的方式工作。随着我们越来越接近人工智能,我们需要为机器创造出一种方式,让它们不仅能发挥创造力,还能优化它们的任务。当您有一个状态机可以在每个点上转换到成千上万的有效状态时,通过使用模糊状态机(FUSM)可以实现这一点。
模糊状态机与有限状态机的区别主要体现在两个方面:
1. 模糊状态机可以同时处于多种状态
2. 状态对最终行为的影响可以定义为梯度
这意味着模糊状态机的结果可以由少量状态定义,但从这些状态派生出大量可能的行为,甚至允许它在每次呈现相同条件时都以新的方式表现。
这方面的一个例子是办公大楼的自适应照明系统。
大厅控制器可能会表现出一定的行为来改善员工的情绪,使用色调照明来改变人们的感觉。在早上,它可能会使用高开尔文蓝/白光来提高人们的觉醒,并在一天的晚些时候过渡到温暖的白色甚至橙色。
该系统可能有一个摄像头,可以看到大厅,并计算通过大厅的人数和停止移动的人数。这种行为可能会有一个较慢的反馈循环,,因为它会变暗,这意味着如果有足够的活动就需要激活高亮度,大堂可能需要合理的时间来过渡回到昏暗,所以同一组的反馈(上午 10 点在大厅没人),模糊状态机驱动灯可以有两种截然不同的行为,并给予足够的渐变的颜色和亮度,活跃的大厅总是看起来不同。正如你所看到的,从两个简单的输入(一天的时间,人数),我们能够创建一系列复杂而细致的行为,为相对封闭的空间提供动画和生活感。
为什么在比特币?
状态机是编程系统的最古老的方式之一,其针对不同的输入集以不同的模式操作。比特币脚本语言给我们的方法构建有限状态机和模糊状态机,使开发人员能够大规模并行处理访问状态信息和结果,从而使服务提供商能够以更新,更有效的方式计算信息,管理自身与用户之间的信息流,并将该信息流附加到以比特币交易结算的财务结果中。
随着开发人员学习这些技术,预计比特币的新应用程序将出现,它们将比目前市场上的任何应用程序都更智能、更高效、更便宜。
注:比特币核心链(SegWit)上的代币为 BTC 币;BCHABC 链上的令牌被称为 BCH、BCH-ABC 或 BAB硬币。
比特币聪视(BSV)是目前唯一遵循原中本聪白皮书的比特币项目,遵循原中本聪协议和设计。BSV是唯一一家保持比特币最初愿景的公开区块链,并将大规模扩张成为全球新的货币和企业区块链。