[發明專利]解釋執行智能合約指令的方法及裝置有效
| 申請號: | 202010475572.0 | 申請日: | 2020-05-29 |
| 公開(公告)號: | CN111399990B | 公開(公告)日: | 2020-09-22 |
| 發明(設計)人: | 劉曉建 | 申請(專利權)人: | 支付寶(杭州)信息技術有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京億騰知識產權代理事務所(普通合伙) 11309 | 代理人: | 陳霽;周良玉 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 解釋 執行 智能 合約 指令 方法 裝置 | ||
1.一種解釋執行智能合約指令的方法,通過虛擬機的解釋器執行,包括:
確定有待執行的第一合約中第一指令的第一內存地址,所述第一內存地址位于第一內存區域,所述第一內存區域與第二內存區域存在特定映射關系,所述第二內存區域用于存儲經過擴容的所述第一合約的字節碼;
如果所述第一內存地址中存儲的是用于執行所述第一指令的第一模擬函數信息,則根據所述第一模擬函數信息執行該第一指令;
如果所述第一內存地址中存儲的是預定初始值,則執行轉換邏輯,所述轉換邏輯包括,根據所述特定映射關系,從所述第二內存區域中讀取所述第一指令對應的第一字節碼片段,根據所述第一字節碼片段確定所述第一模擬函數信息,將其填充在所述第一內存地址對應的存儲空間中。
2.根據權利要求1所述的方法,在確定有待執行的第一合約中第一指令的第一內存地址之前,還包括:
在所述第二內存區域加載經過擴容的所述第一合約的字節碼;
為所述第一合約分配與所述第二內存區域等容量的第一內存區域,并記錄所述第一內存區域和所述第二內存區域之間的映射關系作為所述特定映射關系;
對所述第一內存區域進行初始化,使得其中所有存儲位置均存儲所述預定初始值。
3.根據權利要求2所述的方法,其中,在所述第二內存區域加載經過擴容的所述第一合約的字節碼,包括:
讀取所述第一合約中的第一原始字節碼;
在所述第一原始字節碼后添加冗余碼,以對第一原始字節碼進行存儲空間擴容,使得擴容后的存儲空間足以容納所述第一原始字節碼對應的模擬函數信息;
修改指令地址索引,使得其中各個索引值指向添加冗余字節碼后各條指令的起始存儲位置;
將針對所述第一合約中各原始字節碼擴容后的存儲空間,作為所述第二內存區域。
4.根據權利要求2所述的方法,其中,在所述第二內存區域加載經過擴容的所述第一合約的字節碼,包括:
讀取所述第一合約中的第一擴容字節碼,所述第一擴容字節碼在所述第一合約編譯階段生成,所述第一擴容字節碼包括第一原始字節碼和冗余碼,所述第一擴容字節碼占用的存儲空間足以容納所述第一原始字節碼對應的模擬函數信息;
將所述第一擴容字節碼填充到為其分配的存儲空間;
將存儲所述第一合約中各擴容字節碼的存儲空間,作為所述第二內存區域。
5.根據權利要求1所述的方法,其中,所述第一模擬函數信息為,存儲第一模擬函數的可執行代碼的第三內存地址,其中所述第一模擬函數用于執行所述第一指令;
根據所述第一模擬函數信息執行該第一指令,包括:跳轉到所述第三內存地址,以執行所述第一模擬函數。
6.根據權利要求5所述的方法,其中,所述預定初始值為,無效的地址值。
7.根據權利要求1所述的方法,其中,所述第一模擬函數信息為,指向第一模擬函數的跳轉指令,所述第一模擬函數為用于執行所述第一指令的模擬函數;
根據所述第一模擬函數信息執行該第一指令,包括:執行所述跳轉指令,從而跳轉到所述第一模擬函數進行執行。
8.根據權利要求7所述的方法,其中,所述預定初始值為,系統異常指令,且所述系統異常指令導致所述轉換邏輯的執行。
9.根據權利要求1所述的方法,其中,從所述第二內存區域中讀取所述第一指令對應的第一字節碼片段,根據所述第一字節碼片段確定所述第一模擬函數信息,將其填充在所述第一內存地址對應的存儲空間中,具體包括:
根據所述特定映射關系,確定所述第二內存區域中與所述第一內存地址對應的第二內存地址;
從所述第二內存地址讀取所述第一字節碼片段,該第一字節碼片段包括第一操作碼;
查詢操作碼-模擬函數映射表,確定與所述第一操作碼對應的第一模擬函數,得到所述第一模擬函數信息;
將所述第一模擬函數信息填充在所述第一內存地址對應的存儲空間中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于支付寶(杭州)信息技術有限公司,未經支付寶(杭州)信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010475572.0/1.html,轉載請聲明來源鉆瓜專利網。





