主頁 > 區塊鏈 > 一篇ACSAC的關于可編輯區塊鏈的論文分析

一篇ACSAC的關于可編輯區塊鏈的論文分析

2021-01-15 13:04:36 區塊鏈

Policy-based Chameleon Hash for Blockchain Rewriting with Black-box Accountability:基于策略的Chameleon Hash對于具有黑盒問責的可編輯區塊鏈

  • 前述
  • 關于paper
    • 1.可編輯區塊鏈
    • 2.Chameleon Hash
    • 3.黑盒問責
  • 正文
    • 框架概述
    • 演算法步驟
    • 系統模型
    • 實作與評估
  • 心得

Rewriting with Black-box Accountability:基于策略的Chameleon Hash對于具有黑盒問責的可編輯區塊鏈)

前述

看了一個IT從業人員的日記,感覺時光走得太快,記憶留的太淺,如果不把一些東西記錄下來,等到回憶往昔時會發現自己竟乏善可陳,于是決定把研究生看的有意義的論文記錄一下,至少留作努力過的證明吧,,,如果能有一些csdn積分就更好了,沒有也行
坐標 研一上的寒假,2021.1.13
導師讓閱讀ACSAC的論文,我選擇的是 Applied Cryptography 專題,

關于paper

該論文是關于 可編輯區塊鏈,采用Chameleon哈希演算法和黑盒問責機制,
Keyword:Chameleon HashBlockchain RewritingBlack-box Accountability

1.可編輯區塊鏈

這篇很清晰:可編輯區塊鏈:打破你對“不可篡改”的認知,但這樣的區塊鏈還安全嗎.
眾所周知,區塊鏈的一個特性是不可篡改性,一方面在于交易內容全部映射到Merkle根,如果在本地篡改交易,則其他節點不會予以認可;另一方面在于區塊鏈是有序的,已上鏈的區塊不能更改否則會影響順序,
但是對于這種存盤資訊的功能,修改的場景是不可避免的,如交易內容或金額的修改、區塊里包含違法資訊、上鏈后遇到意外需要撤銷等,,,針對這種需求,有學者提出了可編輯區塊鏈的概念,對于現有的Hash結構進行改造,留出修改后門,一種變色龍哈希Chamelelon Hash剛好滿足該需求,
可編輯區塊鏈在業界的爭議還比較大,因為區塊鏈的初衷就是去中心化,所有節點平等,公平公開,而一旦留出后門,顯然誰掌握了后門,誰就成為區塊鏈的中心化大boss,因此這一變動在迎合市場需要的同時背離了區塊鏈的初衷,
另一方面,政府是希望看到區塊鏈被監管的,區塊鏈也不應該成為一些非法交易的庇護所,因此可以預想這種可編輯特性會不會在一定程度上推動區塊鏈被承認和合法化的行程,
anyway,技術無罪,回歸論文本身,

2.Chameleon Hash

這篇很好理解:變色龍哈希函式 Chameleon Hash 可變型區塊鏈.
Hash:對于任意訊息m,可將其映射為一個固定長度的串H(m).
區塊鏈中,各個區塊以Hash指標連接,主要依賴于Hash的三個特性:
(1)抗碰撞性:對于訊息m,難以找到另一個訊息m’,使H(m)=H(m’);
(2)不可逆:已知一個訊息的H(m),難以倒過來推出m;
(3)不可預測:映射出的H(m),是無法提前得知會映射出該結果的,
考慮到,如果對區塊鏈修改,必然改變其Hash結果,無法獲得其他節點認可,從而無法達到共識,因此,需要在不改變Hash的前提下修改,
這顯然推翻了抗碰撞的特性,即 使新訊息m’,哈希結果與原訊息一致,滿足這種特點的哈希就是Chameleon Hash(區塊鏈中實際采用的是SHA256哈希),翻譯過來是變色龍哈希,其原理如下:
類似于公鑰加密,任何人都有做Chameleon Hash的公鑰pk(public key),只有私鑰sk(private key)擁有者可以獲得m’的后門,變色龍哈希的三個階段:
Step1:(sk, pk) = KeyGen( λ \lambda λ),首先構造滿足安全常數 λ \lambda λ的回圈群G(生成元g),隨機指數sk為私鑰,公鑰pk=gsk
Step2:H(m) = Hash(pk, m, r),生成變色龍哈希的亂數為r,區塊哈希值為H(m)=gm*pkr
Step3:r’ = UForge(sk, m, r, m’),將m篡改為m’后,希望找到一個亂數r’,使得H(m’)=H(m),又H(m)=gm·pkr=gm·(gsk)r=gm+sk·r,H(m’)=gm’·pkr’=gm’·(gsk)r’=gm’+sk·r’,二者相等,因此已知m,m’,私鑰sk,r,可得r’=(m+sk·r-m’)/sk.
變色龍哈希有基于因式分解的、基于格的和基于離散對數的,
這就是一種基于求解離散對數難題的舉例,Cryptography - Chameleon Hash
大佬對它進行了Java實作,

