買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 波場 > Info

區塊鏈:斯坦福大學 CS251(加密貨幣與區塊鏈技術) 2021 期末考試題 看看你能得多少分?_Californium

Author:

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

編譯:TechFlow intern

根據斯坦福榮譽守則的明文規定和精神,我在這次考試中既沒有得到任何幫助,也沒有提供任何幫助給別人。

本考試包含6個問題,共計100分。

你需要在規定時間完成考試。

請在Gradescope (D5GKRX)上作答。??

回答問題請簡明扼要。

A)→請簡要回答為什么Rollup系統將所有交易都存儲在鏈上?如果交易數據丟失,而其他地方又沒有備份,那將會怎么樣呢?

B)→請看以下Solidity 代碼:

pragma solidity ^0.8.0;

contract ERC20 is IERC20 {

mapping(address => uint256) private _balances;

event Transfer(address indexed from, address indexed to, uint256 value); function _transfer(address sender, address recipient, uint256 amount) { emit Transfer(sender, recipient, amount);

}}

假設該代碼部署于兩個契約中:一個地址為X的契約和一個地址為Y的契約。 以下的哪個選項可以在契約X中讀到_balances的狀態?圈出正確的答案(一個或多個)。

A?合同ERC20中地址X處的_transfer()函數中的代碼

B?合同ERC20中地址為Y的_transfer()函數中的代碼

C?使用 etherscan.io的終端用戶

C)→繼續上一題,下面哪一個選項可以在函數_transfer()被撤回時,讀取日志項Transfer的發出?請圈出正確的答案。

A 在ERC20合同中定義的地址為X的getBalance()函數中的代碼

B 在ERC20合同中定義的地址為Y的getBalance()函數中的代碼

區塊鏈平臺Evrynet加入斯坦福數字貨幣未來倡議(FDCI):11月12日消息,CeDeFi區塊鏈平臺Evrynet加入斯坦福數字貨幣未來倡議(FDCI)。據悉,FDCI是一項全球倡議,專注于在全球范圍內擴大區塊鏈采用、數字資產研究和分布式技術實驗。截至目前其成員包括Algand基金會、Celo Network、Polkadot、Ripple Inc、IBM和Stellar發展基金會(SDF)。

此外,其去中心化交易所Evry.Finance集成SPEEDEX技術。Evrynet還任命Muharem Hrnjadovic為首席技術官。(U.Today)[2021/11/13 6:49:27]

C 使用 etherscan.io的終端用戶

D)→當兩個以太坊交易txi和tx2 被同時提交時,將 交易 ?txi的maxPriorityFee設置為y, 交易tx2的maxPriorityFee設置為2y, 請問tx2一定要在txi之前在chain上執行嗎? 請給出答案并論證。 你可以假設txi和tx2的maxFee都大于baseFee + maxPriorityFee。??

E)→?Alice想從經銷商Bob那里買一輛車。她發送1個比特幣到Bob的比特幣地址。Bob等待一個交易, 這個交易中其1,輸入來自Alice的地址,其2,其中一個輸出是綁定到Bob地址的UTXO,價值1 BTC。只要鮑勃在比特幣區塊鏈上看到這筆交易,他就把鑰匙給Alice,然后Alice就可以把車開車走了。這樣安全嗎? Alice能免費得到那輛車嗎? 如果可以,請解釋原因。如果不可以,請解釋Bob應該如何做來確保他被支付。

F)→Alice有一臺型號為Y的全新特斯拉。她現在就可以以此為抵押物在Compound系統做貸款嗎(在不賣出的情況下)? 如果是,請解釋怎么做,如果不可以,請解釋為什么。

假設有n 方, 而且n>3, 其中一方被指定為是sender. Sender有比特b∈{0,1}. brodacast 協議是指各方向對方發出信息,而且最終每一方都輸出一些 比特bi,這里的i可以是1,....,n或者為0.

我們認為協議具有一致性,即對于每兩個誠實方來說,如果一方輸出b,另一方輸出b',則b = b'。

