以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

TIN:深入理解TinyRAM-ODAILY

Author:

Time:1900/1/1 0:00:00

TinyRAM是由大名鼎鼎的BCTGTV五人組(EliBen-Sasson,AlessandroChiesa,DanielGenkin,EranTromer,MadarsVirza)和SCIPR實驗室提出的一種隨機訪問器架構,旨在成為表達非確定性計算證明性的便捷工具。具體來說,TinyRAM是一種精簡指令集計算機(RISC),具有字節級可尋址的隨機存取存儲器。它在“擁有足夠表達能力”和“足夠簡約”這兩個對立面之間取得平衡:

?當從高級編程語言編譯時,有足夠的表達能力來支持簡短高效的匯編代碼,以及

?小指令集,指令通過運算電路簡單驗證,利用SCIPR的算法和密碼機制實現高效驗證。

架構

TinyRAM由兩個整數參數化:字長W,需要是2的冪且可以被8整除(這點和現代計算機一樣,如32,64),以及寄存器的數量K。一般用TinyRAM(W,K)來表示,機器的狀態包括以下內容:

1.程序計數器pc(programcounter),由W個bit組成。

2.K個通用寄存器,以r0,r1,...,r(K-1)表示,每個寄存器都是W個bit。

3.條件標志flag,由一個bit組成。

4.內存,2^W個字節的線性數組,使用小端約定排列字節。

三星宣布啟動Discord服務器以深入Web3.0領域:6月7日消息,三星(Samsung)宣布啟動Samsung US Discord官方服務器,以加深與消費者的聯系并培養創作者社區。在Samsung US Discord中,粉絲、游戲玩家和創作者能夠互動,并可以獲得對產品、活動、NFT等的獨家訪問權。在6月7日的前24小時內,服務器的早期采用者將獲得OG角色。[2022/6/7 4:09:03]

5.2個磁帶(tape),每個包含一串Wbit的字。每個磁帶都是單向只讀的。其中,一個磁帶是用于公開輸入x,另一個用于私有輸入w。其實就是TinyRAM的輸入載體。

TinyRAM機的輸入是2個磁帶以及內存,輸出是answer指令,該指令有一個參數A,代表返回值,A=0表示接受。也可以使用該指令終止執行程序。

TinyRAM根據執行指令的位置不同有兩種變體:一種變體遵循哈佛架構,另一種遵循馮諾依曼架構。前一種架構的數據和程序存放在不同的地址空間中,且程序是只讀的;后一種架構數據和程序存放在同一個可讀寫的地址空間中。具體用圖表的方式來表示這兩者的區別:

姚前:區塊鏈技術值得數據跨境流動及其監管各方深入研究:《中國金融》2020年第22期,中國證監會科技監管局局長姚前刊文《數據跨境流動的制度建設與技術支撐》表示,支付標記化技術將個人數據的“匿名化”交由可信第三方負責,而區塊鏈技術則創造了用戶完全自主可控的數據隱私保護新思路。用戶的私鑰可以本地生成,通過公鑰計算發布有效的賬戶地址,從而隔斷賬戶地址和賬戶持有人真實身份的關聯。通過控制私鑰,用戶可以在區塊鏈上自主完成交易,雖然在區塊鏈網絡上能夠看到每一筆交易的細節,但無法對應到現實世界中的具體某個人。區塊鏈技術從根本上打破中心化模式下數據控制者對數據的天然壟斷,賦予用戶真正的數據隱私保護權。區塊鏈技術還可與先進密碼學技術結合,發展出各類隱私保護方案。比如,利用基于環簽名、群簽名等密碼學方案保護簽名方身份;采用高效的同態加密方案實現密文的多方處理,隱藏用戶交易金額等敏感信息;采用零知識證明方案,使交易數據能被審查和驗證,但又不能被真實探知。區塊鏈技術這一自主可控的隱私保護新思路,值得數據跨境流動及其監管各方深入研究。[2020/11/24 21:56:04]

以下兩個架構的圖示:

