區(qū)塊鏈技術的常見問題解答
什么是RSK
RSK是首個由比特幣網(wǎng)絡擔保的通用智能合約平臺。
什么是智能合約?
智能合約是指合同條款用計算機語言而不是法律語言編碼的合同。智能合約可以由計算網(wǎng)絡例如RSK執(zhí)行,所有合同是由網(wǎng)絡中所有節(jié)點遵循協(xié)議自動執(zhí)行的。
如果所有提及的對象(例如貨幣、支付、義務、財產所有權、資產、許可證)在平臺上有數(shù)字化身份時,智能合約就是完全自主的。當沒有該對象的數(shù)字化身份時,智能合約也可以引用自身,通過稱為oracles的特殊網(wǎng)關節(jié)點對其狀態(tài)的變化做出反應,從而向區(qū)塊鏈提供外部信息。智能合約也可以獲得準確時間,顯示時間限制條件。
智能合約的幾個例子:
小額貸款
分布式投票系統(tǒng)
機器對機器支付
去中心化交易所
資產憑證
跟蹤供應鏈
忠誠與回報
小額保險
眾籌
產籍
公證交易所
透明的公開投標
匯款
RSK的任務是什么?
專注金融包容性、公共管理透明度和物聯(lián)網(wǎng),優(yōu)化跨行業(yè)的過程。
RSK是否會制造新幣?
不。RSK平臺使用比特幣作為本幣。比特幣區(qū)塊鏈和RSK區(qū)塊鏈之間的雙向錨定技術會保證BTC和SBTC之間有一個固定的轉換匯率。(1SBTC=1BTC)
RSK網(wǎng)絡每秒可以處理多少個交易?
考慮當前網(wǎng)絡節(jié)點SSD存儲技術的趨勢,RSK網(wǎng)絡可以承受400 tx/sec(簡單支付交易)。但是RSK的目標是使用Lumino技術達到每秒2000個交易,Lumino技術是會嵌入RSK后續(xù)版本的第二層網(wǎng)絡。
區(qū)塊確認時間是?
網(wǎng)絡按每10秒鐘的區(qū)塊確認時間發(fā)布一個區(qū)塊。
如何兼容以太坊?
RSK智能合同用Solidity編寫,RSK VM 完全兼容以太坊VM。RSK平臺未來版本將包括對以太坊VM的改進,以太坊VM可能需要對智能合同進行小修改才能使用這些新功能。
RSK使用的是什么挖礦算法?
RSK區(qū)塊鏈是使用基于SHA256D算法(與比特幣使用的算法相同)的工作量證明來保證安全的。這使比特幣礦工完全使用相同資源并在兩條區(qū)塊鏈上同時挖礦,而不會對比特幣挖礦任何的性能傷害。
為什么比特幣礦工會在RSK區(qū)塊鏈上挖礦?
聯(lián)合挖礦功能使比特幣礦工幾乎不用任何額外成本就可以在兩條區(qū)塊鏈上挖礦。手續(xù)費給礦工提供了額外的收入,使他們參與到智能合約業(yè)務上來。
該項目目前的狀況是?
我們目前正在準備我們的生產網(wǎng)絡,代號為生姜(Ginger)的網(wǎng)絡。我們功能齊全的私人測試網(wǎng),代號黃姜B(Turmeric B)正在運行。
安全問題
如何保證RSK區(qū)塊鏈安全?
RSK區(qū)塊鏈是受獨特的安全措施組合保護的。一方面,RSK區(qū)塊鏈是由比特幣網(wǎng)絡——世界上最大最可靠的區(qū)塊鏈網(wǎng)絡——的礦工來挖礦的。除此之外,一個分布在20多個國家的25家最知名最受信任的比特幣公司團隊額外提供一層保護,在區(qū)塊鏈上設立安全檢查點。
RSK 雙向錨定被設計成一種混合安全模型,由礦工和聯(lián)邦工作證明的聯(lián)合持有多重簽名。
什么是雙向錨定技術?
雙向錨定技術經常被認為是一種將BTC轉移到SBTC的方法,反之亦然。實際上,當BTC被交換成SBTC,區(qū)塊鏈之間并沒有貨幣被“轉移”。沒有任何一筆交易實施了這個動作。 這是因為比特幣不能驗證另一條區(qū)塊鏈上的余額屬性。當用戶打算把BTC轉換成SBTC, 將鎖定部分比特幣在比特幣區(qū)塊鏈上,同時在RSK上釋放等量的SBTC。當SBTC需要換回比特幣時,再次在RSK上鎖定SBTC,同時在比特幣區(qū)塊鏈上釋放等量的比特幣。通過安全協(xié)議保證相同的比特幣不會在兩條區(qū)塊鏈上同時釋放。
雙向錨定如何工作?
當比特幣用戶想要使用雙向錨定時,他發(fā)送一筆交易到由聯(lián)盟保護資金的多重簽名錢包上。RSK區(qū)塊鏈使用這筆交易中比特幣相關的公鑰來存儲智能比特幣(SBTC)。這意味著比特幣區(qū)塊鏈上控制比特幣的私鑰可以用來控制RSK鏈上的賬戶。盡管公鑰和私鑰是相似的,但是每個區(qū)塊鏈使用不同的格式編碼地址。這意味著,兩個區(qū)塊鏈上的地址是不同的。
比特幣地址和RSK地址有什么不同?
RSK地址是一組含有40位十六進制字符的字符,而比特幣地址是一組26-35位含有字母和數(shù)字的字符。
RSK如何保證側鏈上被鎖定的資金安全?
側鏈上的資金最初是受聯(lián)邦管理的門限簽名保護的。至少51%的聯(lián)邦成員簽名才能將比特幣從peg錢包中轉移出去。然而,一旦比特幣軟分叉支持RSK提出的驅動鏈BIP,需要聯(lián)合挖礦確認的51%算力才能從peg解鎖資金。通過驅動鏈BIP,聯(lián)合礦工獲得否決權,可以防止聯(lián)邦創(chuàng)建的交易沒有獲得RSK區(qū)塊鏈提供的自動授權就花掉抵押品。
RSK如何防止雙花攻擊?
RSK像比特幣一樣,由基于SHA256D算法的工作證明保護。如果所有的RSK礦工串通,他們可以審查一筆或所有的RSK交易,但是他們不能偷走智能比特幣(SBTC)或者比特幣。此外,RSK礦工不能雙花,因為聯(lián)邦提供檢查點服務,并且所有的聯(lián)邦成員節(jié)點將被高度鏈接到RSK網(wǎng)絡,防止Sybil攻擊。聯(lián)邦將使用檢查點功能來防止與協(xié)議故障無關的高深度重組。 聯(lián)邦不能雙花,因為聯(lián)邦成員不允許檢查點具有沖突交易的兩個區(qū)塊。
RSK平臺比比特幣更安全?
平臺的安全性取決于參與聯(lián)合挖礦的數(shù)量和聯(lián)邦成員的數(shù)量和質量(安全合格)。超過30%的比特幣礦工已經在與RSK合作,剩下的50%計劃加入RSK挖礦,因此我們期望達到超過51%的比特幣礦工來保證RSK網(wǎng)絡的安全。因為聯(lián)邦添加了第二層防護,從共識的角度來說,我們認為RSK平臺比比特幣更安全。
比特幣N個交易確認相當于RSK幾個交易確認?6個RSK的確認會像比特幣的6個確認那樣完全嗎?
最近有一篇文章證實了,由于正常的統(tǒng)計偏差存在逆轉交易的可能性,6個比特幣確認交易(平均1個小時)將約等于RSK上12個確認交易(平均兩分鐘)。然而,比特幣有0確認的概念(交易已經廣播而沒有RBF),在RSK上沒有相似的概念。RSK最快的真實確認是“1.5”個,或者1個確認加上5秒,沒有區(qū)塊逆轉,或平均15秒。
RSK在用戶免費使用區(qū)塊鏈資源(CPU、寬帶、存儲)下是否安全?
RSK“汽油系統(tǒng)”(gas system)防止攻擊者沒有支付相關的費用就在區(qū)塊上創(chuàng)建、擴散或者添加耗費資源的交易。所有資源,包括CPU、寬帶和存儲是由《/span》《span style=“font-weight: 400”》消耗的汽油(Gas)量來計算的。每個區(qū)塊都有汽油限制,因此每個區(qū)塊可以消耗的資源是有限的,通過耗盡資源的攻擊是無效的。
RSK能否保證礦工不會濫用汽油系統(tǒng),獲取廉價的資源,就像以太坊一樣?
在以太坊上,一個礦工指定價格為零來添加交易,從而幾乎免費獲得長期的合約狀態(tài)記憶。但是,大多數(shù)以太坊的區(qū)塊是空的,不存在積壓的付費交易,目前費用是零。RSK很高比例的交易手續(xù)費用于對未來礦工的獎勵,一小部分的交易手續(xù)費用于汽油然后,礦工協(xié)商一個最小的汽油價格。因此,流氓礦工無法免費獲得平臺資源。
RSK計劃硬分叉?
首先,平臺一旦推出,RSK沒有權力執(zhí)行硬分叉。RSK團隊提出的變更旨在改進網(wǎng)絡的隱私、擴展性、安全或者易用性。RSK網(wǎng)絡的參與者應該自己決定接受或者反對RSK或者任何其他社區(qū)成員提出的變更。
《p》《b》注意:RSK將不打算用分叉來干預團體或用戶之間狀況,例如DAO事件。唯一RSK會提議的分叉是為了改進平臺安全和/或性能的硬分叉?!?b》《/p》
RSK有將ECDSA升級到其他簽名方案的打算嗎?
RSK計劃讓用戶自己定義簽名方案。這意味著RSK將能為他們的賬戶選擇其他的簽名方案。(例如,量子加密證明方案)。這可以通過向賬戶添加一個驗證免費交易簽名的無狀態(tài)腳本來實現(xiàn)。這將允許用戶使用Merkle-Winternitz、RSA、edDSA和其他簽名計劃。
RSK打算如何對待隱私問題?
RSK正致力將PBFT共識與“非公開的RSK”網(wǎng)絡并行工作。然而,我們的目標是幫助公司輕易地與公共RSK平臺融合。非公開的RSK網(wǎng)絡將在2017年中期的某個時間推出。在Bamboo版本(Q42017),我們將添加一項交易保密技術。
RSK將如何處理擴展性問題?
RSK正在通過不同的方面,基礎層(RSK)和第二層(Lumino)解決擴容問題。我們對基礎層的主要貢獻正在于使用了多線程區(qū)塊驗證,這將減少驗證成本,效果取決于CPU核的數(shù)量。礦工使用獨立的檢測算法設置執(zhí)行線程。關于基礎層的擴容,我們在2.0版本進行了許多改進。
《p》《span style=“font-weight: 400”》為了達到200M的用戶量,我們將部署新的第二層網(wǎng)絡。Lumino網(wǎng)絡是一個支付網(wǎng)絡,可以在去中心化設置中擴展到每秒2000筆交易,且該網(wǎng)絡在大多數(shù)性能上勝于閃電網(wǎng)絡。它不需要復雜的路由算法或者預鎖定資金。
礦工和礦池
什么是RSK聯(lián)合挖礦,它是否安全?
聯(lián)合挖礦是一個讓比特幣礦工使用同樣的硬件,消耗同樣的電力在比特幣和RSK區(qū)塊鏈上同時挖礦的過程。RSK聯(lián)合挖礦使用的密碼散列函數(shù)與比特幣的是一樣的(SHA256)。但是有一個重要的區(qū)別:比特幣總是使用雙SHA246,而RSK聯(lián)合挖礦安全使用單一SHA256。此外,RSK聯(lián)合挖礦假設一個來自SHA256更強的屬性,至少抗100位的freestart collision(一種碰撞算法)還能保證安全性。這是因為RSK使用Merkle–Damg?rd結構特性來壓縮SPV證明的大小。
什么是DéCOR+協(xié)議?
在比特幣網(wǎng)絡,當兩個或者更多礦工在相同高度挖到區(qū)塊時,存在區(qū)塊利益沖突。每個競爭礦工都希望自己的區(qū)塊被其他礦工選為最佳的區(qū)塊鏈頂端。所有其他誠實的礦工和用戶都偏向所有人都選擇相同的區(qū)塊頂端,因為這將減少區(qū)塊逆轉的可能性。DéCOR+收斂性選擇設置了正確的經濟刺激,而不需要礦工之間進一步的互動。解決沖突,以便:
當所有參與的成員都獲得相同的區(qū)塊鏈狀態(tài)信息時,沖突的解決結果是確定性的。
當沖突的區(qū)塊收益(手續(xù)費)比平均數(shù)更高的時,解決方案使所有礦工的收益最大化。
當沖突區(qū)塊的獎勵接近平均值時,解決方案傾向于減少礦工審查其它區(qū)塊或交易的權力。
解決沖突的時間可以忽略不計。
RSK在私自挖礦下安全嗎?
DéCOR+是一個激勵兼容機制,只要交易手續(xù)費接近于平均值。這意味著礦工從扣留的區(qū)塊上得不到什么。
假設特定的條件下(例如低收益和大規(guī)模交易吞吐量),礦工不能驗證區(qū)塊內容將是一個嚴重的漏洞。RSK設計中解決這個問題了嗎?
RSK礦工不會在幾秒內完成區(qū)塊驗證,這是DéCOR+協(xié)議的一部分。礦工可以在還沒有完成父區(qū)塊驗證的時候創(chuàng)建子區(qū)塊。沒有完成父區(qū)塊驗證時創(chuàng)建的區(qū)塊被標記為網(wǎng)絡相應的行動。
但是,在一行中不能有兩個空的區(qū)塊。通過共享部分過去區(qū)塊的手續(xù)費,礦工挖空快也是有獎勵的。
聯(lián)邦
什么是聯(lián)邦?
RSK平臺會推出一個由知名和受尊重的社區(qū)成員(安全標準很高的區(qū)塊鏈公司)組成的聯(lián)邦。每個成員有一個用于區(qū)塊檢查點簽名方案的公鑰。聯(lián)邦可以通過線上投票系統(tǒng)增加或者移除成員。成為聯(lián)邦成員的條件(被稱為聯(lián)邦成員要求或者FMR)是建立在基本的安全政策和法律要求,并且所有成員必須確認。
聯(lián)邦提供的服務是什么?
聯(lián)邦將向網(wǎng)絡提供幾種服務。有些服務在發(fā)行版就可以使用,還有一些將在稍后添加。每個成員可以選擇提供以下任意服務:
和比特幣雙向錨定
和其他加密貨幣雙向錨定
Oracling服務
檢查點服務
什么是聯(lián)邦提供的雙向錨定服務?
比特幣不支持智能合約或本地操作碼來驗證外部SPV證明。RSK部分的雙向錨定系統(tǒng)要求信任一組半信任的第三方(STTP)。在RSK, 保護鎖定資金的STTPs是聯(lián)邦成員的一部分。聯(lián)邦成員是受尊重的社區(qū)行為者,比如,重要的區(qū)塊鏈公司,同時他們也有技術能力維護安全網(wǎng)絡節(jié)點。成為聯(lián)邦的一部分的一個要求是能夠有正確的行為能力管理有權力的節(jié)點軟件,尤其是在決定解鎖比特幣資金這一工作上保證正確性。
什么是聯(lián)邦檢查點?
為了獲得額外的安全保護層,RSK協(xié)議接受在區(qū)塊鏈上的聯(lián)合檢查點。聯(lián)邦的檢查點由聯(lián)邦成員簽名完成,客戶可以根據(jù)多數(shù)簽名來決定哪一條是最佳鏈。
聯(lián)邦會是否會停止保護雙向錨定?
一旦比特幣添加了特定操作碼或通過一個硬分叉實現(xiàn)SPV證明有效性,或管理驅動鏈,就無需聯(lián)邦在雙向錨定中充當STTPs角色了。在此之前,我們希望聯(lián)邦和側鏈驗證并存。
聯(lián)邦什么時候會關閉檢查點?
默認情況下,如果RSK算力超過最佳鏈中觀察到的最大比特幣算力難度的60%,并且當區(qū)塊支付的手續(xù)費高于或等于比特幣區(qū)塊獎勵的時候,客戶端將停止使用聯(lián)邦檢查點。但是,任何用戶都可以重新配置本地策略。