HOME 回資訊服務處首頁 Login
ITs通訊
搜尋電子報


含詳全文
訂閱電子報
請輸入E-Mail
 
 
2018.09.13 2018年第9期 設為首頁 | 加入最愛 | RSS 訂閱
最新電子報 | 下一期 | 各期電子報


   
中央研究院資訊服務處通訊
中央研究院資訊服務處發行
2018年第9期   民國107年9月13日
本院數位學習專區己於8/13正式上線,歡迎同仁前往選讀。

 為便利服務本院同仁數位學習,資訊服務處已整合行政院人事行政總處「e等公務園+學習平臺」建置本院數位學習專區,本專區於8月13日開始推廣使用。專區內有學術倫理、環境教育、廉政倫理、資訊安全、實驗室安全、軟體操作等數位課程,歡迎同仁前往選讀。

 本院同仁可透過「院內行政服務」-「數位學習專區」,輸入個人SSO帳密即可登入,首次登入需綁定「我的e政府帳號」(公務員可綁定ECPA帳號),綁定完成即可儲存個人學習紀錄。

 專區網址:https://sinica.elearn.hrd.gov.tw/
 本專區詳細操作請參閱互動影片介紹:https://its.sinica.edu.tw/page/2018/elearning/

Top

「院內行政服務」新風貌9/25正式亮相

 整合院內各類行政電腦化資訊系統的「院內行政服務」預定於今(107)年9月25日正式改版!新版頁面增加分類頁籤功能,能更方便查找系統,未來亦會陸續增加「常用系統」等功能。

 新版網頁已可由「院內行政服務」公告資訊點選(最新版網頁)查看,如有任何建議事項,歡迎向本處服務台02-2789-8855或https://8855.sinica.edu.tw反映。

Top

院網「影音服務」近期新增影片

 本院網路影音服務,內容涵蓋知識饗宴、各類講座、院士會議、學術論壇、活動紀錄、科普演講等精彩影片,採不定期方式新增上網,歡迎有興趣的同仁上網觀看。

 近期新增影片如下:

Top

10/11召開107年度「圖資相關電子資料庫」業務會議

 107年度「圖資相關電子資料庫」業務會議,將於10月11日(星期四)上午10時假近史所檔案館1樓第二會議室舉行。開會通知單、提案單等近期內將以電子公文簽發,與會單位若有提案請於9月20日(星期四)下班前,以提案單提出。

Top

RapidILL文獻服務系統服務變更公告

 資訊服務處辦理之RapidILL文獻服務系統於7月1日起,有關「借入申請 (Borrowing)」、「借出申請 (Lending)」都將由院內各單位自行處理,期盼院內各單位在互惠的原則下,於收到相關申請件時,能儘快協助提供文獻。

 院內同仁若有使用申請問題,請洽各圖書館(室)或資訊服務處電子服務台

Top

107年資訊處推廣訓練課程公告

※特別提醒:填寫報名表登記課程並非報名成功,請於開課前一週收到錄取通知信件為主。

月份

上課日期

課程名稱

建議對象

地點
11月
函數月
2018/11/16(五)、2018/11/23(五)
14:00-17:00

利用函數展現化繁為簡的超能力
(二天課程) 
(尚未開放報名)

須具備Excel基礎認知者 人文館
遠距會議室

❀推廣課程聯絡窗口:

中央研究院資訊處 資訊訓練與推廣服務
✉ train@sinica.edu.tw
☎ 02-2789-9866

Top

本院圖書館近期開放二項資料庫,請多加使用

 以下資料庫開放使用:

Top

比特幣:同級間電子現金系統﹝Satoshi Nakamoto (中本聰)原著﹞