a16z和斯坦福大學區塊鏈研究中心將于5月4日舉行NFT虛擬峰會:據官方消息,由AndreessenHorowitz(a16z)和斯坦福大學區塊鏈研究中心主辦的NFT虛擬峰會將于太平洋時間5月4日11:30AM至1:30PM(北京時間5月4日14點30分至5月5日4點30分)舉行。峰會將討論和分享NFT最新趨勢、見解和用例,并展望NFT在加密市場中的未來。[2021/4/23 20:51:16]

我們認為協議是有效的,即如果發送方是誠實的,則所有誠實方的輸出等于發送方的輸入比特b。?

我們認為協議具有普遍性,即當某個誠實方輸出一個比特時,那么最終所有的誠實方都輸出一個比特。

一個 reliable broadcast protocol(RBC)是滿足以下三個特性的廣播協議。我們假設存在一個公鑰基礎設施(PKI),這意味著每一方都有一個秘密的簽名密鑰,并且每一方都知道另一方的正確的公開簽名驗證密鑰。

在同步網絡中,考慮以下廣播協議:

步驟0: The sender sends its input bit b (along with its signature) to all other parties. The sender then outputs its bit b and terminates. Sender 向其他所有協議方 連同其簽名一起輸入比特b,然后輸出比特b 并終止。

步驟1 : 每個非發送方i 向其他非發送方反饋其從發送給方聽到的信息,該信息被附加了i的簽名。 如果其未聽到任何發送方的消息,則在這一環節什么都不做。同樣地,如果發送方的信息是畸形的,那非發送方在這一環節仍然什么都不做。畸形的信息包括 發送者的簽名無效,或者該信息并被單獨比特。

步驟2:每個非發送將其收到的所有信息收集起來,最多到n - 1的消息, 其中最多一條來自步驟0的發送方,和最多1條來自步驟1中的每一個非發送方non-sender方。如果有兩個由發送方收到消息包含一個有效的簽名,但比特相反(即,在一個簽名的消息中,比特為0,在另一個簽名的消息中,比特為1),那么發送方是不誠實的,那么非發送方輸出0并終止協議。相反,發送方發送的所有正確簽名的比特都是相同的,那么非發送方輸出該比特。如果非發送方沒有收到任何消息,則不輸出任何內容。

聲音 | 斯坦福大學金融學教授:中國有可能是第一個部署CBDC的國家:斯坦福大學金融學教授Darrell Duffie表示,他對穩定幣感興趣是因為當前支付系統的質量差和成本高,特別是在美國。針對穩定幣過去一年最大的事件,他認為是Tether嚴重問題的暴露、Libra的初步提議以及美聯儲決定推進FedNow,FedNow是滿足改善支付系統需求的另一種方式。他表示在幾個場合見過一些Libra的人,他在支付領域沒有與任何公司合作,只是在觀察和學習。如果Libra遵守規則,那么可以提高支付效率,降低支付成本。這將是一個積極的發展。付款會更快、更便宜。但遵守規則并不容易,就監管機構的看法而言,他們已經使自己陷入困境。他表示,目前為止,加密貨幣對銀行和金融部門主要影響是提高了對支付系統中感知到的差距和機遇的認識,以及一些研發工作,如JPM Coin。但他不指望私人機構參與的穩定幣會占上風。針對CFTC前官員呼吁建立數字貨幣版本的美元,他表示這個想法原則上可以很好地發揮作用。但他對美聯儲是否會合作沒有信心。一些銀行可能會對此做出反應。此外,實現網絡規模效應并不容易。他還表示,在大國中,中國似乎可能是第一個部署CBDC的國家。(CoinDesk)[2020/1/4]

針對以下問題,描述一次攻擊,或解釋為什么沒有受到攻擊。

A) ???假設最多只有一個不誠實方,協議是否仍具有一致性???

B)??? 假設最多只有一個不誠實方,協議是否仍具有有效性?

C)??? 假設最多只有兩個不誠實方,則表明協議不具備一致性。

D)????假設最多有兩個不誠實方,協議是否具有有效性?

E)???? 對于任何數量的不誠實方,協議是否具有普遍性?

你作為Uniswap V2的流動性提供者,為DAI/ETH池貢獻5個ETH即5000個DAI。假設1個DAI值1美元,那么你的出資總額為1萬美元。

A)??? 幾個月后,1個ETH的價格上升到2000 DAI。在DAI/ETH池適應這個新的匯率穩定下來以后,您決定撤回作為流動性提供者的全部份額。假設系統不收費(?= 1),你會收到多少ETH和DAI ?

