事件預測方法及裝置、電子設備
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種事件預測方法及裝置、電子設備。
對於尚未完成的事件,往往需要等待該事件完成後,才能夠準確獲知該事件的結果。但是,一些場景下希望提前獲知事件的結果,比如基於該事件的結果來提前採取應對措施,再比如基於該事件的結果確定是否需要對關聯事件的處理方案進行調整等。
在相關技術中,可以通過多種方式對事件進行結果預測,比如根據歷史資料的預測分析,再比如通過樣本訓練出的預測模型進行預測分析等。由於使用的預測資料、採用的預測方式、所處的預測環境等存在差異,使得不同參與方在參與到針對同一事件的結果預測時,往往得到的預測結果也不盡相同,甚至存在較大偏差。
有鑑於此,本說明書一個或多個實施例提供一種事件預測方法及裝置、電子設備。
為實現上述目的,本說明書一個或多個實施例提供技術方案如下:
根據本說明書一個或多個實施例的第一態樣,提出了一種事件預測方法,應用於區塊鏈節點;所述方法包括:
確定參與方針對指定事件輸入的預測結果被發佈至區塊鏈,所述預測結果的輸入時刻早於所述指定事件的實際結果的發生時刻;
調用用於評價預測情況的智慧合約,所述智慧合約被用於讀取所述預測結果和所述實際結果,並對所述預測結果與所述實際結果進行比較,以根據比較結果向鏈外對象發送分配指令,所述分配指令用於指示所述鏈外對象向所述參與方分配第一鏈外權益憑證。
根據本說明書一個或多個實施例的第二態樣,提出了一種事件預測裝置,應用於區塊鏈節點;所述裝置包括:
發佈確定單元,確定參與方針對指定事件輸入的預測結果被發佈至區塊鏈,所述預測結果的輸入時刻早於所述指定事件的實際結果的發生時刻;
合約調用單元,調用用於評價預測情況的智慧合約,所述智慧合約被用於讀取所述預測結果和所述實際結果,並對所述預測結果與所述實際結果進行比較,以根據比較結果向鏈外對象發送分配指令,所述分配指令用於指示所述鏈外對象向所述參與方分配第一鏈外權益憑證。
根據本說明書一個或多個實施例的第三態樣,提出了一種電子設備,包括:
處理器;
用於儲存處理器可執行指令的儲存器;
其中,所述處理器通過運行所述可執行指令以實現如上述實施例中任一所述的事件預測方法。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書一個或多個實施例的一些態樣相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合併為單個步驟進行描述。
圖1是一示例性實施例提供的一種事件預測方法的流程圖。圖1所示,該方法應用於區塊鏈節點,可以包括以下步驟:
步驟102,確定參與方針對指定事件輸入的預測結果被發佈至區塊鏈,所述預測結果的輸入時刻早於所述指定事件的實際結果的發生時刻。
在一實施例中,通過在區塊鏈的客戶端上創建交易(transfer),可以通過該交易將參與方輸入的預測結果發佈至區塊鏈上,成為區塊鏈的分散式資料庫中的一筆資料。
需要指出的是:區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆具有業務意圖的業務資料;例如,運營方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,事件預測、租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發佈的一筆具有業務意圖的業務訊息或者業務請求。本說明書中的交易,應當傾向於理解為廣義上的交易。
在一實施例中,由於區塊鏈採用分散式資料庫,使得發佈至區塊鏈上的預測結果無法被篡改,可以確保預測結果真實、可靠。
在一實施例中,參與方輸入的預測結果可由上述的區塊鏈節點向區塊鏈發佈。在另一實施例中,參與方輸入的預測結果可由區別於上述區塊鏈節點的其他區塊鏈節點向區塊鏈發佈,而上述區塊鏈節點可以獲知與該預測結果相關的資訊,還可以將該預測結果(或該預測結果的哈希值)記錄在該區塊鏈節點維護的本地資料庫(即區塊鏈帳本)中。
在一實施例中,一個或多個參與方可以對同一事件進行預測,使得區塊鏈上可以存在分別對應於各個參與方的預測結果;其中,每一參與方可以存在對應的唯一標識,使得每一參與方發佈的預測結果可以與其唯一標識進行關聯,以便於對區塊鏈上發佈的各個預測結果進行有效區分。
在一實施例中,指定事件為被指明確定需要進行結果預測的任意事件,比如某一路口的交通狀況、某一地區的水稻收成、某一海域的颱風形成時間等,本說明書並不對此進行限制。
在一實施例中,預測結果的輸入時刻應當早於指定事件的實際結果的發生時刻,該輸入時刻可以被記錄在區塊鏈中包含該預測結果的交易中,或者可以直接將該交易的創建時刻作為該輸入時刻。在一種情況下,當該指定事件為瞬時事件時,即該指定事件從起始時刻至結束時刻之間的時間段很短,不足以使得參與方在該時間段內輸入預測結果,參與方可以在實際結果的發生時刻之前的任意時刻輸入預測結果。在另一種情況下,當該指定事件為非瞬時事件時,即參與方可以在該指定事件的起始時刻至結束時刻之間的時間段內輸入預測結果,可以限制參與方在該指定事件的起始時刻之後輸入預測結果。
步驟104,調用用於評價預測情況的智慧合約,所述智慧合約被用於讀取所述預測結果和所述實際結果,並對所述預測結果與所述實際結果進行比較,以根據比較結果向鏈外對象發送分配指令,所述分配指令用於指示所述鏈外對象向所述參與方分配第一鏈外權益憑證。
在一實施例中,智慧合約中可以預先寫入對預測結果與實際結果進行比較的處理邏輯,以及基於比較結果發送分配指令的處理邏輯,使得智慧合約可以基於讀取的預測結果和實際結果而自動確定是否需要發送分配指令;其中,由於智慧合約上的處理邏輯為公開內容,並且整個處理過程由智慧合約自動完成、不存在人工干預,使得無論是對預測結果和實際結果的比較還是對分配指令的發送,都能夠確保客觀、公正。
在一實施例中,當預測結果與實際結果相匹配時,表明提供該預測結果的參與方對於上述指定事件的結果預測具有一定的準確度。那麼,通過向鏈外對象發送分配指令、使得該鏈外對象向參與方分配第一鏈外權益憑證,可以控制各個參與方對於鏈外權益憑證的持有量,從而在一定程度上對於各個參與方實現標記作用:持有鏈外權益憑證越多的參與方對於事件結果的預測能力越強,因而在後續的事件預測過程中,能夠據此快速篩選出預測能力強的參與方,以從這些參與方處獲得可能相對更加準確的預測結果。
在一實施例中,鏈外權益憑證用於表徵一定的權益,以實現對參與方準確預測上述指定事件的激勵,有助於該參與方繼續參與對後續事件的預測,從而實現良性循環。比如參與方在區塊鏈上實施預設操作時,譬如該預設操作可以包括發佈交易、發起共識(例如基於PBFT實用拜占庭容錯算法而發起)等,可以將鏈外權益憑證兌換為區塊鏈內等價的智慧資產憑證、並通過向各個區塊鏈節點分配一定量的智慧資產憑證,以促使該預設操作能夠儘快順利完成。
在一實施例中,鏈外權益憑證可以包括用於表徵任意類型的鏈外權益的憑證,譬如在會員系統內的會員積分、在交易平臺上的優惠券、兌換券、抵價券等,本說明書並不對此進行限制。
在一實施例中,上述的智慧合約可以在交易或另一智慧合約的驅動下被調用,以觸發其從區塊鏈上讀取上述的預測結果和實際結果等,從而進一步實施本說明書的事件預測方案。在一種情況下,指定事件的實際結果可以由所述區塊鏈中的預言機(Oracle)節點發佈至所述區塊鏈上,由於預言機節點提供的資料被認為絕對可靠,因而可以確保該實際結果的準確性。在另一種情況下,指定事件的實際結果可以為經共識後由所述區塊鏈中的任一區塊鏈節點發佈至所述區塊鏈上,譬如該任一區塊鏈節點可以在區塊鏈內發起共識、以針對該任一區塊鏈節點提供的實際結果進行確認,當該實際結果通過了各個區塊鏈節點的共識後,表明該實際結果具有足夠的準確度,可以被應用於與預測結果進行比較。
在一實施例中,所述指定事件包括一個或多個子事件,所述預測結果用於對所述一個或多個子事件進行結果預測;其中,所述智慧合約被用於在所述預測結果對所述一個或多個子事件的結果預測均正確的情況下,向所述鏈外平臺發送所述分配指令,使得鏈外對象將第一鏈外權益憑證分配至所述參與方。換言之,當預測結果對指定事件的結果預測完全正確時,該預測結果被智慧合約判定為匹配於該指定事件的實際結果。
在一實施例中,所述指定事件包括多個子事件;所述第一鏈外權益憑證對應的權益大小正相關於被所述預測結果準確預測的子事件在所述多個子事件中的占比。例如,當預測結果與實際結果完全相同時,即被所述預測結果準確預測的子事件在所述多個子事件中的占比為100%,第一鏈外權益憑證所表徵的權益大小可以為預設的最大值;當預測結果與實際結果完全不相同時,即被所述預測結果準確預測的子事件在所述多個子事件中的占比為0%,第一鏈外權益憑證所表徵的權益大小可以為預設的最小值(0或其他預設值)。
在一實施例中,第一鏈外權益憑證所表徵的權益大小可以採用線性變化,例如占比為30%時,權益大小為預設最大值的30%,又例如占比為80%時,權益大小為預設最大值的80%等。在另一實施例中,第一鏈外權益憑證所表徵的權益大小可以採用非線性變化,例如占比為30%時,權益大小為預設最大值的10%,再例如占比為80%時,權益大小為預設最大值的50%,又例如占比為95%時,權益大小為預設最大值的80%等。
在一實施例中,所述指定事件包括多個子事件,當預測結果與實際結果並非完全一致時,不論被所述預測結果準確預測的子事件在所述多個子事件中的占比為何,均可以判定為兩者不匹配,使得智慧合約無需向鏈外對象發送分配指令,從而不會向參與方分配第一鏈外權益憑證。
在一實施例中,可以確定所述參與方持有的第二鏈外權益憑證被凍結,以作為用於擔保所述預測結果的有效性的擔保憑證;其中,所述智慧合約用於在所述預測結果不匹配於所述實際結果的情況下向所述擔保憑證的管理方發送扣除指令,以解除所述參與方對所述擔保憑證的持有關係。通過將參與方持有的第二鏈外權益憑證凍結為擔保憑證,使得該擔保憑證被用於對參與方提供的預測結果進行擔保,可以對參與方設置一定的參與門檻,避免隨意參與而影響對上述指定事件的準確預測。
在一實施例中,當擔保憑證表徵的權益越大時,表明參與方對自身提供的預測結果越自信,那麼當預測結果與實際結果相匹配時,在一定程度上表明參與方確實具備極強的預測能力,因而通過將第一鏈外權益憑證所表徵的權益大小設定為與所述擔保憑證表徵的權益大小呈正相關,可以對相應的參與方的預測能力進行更為準確地標記,以及對相應參與方進行更大程度的激勵。
在一實施例中,即便參與方並未凍結形成擔保憑證,仍然可以參與對指定事件的結果預測,並在預測結果與實際結果相匹配的情況下獲得上述的第一鏈外權益憑證。在另一實施例中,當參與方並未凍結形成擔保憑證時,參與方輸入的預測結果被判定為無效,使其無法真正參與到對指定事件的結果預測;或者,在預測結果與實際結果相匹配的情況下,雖然可以向該參與方分配第一鏈外權益憑證,但是該第一鏈外權益憑證無法表徵任何權益相當於未分配任何鏈外權益憑證,使得該參與方的參與無意義。
在一實施例中,所述智慧合約的調用條件可以包括:所述鏈外對象持有的第三鏈外權益憑證被凍結,且凍結的所述第三鏈外權益憑證足夠對所述分配指令進行響應。通過在調用智慧合約之前,對鏈外對象持有的第三鏈外權益憑證進行凍結,可以提前鎖定這部分鏈外權益憑證,使得即便鏈外對象在收到分配指令後拒絕向參與方分配第一鏈外權益憑證或者持有的鏈外權益憑證不足以完成分配,也可以基於凍結的該第三鏈外權益憑證順利實施分配操作。
在一實施例中,如果鏈外對象根據分配指令將第一鏈外權益憑證分配至參與方,則鏈外對象可以恢復對第三鏈外權益憑證的持有。如果所述鏈外對象未將所述第一鏈外權益憑證分配至所述參與方,用於分配鏈外權益憑證的智慧合約可以向所述第三鏈外權益憑證的管理方發送強制分配指令,以從被凍結的所述第三鏈外權益憑證中獲取所述第一鏈外權益憑證並分配至所述參與方。其中,可以由區塊鏈節點監控鏈外對象對分配指令的響應情況,例如該響應情況可以由上述的預言機節點傳入區塊鏈,從而確保其訊息的準確性;或者,預言機節點將上述的響應情況傳入區塊鏈後,用於分配鏈外權益憑證的智慧合約可以自動確定所述鏈外對象是否將所述第一鏈外權益憑證分配至所述參與方,以及自動發送上述的強制分配指令。
圖2是一示例性實施例提供的一種預測事件結果的示意圖。如圖2所示,假定用戶A希望參與針對事件B的結果預測,該用戶A可以通過安裝有客戶端的手機21輸入預測結果。該預測結果可以由用戶A通過任意方式獲得,比如由用戶A通過圖2中未示出的伺服器對歷史資料進行大數據分析得到,又比如由用戶A根據自身經驗而得到,本說明書並不對此進行限制。
設備22被配置為區塊鏈中的一個區塊鏈節點,該設備22可以接收手機21發送的預測結果;基於手機21運行的客戶端上的已登錄帳號,該預測結果可以被確定為來自用戶A。當然,手機21也可以將上述的預測結果發送至區塊鏈中的其他區塊鏈節點,這些區塊鏈節點的處理過程與設備22類似,可以參考本說明書中對於設備22的相關描述。而其他用戶也可以對事件B進行結果預測,並通過自身使用的手機或其他電子設備發送至設備22或其他區塊鏈節點處,這些用戶的處理過程與用戶A類似,可以參考本說明書中對於用戶A的相關描述。
設備22可以在區塊鏈中對用戶A輸入的預測結果進行共識,使得該預測結果在通過共識後被發佈至區塊鏈,以記錄至區塊鏈的分散式資料庫中,即“上鏈”。本說明書並不限定採用的共識算法的類型;例如,當設備22所處的區塊鏈為聯盟鏈或公有鏈時,該設備22可以基於諸如PBFT (Practical Byzantine Fault Tolerance,實用拜占庭容錯)算法向其他區塊鏈節點發起共識,並在通過共識後將該預測結果發佈至區塊鏈,使其被記錄至區塊鏈的分散式資料庫中;再例如,當設備22所處的區塊鏈為公有鏈時,該設備22可以與其他區塊鏈節點基於POW(Proof of Work,工作量證明)算法、POS(Proof of Stake,股權證明)算法或其他算法競爭記帳權,並由獲得記帳權的區塊鏈節點向相應區塊內記入交易資料,而當包含用戶A輸入的預測結果的交易被記入時,該預測結果可以被記錄至區塊鏈的分散式資料庫中。
區塊鏈中可以包括預言機節點23,該預言機節點23可以獲取鏈外(即區塊鏈之外)資料,並將鏈外資料傳入區塊鏈中。例如,該預言機節點23可以從鏈外獲取事件B的實際結果,並將該實際結果發佈至區塊鏈中,以記錄於區塊鏈的分散式資料庫中,即“上鏈”。
為了確定用戶A輸入的預測結果與實際結果是否相匹配,尤其是為了避免在處理過程中涉及到人為干預、確保準確度和有效性,可以預先在區塊鏈上創建智慧合約,該智慧合約中定義有用於確定預測結果與實際結果之間的匹配情況的功能邏輯,該功能邏輯可以自動對用戶A輸入的預測結果與預言機節點23傳入的事件B的實際結果進行比較,使得比較結果客觀、準確。
在一實施例中,智慧合約可以由區塊鏈上的交易或其他智慧合約進行調用,以觸發其自動實施相關功能邏輯,譬如上述用於確定預測結果與實際結果之間的匹配情況的功能邏輯等。設備22可以通過在區塊鏈中發佈交易或調用其他智慧合約,以實現對上述智慧合約的調用;或者,可以由其他區塊鏈節點對上述智慧合約進行調用,本說明書並不對此進行限制。在被調用後,上述的智慧合約可以在設備22上運行,以自動實施上述的功能邏輯。
為了便於理解,下面結合圖3和圖4,針對圖2所示實施例中提及的智慧合約所實施的功能邏輯進行詳細描述。
圖3是一示例性實施例提供的一種智慧合約實施的功能邏輯的流程圖。如圖3所示,該功能邏輯可以包括以下步驟:
步驟302,從區塊鏈上獲取用戶A的預測結果。
在一實施例中,用戶A的預測結果被記錄於區塊鏈上的某一交易中,該交易可以被標記為與事件B相關,使得智慧合約可以據此從區塊鏈中查找到該交易,並獲取用戶A的預測結果。例如,智慧合約可以通過掃描特定位址的交易記錄或者特定流水號的交易記錄,即可獲得用戶A輸入的預測結果。
在一實施例中,區塊鏈上還記錄有其他用戶輸入的預測結果,智慧合約可以通過類似方式獲得這些預測結果,此處不再一一贅述。
步驟304,從區塊鏈上獲取實際結果。
在一實施例中,預言機節點23傳入的實際結果被記錄於區塊鏈上的某一交易中,該交易可以被標記為與事件B相關,使得智慧合約可以據此從區塊鏈中查找到該交易,並獲取該實際結果。例如,智慧合約可以通過掃描特定位址的交易記錄或者特定流水號的交易記錄,即可獲得該實際結果。
步驟306,比較用戶A的預測結果與事件B的實際結果,確定該預測結果與實際結果是否一致。
在一實施例中,假定事件B為唯一事件、未包含多個子事件,使得預測結果與實際結果僅存在兩種情況:結果一致或結果不一致。預測結果與實際結果應當具有相同的資料結構,以便於實現比較操作。例如,假定事件B為某一路口在上下班高峰期的交通狀況,預測結果、實際結果可以分別包含一字段m,當該字段m=0時表示擁擠堵塞、當該字段m=1時表示不擁擠堵塞。
步驟308A,當預測結果與實際結果一致時,確定用戶A是否存在擔保憑證。
步驟310A,當存在擔保憑證時,向機構C發送分配指令1。
步驟310B,當不存在擔保憑證時,向機構C發送分配指令2。
在一實施例中,用戶A可以對自身輸入的預測結果配置相應的擔保憑證,以用於對該預測結果的有效性進行擔保。例如,用戶A在區塊鏈之外可以存在對應的帳戶a,並通過該帳戶a持有一定的鏈外權益憑證,可以通過對該帳戶a中的至少一部分鏈外權益憑證進行凍結,以作為上述的擔保憑證;比如,可以由該帳戶a將該至少一部分鏈外權益憑證暫時轉入專用的憑證凍結帳戶中,或者可以在該帳戶a中對該至少一部分鏈外權益憑證添加凍結標識等,本說明書並不對此進行限制。在該實施例中,該擔保憑證並非必要:如果存在擔保憑證,可以向機構C發送分配指令1,使得該機構C向用戶A分配鏈外權益憑證S1,如果不存在擔保憑證,可以向機構C發送分配指令2,使得該機構C向用戶A分配鏈外權益憑證S2;其中,鏈外權益憑證S1所表徵的權益應當大於鏈外權益憑證S2所表徵的權益,以表明對用戶A提供擔保憑證的激勵,並使得用戶A持有的鏈外權益憑證更多,從而表明該用戶A的預測能力變強或預測準確度增加。其中,鏈外權益憑證S1、S2所表徵的權益可以是固定值,或者該鏈外權益憑證S1、S2所表徵的權益可以與擔保憑證所表徵的權益呈正相關,即擔保憑證所表徵的權益越大/越多時,該鏈外權益憑證S1、S2所表徵的權益隨之越大/越多。
在一實施例中,為了避免用戶A隨意發佈對事件B的預測結果、確保該預測結果有意義,可以為參與用戶B的結果預測設置一定門檻,比如要求用戶A必須提供擔保憑證。因此,對於存在擔保憑證的情況下,可以向用戶A分配鏈外權益憑證S1、該鏈外權益憑證S1用於表徵一定權益;而當不存在擔保憑證的情況下,向用戶A分配的鏈外權益憑證S2無法表徵任何權益,相當於未分配任何鏈外權益憑證,那麼用戶A的參與將是無意義的。
步驟308B,當預測結果與實際結果不一致時,確定用戶A是否存在擔保憑證。
步驟310C,當存在擔保憑證時,扣除擔保憑證。
在一實施例中,當預測結果與實際結果不一致時,即用戶A對事件B的結果預測不準確或預測失敗,可以通過扣除擔保憑證使得用戶A終止持有該擔保憑證對應的鏈外權益憑證,那麼用戶A持有的鏈外權益憑證減少,以表明該用戶A的預測能力變弱或預測準確度降低。
在一實施例中,用戶A對應的擔保憑證可以具備一管理方,比如帳戶管理系統等,智慧合約可以通過向該管理方發送扣除指令,使得該管理方響應於該扣除指令而扣除相應的擔保憑證。
圖4是一示例性實施例提供的另一種智慧合約實施的功能邏輯的流程圖。如圖4所示,該功能邏輯可以包括以下步驟:
步驟402,從區塊鏈上獲取用戶A的預測結果。
步驟404,從區塊鏈上獲取實際結果。
在一實施例中,步驟402至404可以參考圖3所示的步驟302至304,此處不再贅述。
步驟406,比較用戶A的預測結果與事件B的實際結果,確定該預測結果與實際結果是否完全一致。
在一實施例中,假定事件B包含多個子事件,如果用戶A的預測結果對所有的子事件均準確預測,則該預測結果與實際結果完全一致;而如果用戶A僅準確預測了部分子事件的結果,或者用戶A本身就僅針對部分子事件實施了預測,那麼預測結果與實際結果可能部分一致;當然,有可能用戶A對所有子事件的預測均不正確,則預測結果與實際結果完全不一致。
在一實施例中,預測結果與實際結果應當具有相同的資料結構,以便於實現比較操作。例如,假定事件B為某一路口在上下班高峰期的交通狀況,預測結果、實際結果可以分別包含字段m1和字段m2,m1字段代表早高峰期間的交通狀況、m2代表晚高峰期間的交通狀況,當該字段m1=0時表示早高峰期間擁擠堵塞、當該字段m1=1時表示早高峰期間不擁擠堵塞,當該字段m2=0時表示晚高峰期間擁擠堵塞、當該字段m2=1時表示晚高峰期間不擁擠堵塞。
步驟408A,當預測結果與實際結果完全一致時,確定用戶A是否存在擔保憑證。
步驟410A,當存在擔保憑證時,向機構C發送分配指令1。
步驟410B,當不存在擔保憑證時,向機構C發送分配指令2。
在一實施例中,步驟408A、步驟410A和步驟410B可以參考如圖3所示的步驟308A、步驟310A和步驟310B,此處不再贅述。
步驟408B,當預測結果與實際結果並非完全一致時,確定預測結果與實際結果是否部分一致。
步驟410C,當預測結果與實際結果完全不一致時,若存在擔保憑證,則扣除擔保憑證。
在一實施例中,與圖3所示實施例相類似地,用戶A可以對自身輸入的預測結果配置相應的擔保憑證,以用於對該預測結果的有效性進行擔保。那麼,當預測結果與實際結果完全不一致時,即用戶A對事件B的結果預測不準確或預測失敗,可以通過扣除擔保憑證使得用戶A終止持有該擔保憑證對應的鏈外權益憑證,那麼用戶A持有的鏈外權益憑證減少,以表明該用戶A的預測能力變弱或預測準確度降低。
步驟410D,當預測結果與實際結果部分一致時,確定用戶A是否存在擔保憑證。
步驟412A,當存在擔保憑證時,向機構C發送分配指令3。
步驟412B,當不存在擔保憑證時,向機構C發送分配指令4。
在一實施例中,與步驟410A至410B相類似的,當預測結果與實際結果部分一致時,表明用戶A具有一定程度的預測能力,因而出於對這部分預測能力的標注,以及對於用戶A的激勵,可以向機構C發送分配指令3或分配指令4,使得機構C向用戶A分配一定的鏈外權益憑證。在該實施例中,該擔保憑證並非必要:如果存在擔保憑證,可以向用戶A分配鏈外權益憑證S3,如果不存在擔保憑證,可以向用戶A分配鏈外權益憑證S4;其中,在所表徵的權益大小態樣:S1>S3>S4、S1>S2>S4。
在一實施例中,鏈外權益憑證S1、S3所表徵的權益可以是分別對應的固定值,或者該鏈外權益憑證S1、S3所表徵的權益可以分別與擔保憑證所表徵的權益呈正相關,即擔保憑證所表徵的權益越大/越多時,該智慧資產憑證S1、S3所表徵的權益隨之越大/越多。
在一實施例中,為了避免用戶A隨意發佈對事件B的預測結果、確保該預測結果有意義,可以為參與用戶B的結果預測設置一定門檻,比如要求用戶A必須提供擔保憑證。因此,對於存在擔保憑證的情況下,可以向用戶A分配鏈外權益憑證S3、該鏈外權益憑證S3用於表徵一定權益;而當不存在擔保憑證的情況下,向用戶A分配的鏈外權益憑證S4無法表徵任何權益,相當於未分配任何鏈外權益憑證,那麼用戶A的參與將是無意義的。
在一實施例中,由於用戶A只有在預測結果與實際結果相匹配的情況下,才能夠分配到相應的鏈外權益憑證,因而用戶A所持有的鏈外權益憑證可以用於表徵其預測能力或預測準確度,即當持有的鏈外權益憑證越多或表徵的權益越大時,表明該用戶A的預測能力越強或預測準確度越高。
其中,用戶A還可以將鏈外權益憑證用於其他態樣。例如,區塊鏈中的部分區塊鏈節點可以扮演錨點的角色,可以將用戶A持有的鏈外權益憑證兌換為等價的智慧資產憑證,譬如該錨點發佈的房產憑證、證券憑證、股票憑證、存款憑證等,本說明書並不對此進行限制。當鏈外權益憑證用於表徵用戶的預測能力時,僅允許將鏈外權益憑證兌換為智慧資產憑證,而限制將智慧資產憑證兌換為鏈外權益憑證;當然,如果同時存在用於表徵用戶的預測能力的第一類鏈外權益憑證、不用於表徵用戶的預測能力的第二類鏈外權益憑證,可以限制將智慧資產憑證兌換為第一類鏈外權益憑證、而允許將鏈外權益憑證兌換為第二類鏈外權益憑證。
在如圖3至4所示的實施例中,當機構C收到分配指令1~4時,可能出於各種原因而未將鏈外權益憑證S1~S4分配至用戶A,譬如機構C持有的鏈外權益憑證不足以響應分配指令1~4(即機構C持有的鏈外權益憑證少於/小於鏈外權益憑證S1~S4)或者其他原因。為了避免上述情況的發生,確保用戶A能夠順利獲得鏈外權益憑證S1~S4,在發起針對事件B的預測之前,可以首先確定機構C將持有的至少一部分鏈外權益憑證凍結,譬如可以凍結於指定的管理方(如某第三方金融平臺)處,而預言機節點23可以將相應的凍結結果傳入區塊鏈,那麼上述的智慧合約可以在掃描到該凍結結果後執行如圖3或圖4所示的處理邏輯,否則可以不執行。而在分配指令1~4被發送至機構C之後,預言機節點23可以將機構C對鏈外權益憑證S1~S4的分配情況傳入區塊鏈,而設備22可以調用用於鏈外權益憑證分配的智慧合約,該智慧合約可以通過向上述的管理方發送強制分配指令,使得該管理方將凍結的鏈外權益憑證解凍,並向用戶A分配相應的鏈外權益憑證,該過程不受機構C所約束。
圖5是一示例性實施例提供的一種設備的示意結構圖。請參考圖5,在硬體層面,該設備包括處理器502、內部匯流排504、網路介面506、記憶體508以及非揮發性記憶體510,當然還可能包括其他業務所需要的硬體。處理器502從非揮發性記憶體510中讀取對應的電腦程式到記憶體508中然後運行,在邏輯層面上形成事件預測裝置。當然,除了軟體實現方式之外,本說明書一個或多個實施例並不排除其他實現方式,比如邏輯裝置抑或軟硬體結合的方式等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯裝置。
請參考圖6,在軟體實施方式中,該事件預測裝置應用於區塊鏈節點;該裝置可以包括:
發佈確定單元61,確定參與方針對指定事件輸入的預測結果被發佈至區塊鏈,所述預測結果的輸入時刻早於所述指定事件的實際結果的發生時刻;
第一合約調用單元62,調用用於評價預測情況的智慧合約,所述智慧合約被用於讀取所述預測結果和所述實際結果,並對所述預測結果與所述實際結果進行比較,以根據比較結果向鏈外對象發送分配指令,所述分配指令用於指示所述鏈外對象向所述參與方分配第一鏈外權益憑證。
可選的,
所述實際結果由所述智慧合約從所述區塊鏈上讀取,所述實際結果由所述區塊鏈中的預言機節點發佈至所述區塊鏈上;
或者,所述實際結果由所述智慧合約從所述區塊鏈上讀取,所述實際結果經共識後由所述區塊鏈中的任一區塊鏈節點發佈至所述區塊鏈上。
可選的,所述指定事件包括一個或多個子事件,所述預測結果用於對所述一個或多個子事件分別進行結果預測;其中,所述智慧合約被用於在所述預測結果對所述一個或多個子事件的結果預測均正確的情況下,向所述鏈外平臺發送所述分配指令。
可選的,所述指定事件包括多個子事件;所述第一鏈外權益憑證對應的權益大小正相關於被所述預測結果準確預測的子事件在所述多個子事件中的占比。
可選的,還包括:
凍結確定單元63,確定所述參與方持有的第二鏈外權益憑證被凍結,以作為用於擔保所述預測結果的有效性的擔保憑證;
其中,所述智慧合約用於在所述預測結果不匹配於所述實際結果的情況下向所述擔保憑證的管理方發送扣除指令,以解除所述參與方對所述擔保憑證的持有關係。
可選的,所述第一鏈外權益憑證所表徵的權益大小與所述擔保憑證表徵的權益大小呈正相關。
可選的,所述智慧合約用於在所述參與方不存在對應的擔保憑證的情況下,判定所述參與方對應的預測結果無效。
可選的,所述第一鏈外權益憑證包括以下至少之一:會員積分、優惠券、兌換券、抵價券。
可選的,所述智慧合約的調用條件包括:所述鏈外對象持有的第三鏈外權益憑證被凍結,且凍結的所述第三鏈外權益憑證足夠對所述分配指令進行響應。
可選的,還包括:
第二合約調用單元64,在所述鏈外對象未將所述第一鏈外權益憑證分配至所述參與方的情況下,調用用於分配鏈外權益憑證的智慧合約,使所述用於分配鏈外權益憑證的智慧合約向所述第三鏈外權益憑證的管理方發送強制分配指令,以從被凍結的所述第三鏈外權益憑證中獲取所述第一鏈外權益憑證並分配至所述參與方。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性儲存器,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體 (PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體 (CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶、磁碟儲存、量子儲存器、基於石墨烯的儲存媒體或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和平行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅出於描述特定實施例的目的,而非旨在限制本說明書一個或多個實施例。在本說明書一個或多個實施例和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
21‧‧‧手機
22‧‧‧設備
23‧‧‧預言機節點
61‧‧‧發佈確定單元
62‧‧‧第一合約調用單元
63‧‧‧凍結確定單元
64‧‧‧第二合約調用單元
102‧‧‧步驟
104‧‧‧步驟
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308A‧‧‧步驟
308B‧‧‧步驟
310A‧‧‧步驟
310B‧‧‧步驟
310C‧‧‧步驟
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408A‧‧‧步驟
408B‧‧‧步驟
410A‧‧‧步驟
410B‧‧‧步驟
410C‧‧‧步驟
410D‧‧‧步驟
412A‧‧‧步驟
412B‧‧‧步驟
502‧‧‧處理器
504‧‧‧內部匯流排
506‧‧‧網路介面
508‧‧‧記憶體
510‧‧‧非揮發性記憶體
圖1是一示例性實施例提供的一種事件預測方法的流程圖。
圖2是一示例性實施例提供的一種預測事件結果的示意圖。
圖3是一示例性實施例提供的一種智慧合約實施的功能邏輯的流程圖。
圖4是一示例性實施例提供的另一種智慧合約實施的功能邏輯的流程圖。
圖5是一示例性實施例提供的一種設備的結構示意圖。
圖6是一示例性實施例提供的一種事件預測裝置的方塊圖。