摘要
 純粹的同級間電子現金版本允許將線上支付直接從一方發送到另一方,無需通過金融機構。數位簽章提供了部分解決方案,但若是仍需依靠受信賴的第三方防止重複支出,則將喪丟主要優勢。我們提議使用同級間網路(peer-to-peer network)解決重複支出的問題。網路藉由將加上時戳(timestamp)的交易雜湊到正進行中的雜湊式工作證明鏈中,所形成的記錄不重做工作證明即無法變更。最長的鏈不僅可用以證明所經歷事件的序列,並可證明它是來自最大的CPU功率匯聚。只要大部分的CPU功率是由不協作攻擊網路的節點所控制,就能產生最長的鏈並贏過攻擊者。網路本身要求最小結構。訊息是在盡力而為的基礎上廣播的,節點可隨意離開並重新加入網路,接受最長的工作證明鏈作為它們不在時所發生事情的證明。

1. 簡介
 網際網路上的商業幾乎完全依賴作為受信賴第三方的金融機構處理電子支付。儘管該系統對大多數交易運作良好,但仍存在信賴式模型的固有弱點。由於金融機構無法免於調解糾紛,交易實際上並非完全不可逆。調解成本將導致交易成本增加,因而限制了最小的實際交易規模、斷絕小型臨時交易的可能性,更大的代價是失去為不可逆服務進行不可逆付款的能力。由於存在逆轉的可能性,因而需要廣泛的信賴。商家必須提防他們的客戶,糾纏客戶以獲取超出交易目的所需的資訊。一定比例的欺詐被認為不可避免。這些成本與支付不確定性可藉由親自使用實體貨幣而避免,但欠缺可於無受信賴方的情況下跨通訊通道進行支付的機制。

 所需要的是加密證明式而非信賴式電子支付系統,允許所有合意雙方的各方直接交易而無需受信賴的第三方。在計算上不可逆轉的交易將保護賣方免受欺詐,並可容易地實施例行託管機制 [譯者註:例如PCHome] 以保護買方。本文中,我們提議使用同級間分散式時戳服務器產生交易時間序的計算式證明,作為重複支出問題的解決方案。只要誠實節點共同控制了比任何協作的攻擊者節點群組更多的CPU功率,該系統是安全的。

2. 交易
 我們將電子錢幣定義為數位簽章鏈。每位擁有者藉由對先前交易的雜湊與下一位擁有者的公鑰進行數位簽章,再將這些錢幣添加到錢幣的末尾,以便將錢幣轉移給下一位,如圖1所示。受款人可查證簽章以驗證所有權鏈。

圖1

 問題當然是受款人無法查證擁有者之一是否重複支出錢幣。常見的解決方案是引入受信賴的中央機構或製幣廠,由它檢查每筆交易是否重複支出。每次交易後,必須將錢幣送回製幣廠以發行新錢幣,且只有直接從製幣廠發出的錢幣才被信任不被重複支出。這個解決方案的問題在於,整個貨幣體系的命運取決於營運製幣廠的公司,每筆交易都必須通過它們,就像銀行一樣。

 我們需要某種方法,讓受款人知道先前擁有者是否簽署任何先前的交易。出於我們的目的,最早的交易是重要交易,所以我們不關心之後的重複支出。確認有無交易的唯一方法是了解所有交易。在鑄幣廠式模型中,製幣廠知道所有交易,並決定哪個交易最早完成。為了在沒有受信賴方的情況下實現這目標,必須公開宣布交易[1],而且我們需要有個系統讓參與者所收到一致性的訂單單一歷程。受款人需要證明每次交易時,大多數節點同意它是第一次收到。

3. 時戳伺服器
 我們提議的解決方案以時戳服務器為出發點。如圖2所示,時戳服務器的工作原理是將項目區塊的雜湊加時戳後廣泛發布雜湊值,諸如利用新聞或Usenet貼文[2-5]。很顯然,為了產生雜湊,時戳證明當時資料必定存在。每個時戳在其雜湊中包含先前的時戳因而形成鏈,每個附加的時戳加強先前的時戳。

圖2
 

4. 工作證明
 要在同級間基礎上實施分散式時戳服務器,我們需使用類似於Adam Back式Hashcash [6]的工作證明系統,而非新聞或Usenet貼文。工作證明涉及雜湊時所掃描的值,諸如使用SHA-256,雜湊以多個0位元起始。所需的平均工作量是所需的0位元數量的指數倍 [譯者註:每多1個位元,計算時間就加倍],且能藉由執行單一雜湊進行查證。

 就我們的時間戳網路而言,我們藉由遞增區塊中的單次隨機數(nonce)實作工作證明,直到找出賦予區塊雜湊所必要的0位元數。一旦花費CPU工作量使其滿足工作證明,就不能在不重做工作的情況下變更區塊。由於隨後的區塊被鏈接於其後方,變更區塊的工作將包括重做之後的所有區塊。