B)??? 如果你自己持有你的5 ETH和5000 DAI,你的資產現在將價值15K DAI,獲取了5000 DAI的利潤。在這幾個月里,作為Uniswap V2的流動性提供者,與“自己持有”策略相比,你經歷了什么損失? 將損失以美元的絕對值表示,假設1 DAI = 1 USD。這被稱為暫時性損失,盡管在這種情況下,這種損失是相當永久性的。

斯坦福大學物理學家發現比特幣交易與自然法的相關性:據btcmanager消息,斯坦福大學國家科學院的博士生William Gilpin在其發表的論文中解釋了旋轉液體如何遵循與加密貨幣交易相同的準確原則。區塊鏈上的交易使用哈希算法進行加密。根據Gilpin的說法,這些散列函數通過改變包含在保護輸入的唯一加密輸出密鑰中的數字信息進行操作。與此類似,Gilpin認為,這與控制旋轉液體的主要方式大致相同。[2018/4/28]

C)??? 如果您因擔任Uniswap V2的流動性提供者而損失了x美元,Uniswap V2是用部分(b)計算x的,那么這些資金流向了哪里?具體來說,就是誰在這個過程中獲得了x美元?

D)??? ?現在讓我們轉向使用Uniswap V2 交易。假設Bob使用DAI/ETH池將DAI兌換成ETH進行大型 交易。交易完成后,DAI/ETH池中的DAI金額比之前略高,而ETH的金額則略低。因此,DAI/ETH? 池中的資產比率有點偏離其平衡點。

套利者Alice發現了這個機會,并希望在反方向發行一個交易,以重新平衡資金池。她旨在從這筆交易中獲利,所以希望確保她的交易在Bob交易后被立即執行。這種策略被稱為“尾隨”。

那么Alice如何能實施尾隨計劃呢?請提出可以使Alice的交易在Bob之后可以有合理機會被立即被執行的方法。

E)???? ?假設10個不同的套利者,為捕獲Bob的交易創造的套利機會, 在同一時間執行了相同的尾隨操作策略。他們都使用了你在(D)部分中所描述的相同機制,那么這10個中的哪一個會獲勝呢???

在第8課和第3節中,我們討論了堅固重入缺陷。在這個問題中,我們將看一個有趣的現實世界的例子。考慮下面16384個NFT中使用的穩固代碼片段。通過撤回此NFT合約上的mintNFT()函數,用戶一次最多可以聲明20個NFT。您可以假設所有內部變量都由構造函數正確初始化(未顯示)。

function mintNFT(uint256 numberOfNfts) public payable {

require(totalSupply() < 16384, "Sale has already ended");

斯坦福大學與區塊鏈項目方EPIPHANY舉辦學術論壇:北美時間2018年4月9日,斯坦福大學與區塊鏈項目方EPIPHANY在Stanford School of Medicine(斯坦福醫學院)聯合舉辦New Era of Economy - by the blockchain Generation Community學術論壇。

出席人員包括斯坦福大學信息創新部執行董事Allison Berk、斯坦福大學博士加密技術以及加密貨幣研究員Benedikt Bunz、Redpulse CEO Jon Ha、PTS信用數據平臺創始人Sarah Zhang 等區塊鏈技術、法律領域專家學者以及從業人員。論壇主要從美國目前正對區塊鏈產業的政策以及影響、合規與技術等方面展開討論。美國高校、NEO體系區塊鏈項目與證券、法律領域專業人員均認為,在合規體系下運營項目,無論對純粹的科技研究發展還是對區塊鏈技術的金融領域應用均能起到積極作用。同時斯坦福大學也表示對區塊鏈產業將保持高度的關注,并積極支持在校學生參與優質區塊鏈項目的研究。[2018/4/10]

require(numberOfNfts > 0, "numberOfNfts cannot be 0");

require(numberOfNfts <= 20, "You may not buy more than 20 NFTs at once"); require(totalSupply().add(numberOfNfts) <= 16384, "Exceeds NFT supply"); require(getNFTPrice().mul(numberOfNfts) == msg.value, "Value sent is not correct");

for (uint i = 0; i < numberOfNfts; i++) {

uint mintIndex = totalSupply(); // get number of NFTs issued so far ? ? ? ?

_safeMint(msg.sender, mintIndex); // mint the next one

} }

