基於區塊鏈的虛擬資源分配方法及裝置、電子設備
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種基於區塊鏈的虛擬資源分配方法及裝置、電子設備。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用。
本說明書提出一種基於區塊鏈的虛擬資源分配方法,所述方法包括:
接收用戶端發送的資源分配交易;其中,所述資源分配交易包括目標用戶的用戶標識;
回應於所述資源分配交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;
如果所述業務指標滿足虛擬資源分配條件,進一步呼叫所述智慧合約中的虛擬資源分配邏輯,從虛擬資源池中為所述目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與所述用戶標識對應的區塊鏈帳戶;
其中,所述虛擬資源池中的虛擬資源錨定了與所述業務對應的業務營運方的業務利潤。
可選的,還包括:
如果所述業務指標不滿足虛擬資源分配條件,確定所述區塊鏈上與所述用戶標識對應的區塊鏈帳戶中是否持有所述虛擬資源;如果是,將所述區塊鏈帳戶中持有的虛擬資源轉入所述虛擬資源池。
可選的,校驗所述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件,包括以下顯示的任一步驟:
採集所述目標用戶在預設的業務週期內的業務指標,並確定採集到的業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由校驗方發佈至所述區塊鏈的針對所述目標用戶在預設的業務週期內的業務指標的校驗結果,並基於查詢到的所述校驗結果確定所述業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由所述業務營運方發佈至所述區塊鏈的在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶列表,並將所述目標用戶的用戶標識與所述用戶列表中的用戶標識進行匹配,以確定所述業務指標是否滿足虛擬資源分配條件。
可選的,所述業務包括支付業務;所述業務指標包括支付訂單數;
所述虛擬資源分配條件包括以下顯示的任一項:
在預設的業務週期內的支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的平均支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的支付訂單數均達到預設臨界值。
可選的,所述虛擬資源禁止在所述區塊鏈上的各區塊鏈帳戶之間進行轉移。
可選的,所述方法還包括:
接收用戶端發送的資源兌換交易;其中,所述資源兌換交易包括目標用戶的用戶標識和待兌換的目標虛擬資源的數量;
回應於所述資源兌換交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標虛擬資源是否滿足虛擬資源兌換條件;
如果所述目標虛擬資源滿足虛擬兌換條件,進一步呼叫所述智慧合約中的虛擬資源兌換邏輯,生成與所述目標虛擬資源對應的允許兌換事件,並將所述允許兌換事件發佈至所述區塊鏈進行存證,以使得支付平臺在監聽到所述區塊鏈中存證的所述允許兌換事件時,基於所述區塊鏈存證的所述虛擬資源池中的單筆虛擬資源錨定的業務利潤金額和所述目標虛擬資源的數量計算兌換金額,並基於所述兌換金額向與所述用戶標識對應的兌換帳戶進行轉帳處理。
可選的,所述虛擬資源,包括以下顯示的任一項:
錨定了業務營運方的業務利潤營收的虛擬股票;
錨定了業務營運方的業務利潤營收的虛擬資產;
錨定了業務營運方的業務利潤營收的虛擬期權;
錨定了業務營運方的業務利潤營收的電子憑證。
可選的,所述業務營運方為支付平臺;或者,存取所述支付平臺的商家。
本說明書還提出一種基於區塊鏈的虛擬資源分配裝置,所述裝置包括:
第一接收模組,接收用戶端發送的資源分配交易;其中,所述資源分配交易包括目標用戶的用戶標識;
第一校驗模組,回應於所述資源分配交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;
分配模組,如果所述業務指標滿足虛擬資源分配條件,進一步呼叫所述智慧合約中的虛擬資源分配邏輯,從虛擬資源池中為所述目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與所述用戶標識對應的區塊鏈帳戶;
其中,所述虛擬資源池中的虛擬資源錨定了與所述業務對應的業務營運方的業務利潤。
可選的,還包括:
回收模組,如果所述業務指標不滿足虛擬資源分配條件,確定所述區塊鏈上與所述用戶標識對應的區塊鏈帳戶中是否持有所述虛擬資源;如果是,將所述區塊鏈帳戶中持有的虛擬資源轉入所述虛擬資源池。
可選的,所述第一校驗模組,進一步執行以下顯示的任一步驟:
採集所述目標用戶在預設的業務週期內的業務指標,並確定採集到的業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由校驗方發佈至所述區塊鏈的針對所述目標用戶在預設的業務週期內的業務指標的校驗結果,並基於查詢到的所述校驗結果確定所述業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由所述業務營運方發佈至所述區塊鏈的在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶列表,並將所述目標用戶的用戶標識與所述用戶列表中的用戶標識進行匹配,以確定所述業務指標是否滿足虛擬資源分配條件。
可選的,所述業務包括支付業務;所述業務指標包括支付訂單數;
所述虛擬資源分配條件包括以下顯示的任一項:
在預設的業務週期內的支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的平均支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的支付訂單數均達到預設臨界值。
可選的,所述虛擬資源禁止在所述區塊鏈上的各區塊鏈帳戶之間進行轉移。
可選的,還包括:
第二接收模組,接收用戶端發送的資源兌換交易;其中,所述資源兌換交易包括目標用戶的用戶標識和待兌換的目標虛擬資源的數量;
第二校驗模組,回應於所述資源兌換交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標虛擬資源是否滿足虛擬資源兌換條件;
兌換模組,如果所述目標虛擬資源滿足虛擬兌換條件,進一步呼叫所述智慧合約中的虛擬資源兌換邏輯,生成與所述目標虛擬資源對應的允許兌換事件,並將所述允許兌換事件發佈至所述區塊鏈進行存證,以使得支付平臺在監聽到所述區塊鏈中存證的所述允許兌換事件時,基於所述區塊鏈存證的所述虛擬資源池中的單筆虛擬資源錨定的業務利潤金額和所述目標虛擬資源的數量計算兌換金額,並基於所述兌換金額向與所述用戶標識對應的兌換帳戶進行轉帳處理。
可選的,所述虛擬資源,包括以下顯示的任一項:
錨定了業務營運方的業務利潤營收的虛擬股票;
錨定了業務營運方的業務利潤營收的虛擬資產;
錨定了業務營運方的業務利潤營收的虛擬期權;
錨定了業務營運方的業務利潤營收的電子憑證。
可選的,所述業務營運方為支付平臺;或者,存取所述支付平臺的商家。
在以上技術方案中,通過將虛擬資源池中的虛擬資源與業務營運方的業餘利潤錨定,並在區塊鏈上部署用於向用戶分配虛擬資源的智慧合約,使得用戶通過用戶端構建交易呼叫該智慧合約,就可以觸發將業務營運方的業務利潤以虛擬資源的形式,向在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶群體進行分配,從而實現將業務營運方的業務利潤,向在一定週期內的業務指標滿足一定條件的高價值用戶派發。
這裡將詳細地對範例性實施例進行說明,其範例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下範例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書一個或多個實施例的一些態樣相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書顯示和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單一步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合併為單一步驟進行描述。
區塊鏈一般被劃分為三種類型:公有鏈(Public Blockchain),私有鏈(Private Blockchain)和聯盟鏈(Consortium Blockchain)。此外,還可以有上述多種類型的結合,例如私有鏈+聯盟鏈、聯盟鏈+公有鏈等。
其中,去中心化程度最高的是公有鏈。公有鏈以比特幣、以太坊為代表,加入公有鏈的參與者(也可稱為區塊鏈中的節點)可以讀取鏈上的資料記錄、參與交易、以及競爭新區塊的記帳權等。而且,各節點可自由加入或者退出網路,並進行相關操作。
私有鏈則相反,該網路的寫入權限由某個組織或者機構控制,資料讀取權限受組織規定。簡單來說,私有鏈可以為一個弱中心化系統,其對節點具有嚴格限制且節點數量較少。這種類型的區塊鏈更適合於特定機構內部使用。
聯盟鏈則是介於公有鏈以及私有鏈之間的區塊鏈,可實現“部分去中心化”。聯盟鏈中各個節點通常有與之相對應的實體機構或者組織;節點通過授權加入網路並組成利益相關聯盟,共同維護區塊鏈運行。
基於區塊鏈的基本特性,區塊鏈通常是由若干個區塊構成。在這些區塊中分別記錄有與該區塊的創建時刻對應的時間戳,所有的區塊嚴格按照區塊中記錄的時間戳,構成一條在時間上有序的資料鏈條。
對於實體世界產生的真實資料,可以將其構建成區塊鏈所支援的標準的交易(transaction)格式,接著發佈至區塊鏈,由區塊鏈中的節點設備對收到的交易進行共識處理,並在達成共識後,由區塊鏈中作為記帳節點的節點設備,將這筆交易打包進區塊,在區塊鏈中進行持久化存證。
其中,區塊鏈中支援的共識演算法可以包括:
第一類共識演算法,即節點設備需要爭奪每一輪的記帳週期的記帳權的共識演算法;例如,工作量證明(Proof of Work, POW)、股權證明(Proof of Stake,POS)、委任權益證明(Delegated Proof of Stake,DPOS)等共識演算法;
第二類共識演算法,即預先為每一輪記帳週期選舉記帳節點(不需要爭奪記帳權)的共識演算法;例如,實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等共識演算法。
在採用第一類共識演算法的區塊鏈網路中,爭奪記帳權的節點設備,都可以在接收到交易後執行該筆交易。爭奪記帳權的節點設備中可能有一個節點設備在本輪爭奪記帳權的過程中勝出,成為記帳節點。記帳節點可以將收到的交易與其它交易一起打包以生成最新區塊,並將生成的最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識。
在採用第二類共識演算法的區塊鏈網路中,具有記帳權的節點設備在本輪記帳前已經商定好。因此,節點設備在接收到交易後,如果自身不是本輪的記帳節點,則可以將該交易發送至記帳節點。對於本輪的記帳節點,在將該交易與其它交易一起打包以生成最新區塊的過程中或者之前,可以執行該交易。記帳節點在生成最新區塊後,可以將該最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識。
如上所述,無論區塊鏈採用以上顯示的哪種共識演算法,本輪的記帳節點都可以將接收到的交易打包以生成最新區塊,並將生成的最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識驗證。如果其它節點設備接收到最新區塊或者該最新區塊的區塊頭後,經驗證沒有問題,可以將該最新區塊追加到原有的區塊鏈末尾,從而完成區塊鏈的記帳過程。其它節點驗證記帳節點發來的新的區塊或區塊頭的過程中,也可以執行該區塊中的包含的交易。
在區塊鏈領域,有一個重要的概念就是帳戶(Account);以以太坊為例,以太坊通常將帳戶劃分為外部帳戶和合約帳戶兩類;外部帳戶就是由用戶直接控制的帳戶;而合約帳戶則是由用戶通過外部帳戶創建的,包含合約代碼的帳戶(即智慧合約)。當然,對於一些基於以太坊的架構而衍生出的區塊鏈項目(例如螞蟻區塊鏈),還可以對區塊鏈支援的帳戶類型,進行進一步的擴展,在本說明書中不進行特別限定。
對於區塊鏈中的帳戶而言,通常會通過一個結構體,來維護帳戶的帳戶狀態。當區塊中的交易被執行後,區塊鏈中與該交易相關的帳戶的狀態通常也會發生變化。
以以太坊為例,帳戶的結構體通常包括Balance,Nonce,Code和Storage等欄位。其中:
Balance欄位,用於維護帳戶目前的帳戶餘額;
Nonce欄位,用於維護該帳戶的交易次數;它是用於保障每筆交易能且只能被處理一次的計數器,有效避免重播攻擊;
Code欄位,用於維護該帳戶的合約代碼;在實際應用中,Code欄位中通常僅維護合約代碼的hash值;因而,Code欄位通常也稱之為Codehash欄位。
Storage欄位,用於維護該帳戶的儲存內容(預設欄位值為空);在實際應用中,對於合約帳戶而言,通常會分配一個獨立的儲存空間,用以儲存該合約帳戶的儲存內容;該獨立的儲存空間通常稱之為該合約帳戶的帳戶儲存。合約帳戶的儲存內容通常構建成MPT(Merkle Patricia Trie)樹的資料結構儲存在上述獨立的儲存空間之中;其中,基於合約帳戶的儲存內容構建成的MPT樹,通常也稱之為Storage樹。而Storage欄位通常僅維護該Storage樹的根節點;因此,Storage欄位通常也稱之為StorageRoot欄位。
其中,對於外部帳戶而言,以上顯示的Code欄位和Storage欄位的欄位值均為空值。
而大多數區塊鏈項目,通常都會使用Merkle樹,或者基於Merkle樹的資料結構,來儲存和維護資料。以以太坊為例,以太坊使用了MPT樹(一種Merkle樹變種),作為資料組織形式,用來組織和管理帳戶狀態、交易資訊等重要資料。
以太坊針對區塊鏈中需要儲存和維護的資料,設計了三顆MPT樹,分別是MPT狀態樹、MPT交易樹和MPT收據樹。
MPT狀態樹,是由區塊鏈中所有帳戶的帳戶狀態(state)資料組織成的MPT樹;MPT交易樹,是由區塊鏈中的交易(transaction)資料組織成的MPT樹;MPT收據樹,是區塊中的交易在執行完畢後生成的與每筆交易對應的交易(receipt)收據組織成的MPT樹。以上顯示的MPT狀態樹、MPT交易樹和MPT收據樹的根節點的hash值,最終都會被添加至對應區塊的區塊頭中。
其中,MPT交易樹和MPT收據樹均與區塊相對應,即每一個區塊都有自己的MPT交易樹和MPT收據樹。而MPT狀態樹是一個全域的MPT樹,並不與某一個特定的區塊相對應,而是涵蓋了區塊鏈中所有帳戶的帳戶狀態資料。
對於組織成的MPT交易樹、MPT收據樹和MPT狀態樹,最終都會在採用多級資料儲存結構的Key-Value型資料庫(例如,LevelDB)中進行儲存。
而採用多級資料儲存結構的上述資料庫,通常採用多級資料儲存的結構,可以被劃分為n級資料儲存;例如,各級資料儲存可以依次設為L0,L1,L2,L3....L(n-1);對於上述資料庫中的各級資料儲存而言,等級編號越小通常層級越高;例如,L0儲存的是最新的若干區塊的資料,L1儲存的是次新的若干區塊的資料,以此類推。
其中,各級資料儲存對應的儲存媒體的讀寫性能,通常也可以存在性能差異;例如,層級高(即等級編號較小的)的資料儲存對應的儲存媒體的讀寫性能,可以高於層級低的資料儲存對應的儲存媒體的讀寫性能。在實際應用中,層級高的資料儲存,可以使用儲存成本較高,儲存性能較優的儲存媒體;而層級低的資料儲存,可以使用單位成本低,且容量較大的儲存媒體。
需要說明的是,區塊鏈每產生一個最新區塊,則在該最新區塊中的交易被執行之後,區塊鏈中這些被執行交易的相關帳戶(可以是外部帳戶也可以是合約帳戶)的帳戶狀態,通常也會隨之發生變化;
例如,當區塊中的一筆“轉帳交易”執行完畢後,與該“轉帳交易”相關的轉出方帳戶和轉入方帳戶的餘額(即這些帳戶的Balance欄位的欄位值),通常也會隨之發生變化。
而節點設備在區塊鏈產生的最新區塊中的交易執行完畢後,由於當前區塊鏈中的帳戶狀態發生了變化,因此節點設備需要根據區塊鏈中所有帳戶當前的帳戶狀態資料,來構建MPT狀態樹,用於維護區塊鏈中所有帳戶的最新狀態。
也即,每當區塊鏈中產生一個最新區塊,並且該最新區塊中的交易執行完畢後,導致區塊鏈中的帳戶狀態發生變化,節點設備都需要基於區塊鏈中所有帳戶最新的帳戶狀態資料,重新構建一顆MPT狀態樹。
換句話說,區塊鏈中每一個區塊,都有一個與之對應的MPT狀態樹;該MPT狀態樹,維護了在該區塊中的交易在執行完畢後,區塊鏈中所有帳戶最新的帳戶狀態。
在實際應用中,不論是公有鏈、私有鏈還是聯盟鏈,都可能提供智慧合約(Smart contract)的功能。區塊鏈上的智慧合約是在區塊鏈上可以被交易觸發執行的合約。智慧合約可以通過代碼的形式定義。
以以太坊為例,支援用戶在以太坊網路中創建並呼叫一些複雜的邏輯。以太坊作為一個可程式化區塊鏈,其核心是以太坊虛擬機(EVM),每個以太坊節點都可以運行EVM。EVM是一個圖靈完備的虛擬機,通過它可以實現各種複雜的邏輯。用戶在以太坊中發佈和呼叫智慧合約就是在EVM上運行的。實際上,EVM直接運行的是虛擬機代碼(虛擬機位元組碼,下簡稱“位元組碼”),所以部署在區塊鏈上的智慧合約可以是位元組碼。
如圖1所示,Bob將一個包含創建智慧合約資訊的交易(Transaction)發送到以太坊網路後,節點1的EVM可以執行這個交易並生成對應的合約實例。節點1中的“0x68e12cf284…”代表了這個合約的位址,交易的Data欄位的欄位值保存的合約代碼可以是位元組碼,交易的To欄位的欄位值為一個null(空)的帳戶。節點間通過共識機制達成一致後,這個智慧合約成功創建,後續用戶可以呼叫這個智慧合約。
智慧合約創建後,區塊鏈上出現一個與該智慧合約對應的合約帳戶,並擁有一個特定的位址,合約代碼(Code)和帳戶儲存(Storage)將保存在該合約帳戶的帳戶儲存中;智慧合約的行為由合約代碼控制,而智慧合約的帳戶儲存則保存了智慧合約的狀態。換句話說,智慧合約使得區塊鏈上產生包含合約代碼和帳戶儲存的虛擬帳戶。
前述提到,包含創建智慧合約的交易的Data欄位保存的可以是該智慧合約的位元組碼。位元組碼由一連串的位元組組成,每一位元組可以標識一個操作。基於開發效率、可讀性等多態樣考慮,開發者可以不直接書寫位元組碼,而是選擇一門高階語言編寫智慧合約代碼。例如,高階語言可以諸如Solidity、Serpent、LLL語言等。對於採用高階語言編寫的智慧合約代碼,可以經過編譯器編譯,生成可以部署到區塊鏈上的位元組碼。
以Solidity語言為例,用其編寫的合約代碼與面向物件程式化語言中的類(Class)很相似,在一個合約中可以聲明多種成員,包括狀態變量、函數、函數修改器、事件等。狀態變量是永久儲存在智慧合約的帳戶儲存(Storage)欄位中的值,用於保存合約的狀態。
如圖2所示,仍以以太坊為例,Bob將一個包含呼叫智慧合約資訊的交易發送到以太坊網路後,節點1的EVM可以執行這個交易並生成對應的合約實例。圖中2中交易的From欄位用於記錄發起呼叫智慧合約的帳戶的位址,To欄位用於記錄被呼叫的智慧合約的位址,交易的Data欄位用於記錄呼叫智慧合約的方法和參數。呼叫智慧合約後,合約帳戶的帳戶狀態可能改變。後續,某個用戶端可以通過存取的區塊鏈節點(例如圖2中的節點1)查看合約帳戶的帳戶狀態。
智慧合約可以以規定的方式在區塊鏈網路中每個節點獨立的執行,所有執行記錄和資料都保存在區塊鏈上,所以當這樣的交易執行完畢後,區塊鏈上就保存了無法篡改、不會丟失的交易憑證。
創建智慧合約和呼叫智慧合約的示意圖如圖3所示。以太坊中要創建一個智慧合約,需要經過編寫智慧合約、變成位元組碼、部署到區塊鏈等過程。以太坊中呼叫智慧合約,是發起一筆指向智慧合約位址的交易,各個節點的EVM可以分別執行該交易,將智慧合約代碼分散式的運行在以太坊網路中各個節點的虛擬機中。
在本說明書中,意於提出一種基於區塊鏈上部署的智慧合約,將業務營運方的業務利潤以虛擬資源的形式,向該業務營運方的用戶群體中的高價值用戶派發的技術方案。
一方面,業務營運方可以預先創建一個虛擬資源池,並將虛擬資源池中的虛擬資源與自身的業務利潤進行錨定;例如,業務營運方可以將每年的業務利潤按照一定比例拿出一部分,形成利潤池,與虛擬資源池中的虛擬資源進行錨定,作為虛擬資源池中的虛擬資源的價值支援。
另一方面,業務營運方還可以在區塊鏈上部署用於向用戶分配虛擬資源的智慧合約;
其中,在部署的該智慧合約中,可以包含校驗邏輯和虛擬資源分配邏輯;該校驗邏輯可以用於校驗用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;上述虛擬資源分配條件,可以由上述智慧合約的開發者以代碼的形式寫入上述智慧合約;
上述虛擬資源分配邏輯,用於在用戶在預設的業務週期內的業務指標滿足虛擬資源分配條件時,從虛擬資源池中為該用戶分配虛擬資源,並將分配的虛擬資源轉入該用戶的區塊鏈帳戶;上述虛擬資源池中可分配的虛擬資源的總數量,也可以由上述智慧合約的開發者以代碼的形式寫入上述智慧合約;
當上述智慧合約部署完成後,上述業務營運方或者上述業務營運方的普通用戶,均可以通過用戶端構建資源分配交易;其中,該資源分配交易中可以攜帶目標用戶的用戶標識;接著,可以將該資源分配交易發佈至區塊鏈,來呼叫部署在區塊鏈上的上述智慧合約,為該目標用戶分配虛擬資源;
而區塊鏈中的節點設備在收到該資源分配交易後,可以回應該資源分配交易,呼叫上述智慧合約中的校驗邏輯,校驗該目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;如果是,可以進一步呼叫上述智慧合約中的虛擬資源分配邏輯,從上述虛擬資源池中為該目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與上述目標用戶的用戶標識對應的區塊鏈帳戶;
在以上技術方案中,通過將虛擬資源池中的虛擬資源與業務營運方的業餘利潤錨定,並在區塊鏈上部署用於向用戶分配虛擬資源的智慧合約,使得用戶通過用戶端構建交易呼叫該智慧合約,就可以觸發將業務營運方的業務利潤以虛擬資源的形式,向在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶群體進行分配,從而實現將業務營運方的業務利潤,向在一定週期內的業務指標滿足一定條件的高價值用戶派發。
請參見圖4,圖4是一範例性實施例提供的一種基於區塊鏈的虛擬資源分配方法的流程圖。如圖4所示,該方法應用於區塊鏈中的節點設備;所述方法包括以下步驟:
步驟402,接收用戶端發送的資源分配交易;其中,所述資源分配交易包括目標用戶的用戶標識;
步驟404,回應於所述資源分配交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;
步驟406,如果所述業務指標滿足虛擬資源分配條件,進一步呼叫所述智慧合約中的虛擬資源分配邏輯,從虛擬資源池中為所述目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與所述用戶標識對應的區塊鏈帳戶;其中,所述虛擬資源池中的虛擬資源錨定了與所述業務對應的業務營運方的業務利潤。
在本說明書中,上述虛擬資源,具體包括可以由區塊鏈上的區塊鏈帳戶(包括外部帳戶和合約帳戶)進行持有的任意形式的資源物件;
其中,上述虛擬資源的具體形式,在本說明書中不進行特別限定,在實際應用中可以靈活的進行定義。
例如,在顯示的一種實施方式中,上述虛擬資源,具體可以包括但不限於以下顯示的幾種形式:錨定了業務營運方的業務利潤營收的虛擬股票;錨定了業務營運方的業務利潤營收的虛擬資產;錨定了業務營運方的業務利潤營收的虛擬期權;錨定了業務營運方的業務利潤營收的電子憑證(Token),等等。
其中,區塊鏈帳戶持有虛擬資源,具體可以包括以下顯示的持有形式:
在一種方式中,區塊鏈帳戶持有虛擬資源,可以是指將虛擬資源以餘額的形式,添加到區塊鏈帳戶的Balance欄位中;
例如,對於虛擬股票、虛擬資產、電子憑證等形式的,易於通過餘額來對價值進行計數的虛擬資源,區塊鏈帳戶在持有這類虛擬資源時,可以直接以餘額的形式,將這類虛擬資源添加到區塊鏈帳戶的Balance欄位中;
在另一種方式中,可以對區塊鏈帳戶的Balance欄位的含義進行擴展,使Balance欄位不再僅僅表示“餘額”,而是用於維護區塊鏈持有的虛擬資源的位址資訊;在這種情況下,區塊鏈帳戶持有虛擬資源,則可以是指將虛擬資源的位址資訊,添加到區塊鏈帳戶的Balance欄位中。
例如, 對於虛擬資產這類虛擬資源,其實際所錨定的價值,通常並不固定;例如,用戶可以靈活的將真實世界中的各類資產作為錨定物,在區塊鏈上來“發行”虛擬資產;因此,對於虛擬資產這類不易通過餘額來對價值進行計數的虛擬資源,區塊鏈帳戶在持有這類虛擬資源時,則可以直接將虛擬資產的位址資訊,添加到區塊鏈帳戶的Balance欄位中。
需要說明的是,由於在本說明書中,虛擬資源最終只會分配給在預設的業務週期內的業務指標滿足一定條件的高價值用戶;因此,分配給這類用戶的虛擬資源,可以理解為是業務營運方對用戶群體中的高價值用戶的激勵措施。在這種情形下,對於區塊鏈上的各區塊鏈帳戶持有的虛擬資源,可以被禁止在區塊鏈上的各區塊鏈帳戶之間進行轉移;
例如,以上述虛擬資源為虛擬股票為例,對於各區塊鏈帳戶持有的虛擬股票,可以約定只能由在預設的業務週期內的業務指標滿足一定條件的高價值用戶的區塊鏈帳戶持有,而禁止在不同用戶的區塊鏈帳戶之間進行的流轉。
在本說明書中,業務營運方可以預先創建一個虛擬資源池,並將虛擬資源池中的虛擬資源與自身的業務利潤進行錨定;
其中,上述虛擬資源池,具體可以是區塊鏈上與上述業務營運方對應的一個區塊鏈帳戶,該區塊鏈帳戶中可以持有業務營運方能夠用於分配的虛擬資源;例如,在實現時,作為上述虛擬資源池的區塊鏈帳戶具體可以是由上述業務營運方在區塊鏈上部署的一個智慧合約對應的合約帳戶。
其中,本說明書中描述的將虛擬資源與業務利潤進行錨定,是指將業務利潤作為虛擬資源的價值支援;業務營運方可以將每年的業務利潤按照一定比例拿出一部分,形成利潤池(資金池),作為虛擬資源池中的虛擬資源的價值支援(也稱之為錨定物),完成虛擬資源池中的虛擬資源與業務利潤之間的錨定。
例如,以上述虛擬資源為虛擬股票為例,將虛擬股票與業務營運方的業務利潤進行錨定後,就可以基於業務利潤池的資金總額和虛擬資源池中的虛擬資源的總數,換算出每一股虛擬股票所能兌換的資金數額,從而賦予虛擬股票真實的經濟價值。
其中,上述虛擬資源池中可分配的虛擬資源的總數量,在本說明書中不進行特別限定,在實際應用中,業務營運方可以基於與虛擬資源池錨定的業務利潤的總額來進行確定;
例如,仍以上述虛擬資源為虛擬股票為例,業務營運方可以基於業務利潤池中的資金總額,來確定需要“發行”的虛擬股票的總股數。
而在將虛擬資源池中的虛擬資源與業務營運方的業務利潤進行錨定之後,業務營運方還可以基於與虛擬資源池錨定的業務利潤總額,和虛擬資源池中的虛擬資源數量,計算與虛擬資源池中的單筆虛擬資源錨定的業務利潤金額(即單筆虛擬資源的經濟價值);接著將計算出的與虛擬資源池中的單筆虛擬資源錨定的業務利潤金額發佈至區塊鏈中進行存證。
例如,在實現時,可以基於計算出的與虛擬資源池中的單筆虛擬資源錨定的業務利潤金額,構建一筆存證交易,並將該存證交易發佈至區塊鏈,由區塊鏈中的各節點設備進行共識,並在達成共識後,由區塊鏈中的記帳節點將該存證交易打包進行區塊在區塊鏈中進行持久化存證。
另一方面,業務營運方還可以在區塊鏈上部署用於向用戶分配虛擬資源的智慧合約;其中,在區塊鏈上部署智慧合約的具體過程,不再贅述,可以參考圖1顯示的智慧合約創建過程。而區塊鏈上與該智慧合約對應的合約帳戶,可以作為上述虛擬資源池,持有上述業務營運方能夠用於分配的虛擬資源。
在部署的上述智慧合約中,可以包含校驗邏輯和虛擬資源分配邏輯;其中,上述校驗邏輯和虛擬資源分配邏輯,均可以是由業務營運方的智慧合約開發者開發的可供呼叫的合約代碼;例如,可供呼叫的函數。
其中,上述校驗邏輯,具體可以用於校驗用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;上述虛擬資源分配條件,可以由上述智慧合約的開發者以代碼的形式寫入上述智慧合約;
上述虛擬資源分配邏輯,具體用於在用戶在預設的業務週期內的業務指標滿足虛擬資源分配條件時,從虛擬資源池中為該用戶分配虛擬資源,並將分配的虛擬資源轉入該用戶的區塊鏈帳戶。
當上述智慧合約部署完成後,上述業務營運方或者上述業務營運方的普通用戶,均可以通過用戶端構建資源分配交易,並將該資源分配交易發佈至區塊鏈,以呼叫部署在區塊鏈上的上述智慧合約,來為該目標用戶分配虛擬資源;其中,業務營運方是虛擬資源的分配一方;而上述目標用戶則是指虛擬資源的被分配的一方。該資源分配交易具體為呼叫智慧合約的交易類型;在該資源分配交易中,可以攜帶上述智慧合約的位址和目標用戶的用戶標識。
在顯示的一種實施方式中,在普通用戶的用戶用戶端上,具體可以提供一“領取虛擬資源”的互動選項(例如互動按鈕);業務營運方後臺可以採集所有用戶在預設的業務週期內的業務指標,並將上述業務指標滿足虛擬資源分配條件的用戶作為高價值用戶篩選出來,接著通過用戶用戶端向這些高價值用戶發出“領取虛擬資源”的提醒;
當這些高價值用戶通過用戶用戶端收到該提醒後,可以操作上述互動選項,觸發用戶用戶端自動“打包”一筆資源分配交易,並將該資源分配交易發佈至區塊鏈,以呼叫部署在區塊鏈上的上述智慧合約,來“領取”虛擬資源。
在顯示的另一種實施方式中,在業務營運方後臺的用戶端上,可以提供一“發放虛擬資源”的互動選項(例如互動按鈕);業務營運方後臺可以採集所有用戶在預設的業務週期內的業務指標,將上述業務指標滿足虛擬資源分配條件的用戶作為高價值用戶篩選出來,接著通過業務營運方後臺的用戶端向業務營運方的管理人員發出“領取虛擬資源”的提醒;
當業務營運方的管理人員通過業務營運方後臺的用戶端收到該提醒後,可以操作上述互動選項,觸發該用戶端自動“打包”一筆資源分配交易,並將該資源分配交易發佈至區塊鏈,以呼叫部署在區塊鏈上的上述智慧合約,向該目標用戶“發放”虛擬資源。
在本說明書中,區塊鏈中的節點設備在收到上述資源分配交易後,可以與其它節點設備一起對該資源分配交易進行共識處理,並在達成共識後,由區塊鏈中作為記帳節點的節點設備,將這筆資源分配交易與其它交易一起打包進區塊,在區塊鏈中進行持久化存證。其中,對上述資源分配交易的共識處理過程,本說明書中不再進行贅述。
對於打包進區塊的上述資源分配交易,區塊鏈中的節點設備均可以執行上述資源分配交易,在本地的EVM中運行該資源分配交易所呼叫的上述智慧合約中的校驗邏輯對應的執行代碼,校驗上述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;
其中,需要說明的是,校驗上述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件的過程,即為從上述業務營運方的用戶群體中篩選出價值用戶的過程。
在實際應用中,以上篩選過程可以直接由智慧合約來完成;也可以由其它的校驗方或者業務營運方完成之後,將相應的篩選結果發佈至區塊進行存證,進而智慧合約可以將區塊鏈上存證的篩選結果作為參考,來進一步甄別上述目標用戶是否為價值用戶。
在顯示的一種實施方式中,如果以上篩選過程由智慧合約來完成,此時上述智慧合約中的校驗邏輯所對應的執行邏輯,具體可以是,採集上述目標用戶在預設的業務週期內的業務指標,並確定採集到的業務指標是否滿足虛擬資源分配條件;
在這種情況下,區塊鏈中的節點設備在本地的EVM中運行上述資源分配交易所呼叫的上述智慧合約中的校驗邏輯對應的執行代碼,校驗上述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件時,可以自主的採集上述目標用戶在預設的業務週期內的業務指標,接著進一步確定採集到的業務指標是否滿足虛擬資源分配條件;
也即,由智慧合約自主採集上述目標用戶在預設的業務週期內的業務指標,來做出該業務指標是否滿足虛擬資源分配條件的判斷。
在顯示的另一種實施方式中,如果以上篩選過程由第三方的校驗方來完成,則區塊鏈中的節點設備在收到上述資源分配交易後,除了可以與其它節點設備一起對該資源分配交易進行共識處理以外,還可以將上述資源分配交易複製一份,進一步提交給第三方的校驗方,由校驗方基於該資源分配交易中攜帶的上述目標用戶的用戶標識,來採集該目標用戶在預設的業務週期內的業務指標,並對該業務指標發起校驗,來確定該業務指標是否滿足虛擬資源分配條件,接著可以將相關的校驗結果發佈至區塊鏈進行存證。
在這種情況下,上述智慧合約中的校驗邏輯所對應的執行邏輯,具體可以是,查詢所述區塊鏈上存證的,由校驗方發佈至區塊鏈的針對上述目標用戶在預設的業務週期內的業務指標的校驗結果,並基於查詢到的上述校驗結果來確定上述業務指標是否滿足虛擬資源分配條件;
相應的,區塊鏈中的節點設備在本地的EVM中運行上述資源分配交易所呼叫的上述智慧合約中的校驗邏輯對應的執行代碼,校驗上述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件時,可以查詢區塊鏈上存證的上述校驗結果,並基於查詢到的上述校驗結果來確定上述業務指標是否滿足虛擬資源分配條件。
也即,智慧合約並不需要自主採集上述目標用戶在預設的業務週期內的業務指標,來做出該業務指標是否滿足虛擬資源分配條件的判斷;而是通過第三方的校驗結果,來確定該業務指標是否滿足虛擬資源分配條件。
在顯示的另一種實施方式中,如果以上篩選過程由業務營運方來完成,則業務營運方後臺在日常的業務營運過程中,就可以採集用戶在預設的業務週期內的業務指標,對採集到的業務指標進行統計分析,來篩選出上述業務指標滿足虛擬資源分配條件的用戶,並基於這些篩選出的用戶的用戶標識生成用戶列表;接著,可以將上述用戶列表發佈至區塊鏈進行存證。
在這種情況下,上述智慧合約中的校驗邏輯所對應的執行邏輯,具體可以是,查詢所述區塊鏈上存證的,由業務營運方發佈至區塊鏈的在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶列表,並將上述資源分配交易中攜帶的上述目標用戶的用戶標識與上述用戶列表中的用戶標識進行匹配,來確定上述目標用戶的上述業務指標是否滿足虛擬資源分配條件;
相應的,區塊鏈中的節點設備在本地的EVM中運行上述資源分配交易所呼叫的上述智慧合約中的校驗邏輯對應的執行代碼,校驗上述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件時,可以查詢區塊鏈上存證的上述用戶列表,並將上述資源分配交易中攜帶的上述目標用戶的用戶標識與上述用戶列表中的用戶標識進行匹配;如果上述資源分配交易中攜帶的上述目標用戶的用戶標識與上述用戶列表中的任一用戶標識匹配,可以確定上述目標用戶的上述業務指標滿足虛擬資源分配條件;反之,可以確定上述目標用戶的上述業務指標不滿足虛擬資源分配條件;
也即,智慧合約並不需要自主採集上述目標用戶在預設的業務週期內的業務指標,來做出該業務指標是否滿足虛擬資源分配條件的判斷;而是根據業務營運方發佈至區塊鏈的上述業務指標滿足虛擬資源分配條件的用戶列表,通過用戶匹配的方式,來確定上述目標用戶的業務指標是否滿足虛擬資源分配條件。
在本說明書中,如果經過上述校驗過程,確定上述目標用戶在預設的業務週期內的業務指標,滿足上述虛擬資源分配條件,此時可以確認該目標用戶為業務營運方的用戶群體中的高價值用戶;區塊鏈中的節點設備還可以在本地的EVM中進一步運行該資源分配交易所呼叫的上述智慧合約中的虛擬資源分配邏輯對應的執行代碼,從上述虛擬資源池中為該目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與上述目標用戶的用戶標識對應的區塊鏈帳戶;
例如,上述資源分配交易執行完畢後,上述目標用戶的用戶標識對應的區塊鏈帳戶,和作為虛擬資源池的合約帳戶的帳戶狀態(帳戶餘額)均會發生變化,節點設備可以在本地儲存的MPT狀態樹上,搜尋上述目標用戶的用戶標識對應的區塊鏈帳戶和上述合約帳戶,接著根據分配給該目標用戶的虛擬資源的數額,更新該區塊鏈帳戶和上述合約帳戶的Balance欄位的餘額資訊(減少該合約帳戶的餘額,並等量增加該區塊鏈帳戶的餘額);或者,將分配給該目標用戶的虛擬資源的位址資訊,從上述合約帳戶的Balance欄位中移除,接著添加至該區塊鏈帳戶的Balance欄位,以完成針對該區塊鏈帳戶和合約帳戶的狀態更新。
在本說明書中,除了可以通過構建資源分配交易呼叫上述智慧合約,為目標用戶分配虛擬資源以外,還可以引入虛擬資源回收機制,在目標用戶在預設的業務週期內的業務指標不滿足虛擬資源分配條件時,對已經分配給上述目標用戶的虛擬資源進行回收,重新轉入上述虛擬資源池。
在顯示的一種實施方式中,如果經過上述校驗過程,確定上述目標用戶在預設的業務週期內的業務指標,不滿足上述虛擬資源分配條件;此時可以進一步確定區塊鏈上與上述目標用戶的用戶標識對應的區塊鏈帳戶中,是否持有上述虛擬資源;如果是,此時可以對該區塊鏈帳戶持有的虛擬資源進行回收,將這些虛擬資源轉入上述虛擬資源池。
例如,可以根據需要回收的虛擬資源的數額,更新該目標用戶對應的區塊鏈帳戶和上述合約帳戶的Balance欄位的餘額資訊;或者,將需要回收的虛擬資源的位址資訊,從上述目標用戶對應的區塊鏈帳戶的Balance欄位中移除,接著添加至作為上述虛擬資源池的上述合約帳戶的Balance欄位,以完成針對該區塊鏈帳戶和合約帳戶的狀態更新。
其中,回收的虛擬資源的數量,可以與分配給目標用戶的虛擬資源數量對應,也可以是該目標用戶對應的區塊鏈帳戶中實際持有的所有虛擬資源;也即,如果上述目標用戶在預設的業務週期內的業務指標,不滿足上述虛擬資源分配條件,可以將上一次分配給該目標用戶的預設數量的虛擬資源收回,也可以將該目標用戶對應的區塊鏈帳戶當前持有的虛擬資源全部收回,在本說明書中不進行特別限定。
在本說明書中,上述虛擬資源分配條件,具體可以由上述業務營運方基於實際的虛擬資源分配需求來進行定義;上述虛擬資源分配條件的具體內容,以及上述業務指標的具體內容,通常均取決於上述業務營運方實際營運的業務的具體類型。
例如,在顯示的一種實施方式中,上述業務具體可以是支付業務,上述業務營運方具體可以是支付平臺;或者,存取支付平臺的商家;也即,無論是支付平臺還是存取支付平臺的商家,均可以作為營運方將自身的業務利潤分配給用戶群體中的高價值用戶。相應的,上述業務指標,具體可以是支付訂單數。
在這種情況下,上述虛擬資源分配條件具體可以包括但不限於以下顯示的幾種規則:
在預設的業務週期內的支付訂單數達到預設臨界值;例如,在30天內的支付訂單數達到了N筆;
在預設的業務週期內的各單位業務週期內的平均支付訂單數達到預設臨界值;例如,在30天內平均每天的支付訂單數達到了N筆;
在預設的業務週期內的各單位業務週期內的支付訂單數均達到預設臨界值;例如,在30天內平均每天的支付訂單數均達到了N筆;
需要說明的是,以上以支付業務為例僅為範例性描述,在實際應用中,業務營運方可以基於實際的虛擬資源分配需求,和營運的業務的具體業務類型,來靈活選定業務指標類型,並定義相應的虛擬資源分配條件,進而從用戶群體中篩選出有價值用戶,在本說明書中不再進行一一列舉。
例如,除了以上顯示的幾種虛擬資源分配條件以外,業務營運方還可以在滿足上述虛擬資源分配條件的用戶群體的基礎上,再進一步進行篩選,將滿足上述虛擬資源分配條件的用戶群體中的前N名用戶,確定為有價值用戶,進而可以通過這種方式,來嚴格控制分配虛擬資源的用戶數量。
在本說明書中,上述目標用戶還可以在持有的虛擬資源滿足一定的虛擬資源兌換條件時,向上述業務營運方兌換業務利潤;
例如,以上述虛擬資源為業務營運方分配給目標用戶的虛擬股票或者虛擬期權為例,而上述虛擬兌換條件可以是指虛擬股票或者虛擬期權的解禁條件,當目標用戶持有的虛擬股票或者虛擬期權滿足了解禁條件,可以向業務營運方兌現資金。例如,在實際應用中,上述業務營運方可以為分配給用戶的虛擬股票或者虛擬期權設置解禁期,這種情況下,上述解禁條件是指,虛擬股票或者虛擬期權是否到了解禁期。
而業務營運方還可以在區塊鏈上部署用於兌換虛擬資源的智慧合約;在部署的上述智慧合約中,可以包含校驗邏輯和虛擬資源兌換邏輯;其中,上述校驗邏輯和虛擬資源兌換邏輯,也可以是由業務營運方的智慧合約開發者開發的可供呼叫的合約代碼;例如,可供呼叫的函數。
其中,上述校驗邏輯,具體可以用於校驗用戶持有的虛擬資源,是否滿足虛擬資源兌換條件;上述虛擬資源兌換條件,可以由上述智慧合約的開發者以代碼的形式寫入上述智慧合約;
上述虛擬資源兌換邏輯,具體用於在用戶持有的虛擬資源滿足虛擬資源兌換條件時,生成與該虛擬資源對應的允許兌換事件,並將該允許兌換事件發佈至區塊鏈進行存證。
當上述智慧合約部署完成後,持有虛擬資源的上述目標用戶,可以通過用戶端構建資源兌換交易,並將該資源兌換交易發佈至區塊鏈,以呼叫部署在區塊鏈上的上述智慧合約,向業務營運方兌換業務利潤;其中,該資源兌換交易可以包括上述目標用戶的用戶標識和待兌換的目標虛擬資源的數量;
區塊鏈中的節點設備在收到上述資源兌換交易後,可以與其它節點設備一起對該資源分配交易進行共識處理,並在達成共識後,由區塊鏈中作為記帳節點的節點設備,將這筆資源兌換交易與其它交易一起打包進區塊,在區塊鏈中進行持久化存證。
對於打包進區塊的上述資源兌換交易,區塊鏈中的節點設備均可以執行上述資源兌換交易,在本地的EVM中運行該資源兌換交易所呼叫的上述智慧合約中的校驗邏輯對應的執行代碼,校驗目標虛擬資源,是否滿足虛擬資源兌換條件;
其中,上述虛擬資源兌換條件的具體內容,在本說明書中不進行特別限定,可以由上述業務營運方基於實際的兌換需求來靈活的進行設定;例如,在實際應用中,上述虛擬資源兌換條件具體可以是虛擬資源的解禁條件;
如果經過上述校驗過程,確定上述目標虛擬資源,滿足上述虛擬資源兌換條件,此時可以進一步呼叫上述智慧合約中的虛擬資源兌換邏輯,基於智慧合約的事件機制,生成與上述目標虛擬資源對應的允許兌換事件(Event),並將該允許兌換事件發佈至上述區塊鏈進行存證。其中,該允許兌換事件中也可以攜帶上述目標用戶的用戶標識和待兌換的上述目標虛擬資源的數量;
例如,在實際應用中,上述允許兌換事件具體可以寫入上述智慧合約的帳戶儲存(Storage)中,也可以作為上述虛擬資源兌換交易執行完畢後產生的交易日誌(Log)寫入與該虛擬資源兌換交易對應的收據(receipt)中。
在本說明書中,上述業務營運方具體可以通過第三方的支付平臺來完成分配給用戶的虛擬資源的兌換。支付平臺可以通過監聽上述智慧合約生成的上述允許兌換事件(Event),來完成上述目標虛擬資源的兌換轉帳動作;
例如,在實際應用中,支付平臺可以通過監聽基於上述智慧合約的帳戶儲存中的儲存內容構建的Storage樹,或者最新區塊的receipt樹上產生的最新的資料,來獲取上述智慧合約生成的上述允許兌換事件。
如果支付平臺監聽到上述區塊鏈上存證的上述允許兌換事件,可以基於上述區塊鏈存證的上述虛擬資源池中的單筆虛擬資源錨定的業務利潤金額,和上述目標虛擬資源的數量,來計算兌換金額;接著,在計算完成後,可以基於支付平臺的轉帳功能,按照該兌換金額向與上述目標用戶的用戶標識對應的兌換帳戶進行轉帳處理,向資金轉入該目標用戶的兌換帳戶。
當支付平臺完成針對上述目標虛擬資源的兌換轉帳處理後,還可以基於兌換結果,構建一筆存證交易,並將該存證交易發佈至區塊鏈,由區塊鏈中的各節點設備進行共識,並在達成共識後,由區塊鏈中的記帳節點將該存證交易打包進行區塊在區塊鏈中進行持久化存證。
在以上技術方案中,通過將虛擬資源池中的虛擬資源與業務營運方的業餘利潤錨定,並在區塊鏈上部署用於向用戶分配虛擬資源的智慧合約,使得用戶通過用戶端構建交易呼叫該智慧合約,就可以觸發將業務營運方的業務利潤以虛擬資源的形式,向在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶群體進行分配,從而實現將業務營運方的業務利潤,向在一定週期內的業務指標滿足一定條件的高價值用戶派發;
例如,以上述業務為支付業務為例,業務營運方可以是支付平臺或者存取支付平臺的商家,支付平臺或者商家可以將上一年的利潤的一部分,以虛擬股票的形式,發放給“在30天內平均每天的支付訂單數均達到了N筆”的有價值用戶,從而讓普通用戶也有機會共享支付平臺或者商家的利潤。
與上述方法實施例相對應,本發明還提供了裝置的實施例。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的虛擬資源分配裝置的實施例。本說明書的基於區塊鏈的虛擬資源分配裝置的實施例可以應用在電子設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在電子設備的處理器將非揮發性儲存器中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖5所示,為本說明書的基於區塊鏈的虛擬資源分配裝置所在電子設備的一種硬體結構圖,除了圖5所示的處理器、記憶體、網路介面、以及非揮發性儲存器之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖6是本說明書一範例性實施例顯示的一種基於區塊鏈的虛擬資源分配裝置的方塊圖。
請參考圖6,所述基於區塊鏈的虛擬資源分配裝置60可以應用在前述圖5所示的電子設備中,包括:
第一接收模組601,接收用戶端發送的資源分配交易;其中,所述資源分配交易包括目標用戶的用戶標識;
第一校驗模組602,回應於所述資源分配交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標用戶在預設的業務週期內的業務指標,是否滿足虛擬資源分配條件;
分配模組603,如果所述業務指標滿足虛擬資源分配條件,進一步呼叫所述智慧合約中的虛擬資源分配邏輯,從虛擬資源池中為所述目標用戶分配預設數額的虛擬資源,並將分配的虛擬資源轉入與所述用戶標識對應的區塊鏈帳戶;
其中,所述虛擬資源池中的虛擬資源錨定了與所述業務對應的業務營運方的業務利潤。
在本實施例中,所述裝置60還包括:
回收模組604(圖6中未顯示),如果所述業務指標不滿足虛擬資源分配條件,確定所述區塊鏈上與所述用戶標識對應的區塊鏈帳戶中是否持有所述虛擬資源;如果是,將所述區塊鏈帳戶中持有的虛擬資源轉入所述虛擬資源池。
在本實施例中,所述第一校驗模組602,進一步執行以下顯示的任一:
採集所述目標用戶在預設的業務週期內的業務指標,並確定採集到的業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由校驗方發佈至所述區塊鏈的針對所述目標用戶在預設的業務週期內的業務指標的校驗結果,並基於查詢到的所述校驗結果確定所述業務指標是否滿足虛擬資源分配條件;
查詢所述區塊鏈上存證的,由所述業務營運方發佈至所述區塊鏈的在預設的業務週期內的業務指標滿足虛擬資源分配條件的用戶列表,並將所述目標用戶的用戶標識與所述用戶列表中的用戶標識進行匹配,以確定所述業務指標是否滿足虛擬資源分配條件。
在本實施例中,所述業務包括支付業務;所述業務指標包括支付訂單數;
所述虛擬資源分配條件包括以下顯示的任一者:
在預設的業務週期內的支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的平均支付訂單數達到預設臨界值;
在預設的業務週期內的各單位業務週期內的支付訂單數均達到預設臨界值。
在本實施例中,所述虛擬資源禁止在所述區塊鏈上的各區塊鏈帳戶之間進行轉移。
在本實施例中,所述裝置60還包括:
第二接收模組604(圖6中未顯示),接收用戶端發送的資源兌換交易;其中,所述資源兌換交易包括目標用戶的用戶標識和待兌換的目標虛擬資源的數量;
第二校驗模組(圖6中未顯示),回應於所述資源兌換交易,呼叫所述區塊鏈中部署的智慧合約中的校驗邏輯,校驗所述目標虛擬資源是否滿足虛擬資源兌換條件;
兌換模組(圖6中未顯示),如果所述目標虛擬資源滿足虛擬兌換條件,進一步呼叫所述智慧合約中的虛擬資源兌換邏輯,生成與所述目標虛擬資源對應的允許兌換事件,並將所述允許兌換事件發佈至所述區塊鏈進行存證,以使得支付平臺在監聽到所述區塊鏈中存證的所述允許兌換事件時,基於所述區塊鏈存證的所述虛擬資源池中的單筆虛擬資源錨定的業務利潤金額和所述目標虛擬資源的數量計算兌換金額,並基於所述兌換金額向與所述用戶標識對應的兌換帳戶進行轉帳處理。
在本實施例中,所述虛擬資源,包括以下顯示的任一者:
錨定了業務營運方的業務利潤營收的虛擬股票;
錨定了業務營運方的業務利潤營收的虛擬資產;
錨定了業務營運方的業務利潤營收的虛擬期權;
錨定了業務營運方的業務利潤營收的電子憑證。
在本實施例中,所述業務營運方為支付平臺;或者,存取所述支付平臺的商家。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性儲存器,隨機存取記憶體 (RAM) 和/或非揮發性記憶體等形式,如唯讀記憶體 (ROM) 或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的範例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體 (PRAM)、靜態隨機存取記憶體 (SRAM)、動態隨機存取記憶體 (DRAM)、其他類型的隨機存取記憶體 (RAM)、唯讀記憶體 (ROM)、電可抹除可程式化唯讀記憶體 (EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀儲存器 (CD-ROM)、數位多功能光碟 (DVD) 或其他光學儲存、磁盒式磁帶、磁碟儲存、量子儲存器、基於石墨烯的儲存媒體或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體 (transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求顯示的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅僅出於描述特定實施例的目的,而非意於限制本說明書一個或多個實施例。在本說明書一個或多個實施例和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也意於包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“回應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
402~406:步驟
60:基於區塊鏈的虛擬資源分配裝置
601:第一接收模組
602:第一校驗模組
603:分配模組
[圖1]是一範例性實施例提供的一種創建智慧合約的示意圖;
[圖2]是一範例性實施例提供的呼叫智慧合約的示意圖;
[圖3]是一範例性實施例提供的創建智慧合約和呼叫智慧合約的示意圖;
[圖4]是一範例性實施例提供的一種基於區塊鏈的虛擬資源分配方法的流程圖;
[圖5]是一範例性實施例提供的一種電子設備的結構示意圖;
[圖6]是一範例性實施例提供的一種基於區塊鏈的虛擬資源分配裝置的方塊圖。