圖3

 工作證明也解決了多數決策中決定表示的問題。如果大多數是基於每個IP位址一票,那麼任何能配置許多IP的人都可能破壞規則。工作證明基本上是每個CPU一票。多數決由最長的鏈表示,其中投入的工作量最大。如果大部分CPU功率是由誠實節點所控制,那麼誠實鏈將增長最快並超過任何競爭鏈。要修改過去的區塊,攻擊者必須重做區塊的工作證明以及之後的所有區塊,然後趕上並超越誠實節點的工作。我們稍後會說明,隨著後續區塊的添加,攻擊速度慢的追趕者的機率將會指數地遞減。

 即使硬體速率隨時間遞增,但運行節點的不同利益,使得工作證明難以由每小時平均區塊數的移動平均值所決定。如果它們產生得太快,則難度會增加。

5. 網路
運行網路的步驟如下:

  1. 向所有節點廣播新的交易。
  2. 每個節點將新交易收集到區塊中。
  3. 每個節點都為其區塊查找困難的工作證明。
  4. 當節點找到工作證明時,就將區塊對所有節點廣播。
  5. 僅在節點中的所有交易都有效且尚未使用時,節點才接受該區塊。
  6. 將所接受區塊的雜湊用作先前雜湊,節點藉由致力於創建該鏈中的下個區塊表示它們對區塊的接受。

 節點始終認為最長的鏈是正確的,並且繼續努力地延伸。如果兩個節點同時廣播下個區塊的不同版本,則某些節點可能先接收兩者中的某一個節點。這種情況中,他們致力於所收到的第1個工作,但保存另一個分支,以防它變得更長。當找到下個工作證明而1個分支變長時,即解除束縛;在另一個分支上工作的節點將接著切換到較長分支。

 新的交易廣播不一定需要抵達所有節點。只要它們到達許多節點,就很快地進入區塊。區塊廣播也容忍丟棄的訊息。如果節點未收到區塊,則它會在收到下個區塊時請求,意識到它錯過1個區塊。

6. 獎勵措施
 依慣例,區塊中的第1個交易屬特殊交易,它啟用區塊創建者所擁有的新錢幣。由於沒有中央授權發布錢幣,這增進了節點支援網路的誘因,並提供了初步將錢幣分配到流通的方法。穩定增加一定數量的新錢幣類似於金礦工人花費資源為流通增加黃金。在我們的例子中,它耗費了CPU時間和電力。
可從交易費用獲得資金獎勵。如果交易的輸出值小於其輸入值,則兩者間的差值即為添加到含交易區塊的獎勵值的交易費用。一旦預定數量的錢幣進入流通,獎勵就可以完全轉換為交易費用而完全沒有通貨膨脹。

 獎勵措施可能有助於鼓勵節點保持誠實。如果貪婪的攻擊者能比所有的誠實節點建置更多的CPU功率,他將必須選擇用來竊回他的付款以欺騙人們,或者用來產生新的錢幣。他應該發現遵守規則更有利可圖,這些規則幫助他比合併其他人獲得更多新錢幣,而不是破壞系統及他自己財富的有效性。

7. 回收磁碟空間
 一旦錢幣中的最新交易被埋在足夠的區塊之下,就可以丟棄先前用過的交易以節省磁碟空間。為了在不破壞區塊雜湊的情況下實現這一點,將交易雜湊於Merkle樹[7] [2] [5]中,只有根包含在區塊雜湊中。然後可藉由截斷該樹的分支壓縮舊區塊,如圖4所示。不需儲存內部雜湊。