function _safeMint(address to, uint256 tokenId) internal virtual {

// Mint one NFT and assign it to address(to).

require(!_exists(tokenId), "ERC721: token already minted");

_data = _mint(to, tokenId); // mint NFT and assign it to address to

_totalSupply ++; // increment totalSupply() by one

if (to.isContract()) {

// Confirm that NFT was recorded properly by calling

// the function onERC721Received() at address(to).

// The arguments to the function are not important here.

// If onERC721Received is implemented correctly at address(to) then

// the function returns _ERC721_RECEIVED if all is well.

bytes4 memory retval=

IERC721Receiver(to).onERC721Received(to, address(0), tokenId, _data);

require(retval == _ERC721_RECEIVED, "NFT Rejected by receiver");

讓我們證明_safeMint根本不安全(盡管它的名字是安全)。

A)????假設已經鑄造了16370個NFT,那么總供給()=16370。請解釋惡意合同如何導致超過16384個NFT被偽造。攻擊者最多可以造出多少個NFT?

B)????假設現在總供給的價值是16370,請寫出實施對(a)部分進行攻擊的惡意Solidity合約代碼。

C)????你會在前一頁的代碼中添加或更改哪一行Solidity來防止你的攻擊?請注意,單個交易不應該鑄造超過20個NFT。

A)??? Lightning Network協議的好處是無需向比特幣網絡發布交易即可執行支付。Lightning Network支付最終會完全取代所有的比特幣交易,使區塊鏈變得不必要嗎?

B)??? 回顧而知,比特幣交易有一組輸入地址和一組輸出地址。通常,每個輸入地址預示著整個交易可(不包括簽名)授權支付。此簽名類型被稱為SIGHASH_ALL。

相反,假設使用每個輸入地址的密鑰來簽名整個Txin(交易的輸入部分,不包括簽名),而不簽名其他任何內容。也就是說,Txout(交易的輸出部分)沒有簽名。(該簽名類型稱為SIGHASH_NONE)。

一旦交易提交給比特幣網絡后,對于使用SIGHASHNONE方法的交易,礦工是否可以從其輸入的地址中竊取資金?如果可以,請解釋如何竊取;如果不可以,請解釋原因。

C)??? 如果有人在只有ECDSA公鑰的情況下,發現了一種方法來偽造ECDSA簽名的任意消息,比特幣會受到怎樣的影響? 假設偽造一個簽名需要30分鐘且不能加速。

在第14講中,我們講了Tornado Cash攪拌機。回想一下,Tornado現金合同需要存儲一個大的nullifiers,列表,每次從樹中提取一個nullifiers,。在合同撤銷期間,合同需要確保被撤銷的票據的nullifiers,不在已撤銷的nullifiers,清單中。如果是,合同將這個nullifier添加到集合中。Tornado現金合同將其實現為一個映射:

mapping(bytes32 => bool) public nullifierHashes;

在撤銷過程中,合同應驗證所提供的zk-SNARK證據,如果合同有效,則應:

bytes32 _nullifierHash; // nullifier of note being withdrawn require(!nullifierHashes[_nullifierHash], "The note has been spent"); nullifierHashes[_nullifierHash] = true;

A)??? 假設從樹中成功提取了k。考慮一個礦工正在驗證以太坊交易。作為k的函數,這個礦工需要分配多少存儲空間來存儲nullifierhash映射? 你可以假設除了這個nullifierhash映射之外,Tornado合同不需要其他長期存儲。

B)??? 如果我們能將撤銷的nullifier Sk在鏈外存儲起來,比如儲存在云端,那就更好了。Tornado契約將只存儲針對當前nullifier Sk集合的一個短提交。當撤回withdraw函數時,用戶將向該函數提供所有當前參數,此外,用戶還將提供:

一個證明π,即 撤回的硬幣的nullifier nf ?不在提交的nullifier 集合中,即nf ?Sk,而且

Tornado合同能夠計算更新的nullifier 集合提交的足夠的信息Sk+1:= Sk U {nf}