動態 | 國網陜西電力深入研究比特幣反竊電案例 提升員工查處效率:據中國電力網消息,12月13日,陜西省廳與國網陜西省電力公司舉行簽字儀式,正式出臺《陜西省警電部門防范和打擊涉電違法犯罪合作機制》。據悉,國網陜西電力研究反竊電新設備、新技術,對竊電設備和案例開展分析和現場檢測。該公司深入學習分析典型比特幣反竊電案例,掌握比特幣案例中的新型竊電類型、查處方法等;結合應用反竊電監測終端、智能化反竊電現場作業和取證設備,提升基層員工的技術水平和查處效率。[2019/12/21]

在開始更詳細的TinyRAM設計細節之前,我們以官方白皮書的例子說明,TinyRAM是如何做到既簡潔又全面,能夠滿足非確定性的計算問題的。

意義

Alice擁有x,Bob擁有w。Alice想知道算法A(x,w)的計算結果的正確性,但是不想自己計算。這樣的場景,在零知識證明系統中非常常見,有證明者和驗證者,驗證者想知道證明者提供的證據的正確性,但不必自己重新計算一次。TinyRAM架構就滿足這樣的場景,兩個磁帶可以傳入私有輸入w和公開輸入x,證明計算和驗證程序在其中執行。SCIPR實驗室實現的libsnark庫中,已實現了TinyRAM。具體參見:https://github.com/scipr-lab/libsnark.

動態 | 金融時報:未來區塊鏈等技術與銀行業的融合一定會越來越深入:據金融時報今日刊文指出,銀行業“變革的思維”,還體現在科技與傳統銀行的結合上。未來,云計算、大數據、區塊鏈與銀行業的融合一定會越來越深入。數據和信息會成為未來銀行的生命線。擁有數據和信息,就能精準勾畫出消費者所需要的場景,從而提高銀行服務和產品的覆蓋范圍與個性化程度,進而滿足金融消費者的獲得感、幸福感和安全感。并且,數字技術與普惠金融、小微金融、消費金融相結合,可以產生事半功倍的效果,因為小微企業與消費者是最需要數字技術所帶來的金融服務便利性的客戶群體。[2018/9/8]

以CircuitGenerator為例,C程序經過編譯器之后,編譯成TinyRAM的程序,再經過CircuitGenerator之后,生成電路,最后得到zkSNARK電路。

指令

TinyRAM支持29個指令,每條指令都通過1個操作碼和最多3個操作數指定。操作數可以是寄存器名稱或者立即數。除非另有說明,否則每條指令都不會修改flag,且將pc增加i,對于哈佛架構來說,i=1,對于馮諾依曼架構來說,i=2W/8。通常,第一個操作數是指令執行計算的目標寄存器,其他操作指定指令的參數。最后,所有指令都需要機器的一個周期來執行。

動態 | 南開大學新設金融科技研究中心 對區塊鏈等科研課題進行深入研究:7月13日,南開大學金融學院金融科技研究中心在天津成立。該中心內設南開大學金融學院金融科技創新實驗室,對金融以及人工智能、大數據、區塊鏈等科研課題進行深入研究,并推動與在金融科技領域全球領先的機構和專家廣泛合作,培養出優秀的研究人才和產業人才。[2018/7/13]

指令包含幾種類型,指令名稱和intelx86匯編指令類似,可顧名思義。

●位操作指令:

?and

?or

?xor

?not

●整數操作指令:

?add

?sub

?mull

?umulh

?smulh

?udiv

?umod

●shift操作指令:

?shl

?shr

●比較操作指令

?cmpe

?cmpa

?cmpae

?cmpg

?cmpge

●move操作指令

?mov

?cmov

●jump操作指令

?jmp

?cjmp

?cnjmp

●內存操作指令

?store.b

?load.b

?store.w

?load.w

●輸入操作指令:

?read

●輸出操作指令:

?answer

匯編語言

TinyRAM的程序是由TinyRAM匯編語言編寫的,這個語言受Intelx86匯編語言語法啟發。程序是包含多行TinyRAM匯編代碼的文本文件。程序按照哈佛架構還是馮諾依曼架構的不同,第一行包含的字符串也不同:

?哈佛架構

“;TinyRAMV=2.000M=hvW=WK=K”

?馮諾依曼架構

“;TinyRAMV=2.000M=vnW=WK=K”