圖4

 不含交易的區塊標頭大約80個位元組。假設每10分鐘產生1個區塊,則每年將佔用80624365 = 4.2百萬位元組(MB)。由於計算機系統在2008年大約銷售2 GB RAM,而摩爾定律預測當前每年增長1.2 GB,即使區塊標頭必須保存在記憶體中,儲存也不會有問題。

8. 簡化支付查證
 無需運行完整的網路節點即可查證付款。使用者只需保留最長工作證明鏈的區塊標頭副本,即可藉由查詢網路節點直到確信他擁有最長的鏈,並獲得將交易鏈接到加時戳區塊的Merkle分支,如圖5所示。他不能為自己檢查交易,但藉由將其鏈接到鏈中的某個位置,可看到網路節點已接受它,並進一步確認網路已接受它之後所添加的區塊。

圖5
&

 因此,只要由誠實節點控制網路,驗證就是可靠的,但如果網路被攻擊者制服,則驗證更容易受到攻擊。雖然網路節點可以自己查證交易,但只要攻擊者可以繼續壓制網路,攻擊者所偽造的交易就會欺騙簡化的方法。防止這種情況的策略之一是在網路節點檢測到無效區塊時接受來自網路節點的告警,提示使用者的軟體下載完整區塊並警告交易以確認不一致。頻繁付款的企業可能仍希望運行自己的節點,以獲得更加獨立的安全性和更快的查證。

9. 組合與分割價值
 雖然可能單獨處理錢幣,但是對於轉移中的每一分錢進行單獨的交易是不方便的。為了允許值的分割和組合,交易包含多個輸入及輸出。通常會有來自較大的先前交易的單個輸入或組合較小金額的多個輸入,但輸出最多兩個:一個用於支付,一個將變更(若有的話)送回發送者,如圖6所示。

圖6

 宜注意的是扇出,其中交易取決於多個交易,而這些交易取決於更多交易,這不是問題。永遠不需要提取交易歷程的完整獨立副本。

10. 隱私
 傳統的金融模型藉由限制存取相關各方與受信賴第三方的資訊,達成一定程度的隱私性。公開發布所有交易的必要性排除了這種方法,但仍藉由打斷另一個地方的資訊流維護隱私:藉由匿名保有公鑰。公眾可以看到有人向其他人發送金額,但沒有將交易與任何人聯繫起來的資訊。這類似於證券交易所發布的資訊水準,其中個人交易的時間和規模(即“tape”)是公開的,但沒有說明當事人是誰。參見圖7中所示。

圖7

 作為額外安全措施,宜為每個交易使用新的密鑰對,以防止它們與共同擁有者連結。具有多輸入交易的某些連結仍然無法避免,其必然表明由同一擁有者所擁有的輸入。風險在於,如果密鑰的擁有者被洩露,則連結可以揭示屬於同一擁有者的其他交易。

11. 計算
 我們考慮攻擊者試圖比誠實鏈更快地產生替代鏈的情境。即使這已經完成,也不會使系統對任意變化開放,諸如憑空創造價值或從來不屬於攻擊者的錢。節點不會接受無效的交易作為付款,誠實的節點永不接受包含它們的區塊。攻擊者只能嘗試變更自己的一筆交易以收回他最近支付的錢。

 誠實鏈和攻擊鏈之間的競爭可特性化為二項式隨機遊走。成功事件是由某個區塊所延伸的誠實鏈,以+1遞增其領先優勢,失敗事件是由某個區塊所延伸的攻擊者鏈,以-1縮小差距。

 攻擊者從給定赤字中趕上的可能性類似於賭徒的破產問題。假設擁有無限信用的賭徒開始出現赤字且可能將進行無數次試驗以試圖達到盈虧平衡。我們可計算他達到損益兩平的機率,或是攻擊者追趕誠實鏈的機率如下[8]:
 ,其中