該合約將驗證π的證明 nf ?? Sk,并計算出對Sk+1的提交,并用更新后的對Sk+1的提交替換當前對Sk的提交。

有幾種數據結構提供了這些功能,比如Sk的提交是一個32字節的哈希值,而π證明只包含2個[log2k] 32字節的哈希值。此外,這個簡短的證明使Tornado合同能夠計算Sk+1的短期提交。通過改編第7講中介紹的Merkle Patricia樹可以得到一個例子,但我們將把這個問題留到以后來解決。

雖然這種方法將大大減少合同存儲矩陣的大小,但只有當它將減少撤回提取函數所需的燃料時,才值得實現。考慮以下的燃料成本:

寫入存儲數組中的零項: 20K 燃料

寫入存儲數組中的非零項: 5K 燃料,

calldata (包含參數函數的字節數組): 每字節16個燃料

假設我們只計算上面列出的三項所消耗的燃料。當撤回當前的執行時,這一改變將節省的燃料價值k是多少?回想一下,證明π是32 × 2[log2k]字節,其必須作為提取函數撤回call-data的一部分提供。

C)??? 回想一下,Tornado現金提供了一個合規工具,可以讓用戶去匿名化他們的硬幣:該工具生成一個文件,將用戶的存款與特定的撤回聯系起來。在交易所接受該資金前,該文檔可能需要提交給集中式交易所(如Coinbase)。

假設n個人將一枚硬幣存入一個Tornado 池,那么這個池的匿名性設置為n(假設n = 1000)。此后,所有的n個人將他們的硬幣取出到n個新的以太坊地址中(每個新地址都有一個硬幣)。觀察者無法判斷哪個新的以太坊地址對應于這n個人中的某一個,因此匿名集的大小為n。

但是,假設有n - 1人使用合規工具并將結果文檔發送到Coinbase。這對于最后一個希望擁有私人地址的人的隱私意味著什么?

課程鏈接:https://cs251.stanford.edu/

Tags:NFTINTLIF區塊鏈NFTGINTX幣Californium區塊鏈簡介

波場
加密貨幣:金色觀察|對俄加密制裁持續發酵:不乏去中心化應用_穩定幣和加密貨幣哪個好

繼3月1日美國財政部正式將加密資產添加至對俄羅斯制裁指南中,包括歐盟、日本、新加坡等多個國家也加入了這一行列。3月3日,法國財長勒梅爾表示,歐盟財政部長們同意加強對俄羅斯的制裁.

1900/1/1 0:00:00
Gravity:詳解Cosmos跨鏈橋Gravity Bridge工作原理與發展現狀_GravityCoin

原標題:《Everything You Need to Know About the Gravity Bridge Chain》引力(Gravity)是宇宙的基本力量.

1900/1/1 0:00:00
NBS:元宇宙步入碳中和路徑是必要選擇_BSPAY幣

編者按 2022年3月18日,橫琴數鏈數字金融研究院首席研究員陳鈺什和資深研究員袁洪哲在《麻省理工科技評論》網站上發表了題為《元宇宙和碳中和》的文章。本公眾號現轉發于此,供讀者朋友們參閱.

1900/1/1 0:00:00
比特幣:加密基金的周資金流入創下自去年12月以來的最高紀錄_ITA

上周,流入加密貨幣投資基金的資金大幅增加,帶來了謹慎樂觀的情緒,即盡管地緣存在不確定性和各國央行收緊貨幣政策,但投資者仍在擴大對數字資產的投資.

1900/1/1 0:00:00
COI:晚間必讀5篇 | 探索以太坊擴容之路:哪個方案才是未來?_AppCoins

1.探索以太坊擴容之路:哪個方案才是未來?無論你是不是區塊鏈技術方面的專家,只要你待在Crypto的世界里夠久。以太坊擴容,layer2,Rollup這些詞語對于你來說都不會陌生.

1900/1/1 0:00:00
CYM:區塊鏈概念股是什么 有什么作用?_globalusdtoken

經過這兩年各行各業的不斷提起,區塊鏈已經不是一個陌生的詞了,隨之出現的“區塊鏈概念股”。那么,區塊鏈概念股是什么,又有什么作用呢? 區塊鏈概念股是什么? 概念股是指具有某種特別內涵的股票,而這一.

1900/1/1 0:00:00
ads