3.黑盒問責

但是修改者也需要受到監管,防止有后門私鑰的人對訊息進行惡意修改,因此出現需求:如果對修改后的交易沒有爭議,那么交易修改者仍然是匿名的;如果出現爭議,黑盒問責保證了任何用戶都可以識別這個可疑的修改者,并且修改后的交易版本可以一一映射到對應的修改者,

該論文是在以上思想的基礎上提出框架PCHBA,該框架的一個獨特特性是,它不允許交易修改者否認對任何已修改的交易進行的惡意修改,并給出了PCHBA的一個實體,驗證了其實用性,

正文

框架概述

PCHBA系統框架,論文原圖
(導師箴言:打這么多字,能不能畫張圖啊~)
Owner:交易所有者,它將交易發布到區塊鏈上時,對Chameleon Hash的臨時后門進行加密,并使用它的簽名密鑰keyO在臨時后門的隨機版本上簽名,
Attribute Authority:屬性授權者,記為AA,給出Chameleon Hash的臨時后門的密鑰,
Modifier:訊息修改者:擁有Chameleon Hash的修改權即私鑰,以及AA授予的用于解密臨時后門的密鑰,當完成修改后,修改者還使用他的簽名密鑰keyM對同一個臨時的后門進行隨機化并在其上簽名,
使用相同的臨時后門來鏈接訊息簽名對:所有者-(keyO,m),修改者-(keyM,m’),以便實作問責,

演算法步驟

交易所有者將Hash結果發送到區塊鏈,之后,需要一個交易修改者(其修改權限由AA授予)來修改Hash物件,而Hash鏈的鏈接保持不變,如果修改后的交易發生爭議,屬性授權者AA可以決定修改后的交易是否確實被該交易修改者修改,
在去中心化設定方面,每個用戶都可以扮演一個AA的角色,并用屬性標記其他用戶,我們在呈現PCHBA時使用交易“owner”和“modifier”,讓一組交易修改者結合它們的修改權限來生成一個訪問設備/黑盒O,
演算法步驟:

  • Step1:Setup(1λ):AA以安全引數λ為輸入,輸出Chameleon Hash密鑰對(sk,pk),
  • Step2:KeyGen(sk,δ):AA以Chameleon Hash的私鑰sk和用戶屬性集δ∈U為輸入,輸出一個密鑰skδ,該密鑰與修改者身份ID′ 關聯,U:屬性宇宙
  • Step3:Hash(pk,m,?,ID):交易所有者執行,他以Chameleon Hash的公鑰pk、訊息m∈M、策略?和所有者身份ID作為輸入,輸出哈希結果h、亂數r 和簽名σ,在這個程序之后,該哈希值h發布到區塊鏈中,注意,M={0,1}*表示一般訊息空間,?:訪問結構,是U的非空子集的集合
  • Step4:Verify(pk,m,h,r,σ):以Chameleon Hash的公鑰pk、訊息m、哈希值h、亂數r 和簽名σ作為輸入,輸出一個位b(0/1),-區塊鏈節點驗證Hash的程序(“共識”)
  • Step5:Adapt(skδ,m,m′,h,r,σ,ID′):交易修改者執行,以密鑰skδ,訊息m和m′,哈希值h,亂數r,簽名σ,修改者身份ID′ 作為輸入,首先用上一步的Verify驗證Hash,然后用私鑰得到后門,計算可產生碰撞的r’,r’生成修改后的訊息m’,生成新的公私密鑰對和簽名,最后發布新的Hash結果,
  • Step6:Judge(sk,T,O):給定一組交易{T′ }∈T和一組可疑交易修改者{ID′ }∈O,O:訪問黑盒,如果交易T′ 鏈接到可疑修改者ID′,則AA輸出一個交易身份對(T′,ID′),意味著交易T′ 確實被交易修改者ID′修改,其中T′=(m′,h,r′,C′,vk′,c′,σ′),