p = 誠實節點找到下個區塊的機率
q = 攻擊者找到下個區塊的機率
qz = 攻擊者將從落後z個區塊趕上的機率

 給定我們的假設p> q,則隨著攻擊者必須趕上的區塊數增加,機率呈指數下降。由於他落後一步,如果他沒能於早期進行幸運的衝刺,那麼他的機會就變得越來越小。

 我們現在考慮新交易的接受者需等待多久才能充分確定發送者無法變更交易。我們假設發送者是某個攻擊者,他希望讓接受者相信他付款了一段時間,然後在一段時間過後將其付款切換回給自己。發生這種情況時接收者將收到警報,但發送者希望為時已晚。

 接收者產生新密鑰對,並在簽署前不久將公鑰提供給發送者。這樣能防止發送者提前準備區塊鏈,藉由持續工作直到他有幸到達足夠遠,然後在那一刻執行交易。一旦發送了交易,不誠實的發送者就會在包含其交易備用版本的平行鏈上開始秘密工作。

 接受者等待,直到交易已添加到區塊且已在其後鏈接了z個區塊。他不知道攻擊者所取得的確切進展,但假設誠實的區塊佔用了每個區塊的平均預期時間,攻擊者的潛在進展將是具預期值的Poisson分布:
 
 攻擊者為獲得現在仍然能趕上的機率,我們將Poisson密度乘以他可以從該點趕上的機率所取得的每個進展量:
 
重新排列,以避免總結分布的無限長尾數…
 
轉換為C程式碼…
#include <math.h>
double AttackerSuccessProbability(double q, int z)
{
double p = 1.0 - q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 - pow(q / p, z - k));
}
return sum;
}
運行某些結果,我們可看到機率隨z呈指數下降。
q=0.1
z=0 P=1.0000000
z=1 P=0.2045873
z=2 P=0.0509779
z=3 P=0.0131722
z=4 P=0.0034552
z=5 P=0.0009137
z=6 P=0.0002428
z=7 P=0.0000647
z=8 P=0.0000173
z=9 P=0.0000046
z=10 P=0.0000012
q=0.3
z=0 P=1.0000000
z=5 P=0.1773523
z=10 P=0.0416605
z=15 P=0.0101008
z=20 P=0.0024804
z=25 P=0.0006132
z=30 P=0.0001522
z=35 P=0.0000379
z=40 P=0.0000095
z=45 P=0.0000024
z=50 P=0.0000006
求解P小於0.1%…
P < 0.001
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340

12. 結論
 我們提議了無須依靠信賴的電子交易系統。我們從數位簽章產生錢幣的普通框架開始,它提供對所有權的強有力控制,但若無防止重複支出的方法則不完整。為了解決這個問題,我們提議了使用工作證明記錄交易公眾歷程的同級間網路,如果誠實節點控制大部分的CPU功率,攻擊者很快就會變得在計算上不切實際。該網路以其簡單地解構而強健。節點一次完成所有工作,而極少協調。由於訊息不會被選路送到任何特定地方,只需盡力遞送,因此不需識別訊息。節點可隨意離開並重新加入網路,接受工作證明鏈作為他們離開時所發生事情的證明。用他們的CPU力量進行投票,表示他們對有效區塊的接受,藉由延伸它們並拒絕對它們進行處理來拒絕無效區塊。任何所需的規則和獎勵措施都能以這種共識機制來實施。

參考文獻

  1. W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998.
  2. H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements," In 20th Symposium on Information Theory in the Benelux, May 1999.
  3. S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991.
  4. D. Bayer, S. Haber, W.S. Stornetta, "Improving the efficiency and reliability of digital time-stamping," In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.
  5. S. Haber, W.S. Stornetta, "Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.
  6. A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002.
  7. R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
  8. W. Feller, "An introduction to probability theory and its applications," 1957.
Top

  創刊日期:74年10月15日
  發行人 :陳伶志
    
  總編輯 :蔡明倫
  編輯小組:葛行慧
    
  網站技術:網頁技術及出版組
  出版日期:民國107年9月13日
    
  服務專線:(02)2789-9866
  E-mail:publish@gate.sinica.edu.tw


訂閱與取消訂閱 | 各期通訊 | 中研院資訊服務處 | 中央研究院

本電子報所有文字、圖片版權為中央研究院所有,未經許可請勿轉載。
如對本報有任何意見,請
與我們聯繫。
   
 
 本電子報所有文字、圖片版權為中央研究院所有 。 電子報出版系統由中央研究院資訊服務處開發。