其中,W是十進制表示的字長,K是十進制表示的寄存器數量。程序文件中,其他每一行依次包含的內容需要滿足:

1.可選的空格。

2.可選的label,用于定義為引用其后的第一條指令。

3.可選的指令,由指令助記符,以及后面的操作數。

4.可選的空格。

5.可選的以分號;開始的注釋,到該行尾結束。

一個程序中,最多可以有2^W個指令。一個label只能定義一次,有點像高級語言中的變量。

示例代碼(https://github.com/scipr-lab/libsnark/blob/master/tinyram_examples/answer0/answer0.s)

為了滿足計算的需要,提高電路可滿足性的效率,TinyRAM增加了前導語。如果一個TinyRAM的程序以前導語的方式啟動,則說明該程序是個合適的程序。

上述的前導語:

?對于哈佛架構來說,I(i)=1*i,并且inc=1

?對于馮諾依曼架構來說,I(i)=2W/8*i,并且inc=W/8

前面的示例代碼,也遵循這樣的前導語寫法。

兩種架構的性能對比

TinyRAM的兩種架構,其設計區別在前面的“架構”部分介紹了,此處對比兩種架構的性能。

第一個圖表展示兩種架構產生的門數量。

l是指令數量,n是輸入大小,T是執行步數。

可以看出,前者的門數量和指令數量呈線性增加。后者改善很大,指令越多,改善的越大。

第二個圖表展示兩種架構在不同字長的曲線下,生成Keygenerator/prover/verifier的時間及proof大小。

可以看出,在80bit時,馮諾依曼架構相較于哈佛架構有較大提升,在128bit時,也有少許提升。

由上述表格數據可以看出,馮諾依曼架構的效率更高,這也是為什么馮依諾曼架構TinyRAM是后來在哈佛架構TinyRAM的基礎上提出的。

總結

我們講了TinyRAM的架構,設計,匯編指令等,介紹了它的優勢:可以用來便捷的進行非確定性計算。尤其在零知識證明系統中,有更多的發揮空間。最后介紹了兩種TinyRAM架構的性能對比,在生成的門數量和時間以及proof大小上,馮諾依曼架構都更勝一籌。

引用

http://www.scipr-lab.org/doc/TinyRAM-spec-2.000.pdf

https://www.cs.tau.ac.il/~tromer/slides/csnark-usenix13rump.pdf

http://eprint.iacr.org/2014/59

關于我們

Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。

微信公眾號:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

Tags:RAMTIN區塊鏈BITCellframeSKYROCKETING區塊鏈專業考研方向Arbitrage Analysis Beyond Commodity

中幣交易所
TUBE:TPS Capital成為波場聯合儲備第八位成員和白名單機構-ODAILY

據官方消息,TPSCapital已成為波場聯合儲備的第八位成員和白名單機構,獲得鑄造波場去中心化穩定幣USDD的權利.

1900/1/1 0:00:00
DOT:如何參與波卡的千人驗證者計劃?-ODAILY

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.

1900/1/1 0:00:00
RON:波場版穩定幣本周日均轉賬額突破65億美元-ODAILY

據區塊鏈瀏覽器TRONSCAN數據,過去一周,波場版穩定幣日均轉賬額為6,542,961,734美元.

1900/1/1 0:00:00
DAO:DAOrayaki:不可忽視的DAO中三個重要的微時刻-ODAILY

這是一個關于個體在DAO中積極做出有意義貢獻的過程中所經歷的特定時間點的討論。 ThestrengthofaDAOcomesfrommanycontributors.積極的貢獻者是DAO的命脈.

1900/1/1 0:00:00
區塊鏈:跨鏈橋的詛咒:Nomad黑客攻擊事件解析-ODAILY

太長不讀版: Nomadhack是由用于在兩個不同區塊鏈架構之間創建鏈接的復雜智能合約引起的漏洞的結果.

1900/1/1 0:00:00
ART:什么是Art Blocks,如何投資生成藝術?-ODAILY

Aug.2022,ThiagoFreitasDataSource:ArtBlocksDashboardArtBlocks是一個NFT平臺,使其用戶能夠鑄造所謂的"生成藝術".

1900/1/1 0:00:00
ads