另乙個公平擲硬幣 sCrypt 合約

2021-10-21 16:44:50 字數 1104 閱讀 4554

上篇文章中,我們使用 xor 在位元幣網路上進行了公平的拋硬幣。今天我們來介紹另一種使用 blum 原始協議 [^1] 來實現這個遊戲的方法。

它包括以下步驟:

alice 選擇質數pq。 他告訴 bob 二者乘積n = p * q。alice 可以選擇很大的pq,這樣 bob 就無法進行從n進行反推;

bob 在 0 到 n 之間選擇x[^2],並計算b =x² mod n。他告訴alice 數值b。 此步驟類似於在擲硬幣之前就選擇乙個結果並作出承諾;

alice 計算b取模n的四個方根,分別是xyn-xn-y。 她選擇對中的乙個並告訴 bob。 該步驟對應於硬幣的物理翻轉;

如果 alice 選擇,則 bob 獲勝,並且他可以通過告訴 alicex輕鬆證明這一點。除非 bob 在第2步中選擇了x,否則他無法計算出這個數,因為他不知道pq

如果 alice 選擇,則她獲勝。 因為 bob 無法計算出y,所以他不能通過告訴 alice 這個數來作弊。

合約示例**如下:

contract cointoss 

}

[^1] coin flipping by telephone: a protocol for solving impossible problems. blum (crypto 1981).

[^2] x 和 n 必須是互質的,以確保 4 個平方根

另乙個自己

人們常說 人貴有自知之明 可是話說回來,又有幾人能真正的了解自己呢?我覺得我就是乙個很沒有自知之明的人。生於89年的我,到了今年的生日就28周歲了。都說三十而立,正所謂成家立業,可以回過頭發現自己可以稱得上 一無是處,一無所有 曾幾何時,還是鄰居家叔叔阿姨教育孩子的榜樣 曾幾何時父母因為自己考個好大...

呼叫另乙個Activity

1 建立主activity 注意通過權重來分配尺寸的方式 元件1 android layout width 0dp android layout weight 1 元件2 android layout width wrap content 2 在主類中指定onclick所對應的sendmessage...

08 另乙個林則徐

子孫若如我,留錢做什麼?賢而多財,財損其志 子孫不如我,留錢做什麼?愚而多財,益增其過。清 林則徐 音訊點我!有一本書,叫 林則徐家書 是林則徐寫給家裡人的信。林則徐大家都知道,先是欽差大臣,去廣東禁菸 鴉片戰爭失敗之後,又成了朝廷的替罪羊,被發配到新疆伊犁,這批家書基本上都是這個時候寫的。過去我們...