論文認為訊息擁有者和屬性授權者AA是誠實可信的,對三個安全性保障:不可區分性、抗碰撞性和問責性,進行了說明,

系統模型

PCHBA的交易層面的區塊鏈修改,圖源論文
如圖,區塊B(i)包含四個交易T(i,1),T(i,2),T(i,3),T(i,4),其中T(i,1)和T(i,3)是基于本文提出的交易,T(i,2)和T(i,4)使用傳統的抗碰撞Hash函式H(即SHA256)進行哈希,
如果交易所有者ID希望將某些基于策略的交易發送到區塊鏈中,則必須使用Hash(pk,m,?,ID)對這些交易進行哈希處理,T(i,1)和T(i,3)具有不同的訪問策略(由交易所有者ID選擇的,可執行修改的訪問結構)和相同的身份(?(i,1),ID),(?(i,3),ID),
當需要修改基于策略的交易時,具有密鑰的交易修改者ID′ 可以計算Hash值A和C的有效碰撞,并提供新的亂數r’,然后,修改者向區塊鏈網路廣播新的亂數,區塊鏈節點驗證新亂數(即Verify演算法)的正確性,并通過用新隨機性替換舊亂數來更新區塊鏈的本地副本,由于交易中的亂數、簽名和密文 作為交易/塊的非Hash部分提供,因此值PREV_H從不被修改,
如果使用PCHBA創建某些交易,我們可以確保:

  • 1)不可區分性,這意味著給定一個隨機性,任何公共用戶都無法確定與交易T(i,1)(或T(i,3))相關的亂數是使用傳統哈希還是Adapt演算法創建的;
  • 2)抗碰撞性,這樣只有具有修改權限的交易修改者ID′ 才可以修改區塊鏈;
  • 3)問責制,即如果修改后的交易存在爭議,屬性授權者AA可以將每個修改后的交易鏈接到負責的交易修改者,

三點在原文都有證明,

實作與評估

給出了一些參考演算法的調整應用,以及提出的演算法的具體引數設定和步驟,代碼在下面的github上,在運行時間、性能、乘法和乘方的數目三方面進行了評估,這里還是看原文吧
給出的一些開源地址:

  • Accenture. https://www.accenture.com/sg-en.
  • Accountable Blockchain Rewriting. https://github.com/SMC-SMU/Accountable-Blockchain-Rewriting.
  • BLS12-381. https://tools.ietf.org/html/draft-yonezawa-pairing-friendlycurves-02.
  • General Data Protection Regulation. https://eugdpr.org.
  • Hyperledger. https://www.hyperledger.org.
  • Pairing-Friendly Curves. https://tools.ietf.org/id/draft-yonezawa-pairing-friendly-curves-01.html.
  • Ripple. https://ripple.com.

心得

原文提出了一些定理,對它們以及演算法的安全性都進行了數學上的證明,感覺自己甚至沒有敲出原文精髓的百分之一,汗-_-||
第一次寫csdn,寫的時候關注到了一些看論文時混亂的地方,寫完又加深了一遍對論文的理解,感覺尚可(公式部分就略過了等熟練了編輯器再來補,,,也可能會了也不補)
寒假實在是太混了,進度慢吞吞,本還打算下載原始碼研究研究,無奈剛得知周五就要匯報而我竟然只看了一篇,囧囧囧囧囧,馬不停蹄奔向下一篇
特此宣告,該博文所寫均為本人自己理解,如有爭議以論文原作者為準,(鞠躬

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/249115.html

標籤:區塊鏈

上一篇:位元幣地址生成方法

下一篇:04:命令列引數

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more