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根據執行指令的位置不同有兩種變體:一種變體遵循哈佛架構,另一種遵循馮諾依曼架構。前一種架構的數據和程序存放在不同的地址空間中,且程序是只讀的;后一種架構數據和程序存放在同一個可讀寫的地址空間中。具體用圖表的方式來表示這兩者的區別:
高鴻股份:公司正在深入研究可信計算在區塊鏈的應用:高鴻股份在互動平臺表示,公司正在深入研究可信計算在區塊鏈的應用,可信計算可以有效提高區塊鏈節點設備的安全,并保護底層軟件不被滲透和篡改。公司計劃為區塊鏈產業提供以可信計算為核心的安全加固技術支持。(財聯社)[2021/4/19 20:36:09]
以下兩個架構的圖示:
在開始更詳細的TinyRAM設計細節之前,我們以官方白皮書的例子說明,TinyRAM是如何做到既簡潔又全面,能夠滿足非確定性的計算問題的。
意義
Alice擁有x,Bob擁有w。Alice想知道算法A(x,w)的計算結果的正確性,但是不想自己計算。這樣的場景,在零知識證明系統中非常常見,有證明者和驗證者,驗證者想知道證明者提供的證據的正確性,但不必自己重新計算一次。TinyRAM架構就滿足這樣的場景,兩個磁帶可以傳入私有輸入w和公開輸入x,證明計算和驗證程序在其中執行。SCIPR實驗室實現的libsnark庫中,已實現了TinyRAM。具體參見:https://github.com/scipr-lab/libsnark.
國家外匯管理局山西省分局:深入推進跨境金融區塊鏈服務平臺應用:從國家外匯管理局山西省分局了解到,今年以來,山西省外匯局系統指導銀行積極挖掘市場潛力,提升跨境貿易投融資便利化水平,為中小微外貿企業跨境結算與融資擴渠道、增便利。一季度,已為16家企業辦理融資業務116筆,累計放款7.67億美元。 該局提出11條措施精準幫扶中小微外貿企業。建立了覆蓋163家企業的重點中小微外貿企業庫,用足用準山西省155億元再貸款再貼現專用額度。深入推進跨境金融區塊鏈服務平臺應用,已有17家銀行加入平臺,為16家企業辦理融資業務。指導銀行機構精準對接中小微外貿企業融資需求,提供“一企一策”服務,緩解資金壓力。在提升外匯質效方面,暢通外匯業務辦理“綠色通道”,截至4月15日,全省借助“綠色通道”為35家疫情防疫相關企業快速辦理外匯業務64筆766.19萬美元。(瀟湘晨報)[2020/5/16]
以CircuitGenerator為例,C程序經過編譯器之后,編譯成TinyRAM的程序,再經過CircuitGenerator之后,生成電路,最后得到zkSNARK電路。
北京方正公證處楊和平:與騰訊在多個方面達成深入合作:金色財經報道,4月17日,騰訊安全領御區塊鏈-北京方正公證取證平臺正式發布。在發布會上,北京方正公證處副主任楊和平表示:“區塊鏈作為一種可以在完全不信任的節點之間建立信任機制的技術,具有高可靠度、高透明度、可追溯、永久保存和無法篡改的特性,這些特性與公證的職業要求和行業發展需求具有天然的融合性、互補性,特別是在公證三大效力之一的證據效力方面雙方高度契合。騰訊安全與北京市方正公證處聯合打造的領御區塊鏈北京方正公證取證平臺,就是要在深度整合兩者優勢基礎上通過國家公信力+技術信任力的雙重增信,向社會提供電子證據安全存儲、取證維權、在線公證等智能化服務,從而形成一套規范和標準的互聯網數據公證服務新模式。”
此外,北京方正公證處副主任楊和平還介紹說,未來方正公證處與騰訊將在以下幾方面進行深度合作:1、構件新型公證法律服務業態上進行新的探索;2、拓展公證服務領域上取得新的突破;3、提升公證服務效率上再上新臺階;4、人才培養方面積累新經驗;5、體制機制建設上走出新路子;6、公證服務助力互聯網方面走出新天地。[2020/4/17]
指令
TinyRAM支持29個指令,每條指令都通過1個操作碼和最多3個操作數指定。操作數可以是寄存器名稱或者立即數。除非另有說明,否則每條指令都不會修改flag,且將pc增加i,對于哈佛架構來說,i=1,對于馮諾依曼架構來說,i=2W/8。通常,第一個操作數是指令執行計算的目標寄存器,其他操作指定指令的參數。最后,所有指令都需要機器的一個周期來執行。
聲音 | 立陶宛銀行:央行“父母控制”已過時 應更深入了解加密資產領域:在12月10日發布的有關中央銀行數字貨幣(CBDC)的分析中,立陶宛銀行表示,在加密資產方面,中央銀行的“父母控制”已經過時,因此不應阻止中央銀行進入該領域以了解它。銀行應參與數字資產領域,以獲取此快速發展資產類別的經驗。(Cointelegraph)[2019/12/11]
指令包含幾種類型,指令名稱和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
Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.
1900/1/1 0:00:00據最新消息,波場聯合儲備與JustLend達成戰略合作關系。 波場聯合儲備入1000萬美元USDD和TRX作為儲備:官方消息,波場聯合儲備(TRON DAO Reserve)表示,為了保護整個區.
1900/1/1 0:00:00實驗環境 兩條平行鏈-鏈A(2008)和鏈B(2009) 一條中繼鏈 實驗目的 通過orml-xcm打開鏈A和鏈B之間的hrmpchannel 前提準備 平行鏈代理賬戶需要一定的中繼鏈token.
1900/1/1 0:00:002021年,Coinbase創造了80億美元的收入、36億美元的凈收入和14美元的每股收益,但現在,沒有人知道Coinbase是否能夠恢復昔日榮光.
1900/1/1 0:00:00各位Qredonians:今天,我們銷毀了1680萬個QRDO代幣,從流通中移除的數量與8月份的歸屬大致相同.
1900/1/1 0:00:002022年8月1日,波場Poloniex正式發布了全面升級的新交易系統,此次升級主打“更快速、更穩定、更易用”,從性能、穩定性和用戶體驗上都做了大幅優化.
1900/1/1 0:00:00