比特幣作為計(jì)算接口構(gòu)建有限狀態(tài)機(jī)的自動(dòng)化結(jié)構(gòu)的方法介紹
在計(jì)算機(jī)程序設(shè)計(jì)中,通常有許多不同的方法來(lái)解決任何給定的問(wèn)題。每個(gè)程序員都有自己喜歡的方法來(lái)處理給定類(lèi)型的問(wèn)題,甚至有自己實(shí)現(xiàn)特定類(lèi)型的解決方案的方法。
?
有限狀態(tài)機(jī)
顧名思義,其核心是有限狀態(tài)的機(jī)器。一種具有有限狀態(tài)數(shù)的編程機(jī)器,每一種狀態(tài)從一組給定的反饋中產(chǎn)生不同的行為,并且每一種狀態(tài)都轉(zhuǎn)換為給定的事件發(fā)生序列定義的“下一狀態(tài)”。
為了給出一個(gè)有限狀態(tài)機(jī)的簡(jiǎn)單例子,讓我們看一個(gè)簡(jiǎn)單的檢測(cè)光運(yùn)動(dòng)的試驗(yàn)。燈在關(guān)閉狀態(tài)下啟動(dòng)。當(dāng)開(kāi)關(guān)從 OFF 切換到 ON 時(shí),它會(huì)切換到 Lighting 狀態(tài)并開(kāi)始倒計(jì)時(shí)。經(jīng)過(guò)一定的時(shí)間后,它會(huì)在關(guān)燈的情況下切換到掃描狀態(tài)。根據(jù)檢測(cè)到的運(yùn)動(dòng)情況,燈光會(huì)在這兩種狀態(tài)之間不斷切換,直到開(kāi)關(guān)被關(guān)閉,再回到關(guān)機(jī)狀態(tài)。
如圖所示,這個(gè)有限狀態(tài)機(jī)只有三個(gè)狀態(tài),不同的事件充當(dāng)發(fā)生轉(zhuǎn)換的觸發(fā)器。
這些基本類(lèi)型的有限狀態(tài)機(jī)存在于現(xiàn)代世界的各個(gè)角落,大多數(shù)人每天都會(huì)與其中的許多機(jī)器進(jìn)行交互,卻從未意識(shí)到這一點(diǎn)??鞠?、電話(huà)、汽車(chē)、電視等等都是由這些強(qiáng)大的編程結(jié)構(gòu)驅(qū)動(dòng)的。
有了比特幣,我們現(xiàn)在有能力構(gòu)建這些狀態(tài)機(jī),使?fàn)顟B(tài)轉(zhuǎn)換和數(shù)據(jù)管理由比特幣網(wǎng)絡(luò)執(zhí)行,使用事務(wù)作為狀態(tài)更改驅(qū)動(dòng)程序。將給定的一組條件提供給包含狀態(tài)機(jī)腳本的 UTXO。通過(guò)這種方式,可以向?qū)崟r(shí) FSM 顯示給定的輸入集,可以根據(jù)一組可能的輸出轉(zhuǎn)換對(duì)其進(jìn)行評(píng)估,并且只有在滿(mǎn)足所有條件時(shí),事務(wù)才返回可使用的結(jié)果。
看看我們的例子中,F(xiàn)SM 的狀態(tài)保存在比特幣網(wǎng)絡(luò)上的 UTXO 中,當(dāng)燈光處于關(guān)閉狀態(tài)時(shí),UTXO 的兌換腳本需要一個(gè)支出腳本,證明地顯示開(kāi)關(guān)已經(jīng)打開(kāi)了。這可以以散列的形式出現(xiàn),該散列只能通過(guò)燈開(kāi)關(guān)的切換來(lái)生成。如果事務(wù)將此哈希視為輸入,則它知道燈開(kāi)關(guān)已設(shè)置為開(kāi)啟并允許自己花費(fèi)到新的 UTXO 中,并使用更新的兌換腳本將狀態(tài)定義為“照明狀態(tài)”并查找將開(kāi)關(guān)轉(zhuǎn)換回關(guān)閉,或者將定時(shí)器轉(zhuǎn)換為零。運(yùn)行 FSM 的控制器將使用繼電器打開(kāi)燈并啟動(dòng)計(jì)時(shí)器。計(jì)時(shí)器將循環(huán)通過(guò)哈希表,為燈每秒打開(kāi)一個(gè)新的哈希值給控制器。找到正確的散列后,這是定時(shí)器的結(jié)束,UTXO 可以用于掃描狀態(tài)。從這里開(kāi)始,掃描儀必須返回從真實(shí)條件派生的哈希值才能返回到光照狀態(tài),否則開(kāi)關(guān)必須返回關(guān)閉條件才能將光線(xiàn)調(diào)回“關(guān)閉”狀態(tài)。
對(duì) FSM 狀態(tài)的每次更新都在一個(gè)事務(wù)中捕獲,從而允許在鏈上映射機(jī)器操作的完整歷史。只要FSM 有資金支付其狀態(tài)轉(zhuǎn)換,它就會(huì)運(yùn)行,并在它耗盡時(shí)就停止。一旦找到正確的過(guò)渡狀態(tài),F(xiàn)SM就會(huì)等到它有資金支付下一次過(guò)渡。
運(yùn)行 FSM 的設(shè)備可以驗(yàn)證自己的事務(wù)或?qū)⑺鼈儼l(fā)送到驗(yàn)證服務(wù)器。該服務(wù)器每秒將處理數(shù)百萬(wàn)個(gè)驗(yàn)證,自動(dòng)將任何解析為 True 的事務(wù)發(fā)送到網(wǎng)絡(luò)上進(jìn)行結(jié)算。通過(guò)這種方式,對(duì)成千上萬(wàn)臺(tái)設(shè)備的管理可以由分布式工場(chǎng)管理,每個(gè)工場(chǎng)測(cè)試數(shù)百萬(wàn)個(gè)事務(wù)的有效性,并且只允許那些通過(guò)測(cè)試的設(shè)備被發(fā)送到礦區(qū)。
模糊狀態(tài)機(jī)
有限狀態(tài)機(jī)非常適用于器具和具有簡(jiǎn)單操作參數(shù)的設(shè)備,這些設(shè)備每次都希望以精確和可重復(fù)的方式工作。隨著我們?cè)絹?lái)越接近人工智能,我們需要為機(jī)器創(chuàng)造出一種方式,讓它們不僅能發(fā)揮創(chuàng)造力,還能優(yōu)化它們的任務(wù)。當(dāng)您有一個(gè)狀態(tài)機(jī)可以在每個(gè)點(diǎn)上轉(zhuǎn)換到成千上萬(wàn)的有效狀態(tài)時(shí),通過(guò)使用模糊狀態(tài)機(jī)(FUSM)可以實(shí)現(xiàn)這一點(diǎn)。
模糊狀態(tài)機(jī)與有限狀態(tài)機(jī)的區(qū)別主要體現(xiàn)在兩個(gè)方面:
1. 模糊狀態(tài)機(jī)可以同時(shí)處于多種狀態(tài)
2. 狀態(tài)對(duì)最終行為的影響可以定義為梯度
這意味著模糊狀態(tài)機(jī)的結(jié)果可以由少量狀態(tài)定義,但從這些狀態(tài)派生出大量可能的行為,甚至允許它在每次呈現(xiàn)相同條件時(shí)都以新的方式表現(xiàn)。
這方面的一個(gè)例子是辦公大樓的自適應(yīng)照明系統(tǒng)。
大廳控制器可能會(huì)表現(xiàn)出一定的行為來(lái)改善員工的情緒,使用色調(diào)照明來(lái)改變?nèi)藗兊母杏X(jué)。在早上,它可能會(huì)使用高開(kāi)爾文藍(lán)/白光來(lái)提高人們的覺(jué)醒,并在一天的晚些時(shí)候過(guò)渡到溫暖的白色甚至橙色。
該系統(tǒng)可能有一個(gè)攝像頭,可以看到大廳,并計(jì)算通過(guò)大廳的人數(shù)和停止移動(dòng)的人數(shù)。這種行為可能會(huì)有一個(gè)較慢的反饋循環(huán),,因?yàn)樗鼤?huì)變暗,這意味著如果有足夠的活動(dòng)就需要激活高亮度,大堂可能需要合理的時(shí)間來(lái)過(guò)渡回到昏暗,所以同一組的反饋(上午 10 點(diǎn)在大廳沒(méi)人),模糊狀態(tài)機(jī)驅(qū)動(dòng)燈可以有兩種截然不同的行為,并給予足夠的漸變的顏色和亮度,活躍的大廳總是看起來(lái)不同。正如你所看到的,從兩個(gè)簡(jiǎn)單的輸入(一天的時(shí)間,人數(shù)),我們能夠創(chuàng)建一系列復(fù)雜而細(xì)致的行為,為相對(duì)封閉的空間提供動(dòng)畫(huà)和生活感。
為什么在比特幣?
狀態(tài)機(jī)是編程系統(tǒng)的最古老的方式之一,其針對(duì)不同的輸入集以不同的模式操作。比特幣腳本語(yǔ)言給我們的方法構(gòu)建有限狀態(tài)機(jī)和模糊狀態(tài)機(jī),使開(kāi)發(fā)人員能夠大規(guī)模并行處理訪(fǎng)問(wèn)狀態(tài)信息和結(jié)果,從而使服務(wù)提供商能夠以更新,更有效的方式計(jì)算信息,管理自身與用戶(hù)之間的信息流,并將該信息流附加到以比特幣交易結(jié)算的財(cái)務(wù)結(jié)果中。
隨著開(kāi)發(fā)人員學(xué)習(xí)這些技術(shù),預(yù)計(jì)比特幣的新應(yīng)用程序?qū)⒊霈F(xiàn),它們將比目前市場(chǎng)上的任何應(yīng)用程序都更智能、更高效、更便宜。
注:比特幣核心鏈(SegWit)上的代幣為 BTC 幣;BCHABC 鏈上的令牌被稱(chēng)為 BCH、BCH-ABC 或 BAB硬幣。
比特幣聰視(BSV)是目前唯一遵循原中本聰白皮書(shū)的比特幣項(xiàng)目,遵循原中本聰協(xié)議和設(shè)計(jì)。BSV是唯一一家保持比特幣最初愿景的公開(kāi)區(qū)塊鏈,并將大規(guī)模擴(kuò)張成為全球新的貨幣和企業(yè)區(qū)塊鏈。