作者|?boogerwooger
譯者|?火火醬
出品|?區塊鏈大本營
在開發自己的區塊鏈之前,你要做哪些事情?
首先,要和團隊討論開發的原因,以及開發預算。必須要注意區塊鏈架構及啟動細節,當你低估了工作量和復雜性的時候,會很容易忽略這些細節。
為了避免這些錯誤,作者寫下了這篇分步指南,重點介紹了如何啟動區塊鏈。
確定技術任務
區塊鏈的主要作用是接受來自用戶的事務交易,并以準確且不可否認的方式對其進行處理。每筆交易的結果都被記錄在區塊鏈網絡中所有機器上的公共數據庫中。如果參與者具有其初始狀態的數據以及所有交易或區塊的日志,則可以復制并復核此數據庫。
有些交易花費的CPU時間非常短,但是它們可以一次性更改多個余額并將大量數據寫入存儲中。有些交易會加大處理器負荷以執行加密計算,這將導致存儲中記錄的值非常小。
在第一種情況下,硬盤和RAM的工作更多,而在第二種情況下,CPU的工作則更多一些。由于這些參數會極大地影響區塊鏈服務器的成本,因此理解交易類型是技術設計的重要部分。
在交易之外,區塊鏈場景也起著舉足輕重的作用,例如,網絡能夠處理來自特定帳戶的多少筆交易。這可能只是十幾個帳戶,但每個帳戶都向網絡發送大量的交易;或者可能是成千上萬個僅進行一筆小交易的新賬戶。
約翰內斯堡大學教授敦促南非確定加密貨幣政策,以成為數字貨幣創新中心:9月27日消息,約翰內斯堡大學教授Rabelani Dagada敦促南非,如果該國仍想成為數字貨幣創新中心,就要最終確定其加密貨幣公共政策。在Itweb發表的文章中,Dagada提醒南非當局,繼續扼殺加密貨幣的努力將無法實現預期目標。他補充說,監管者必須從歷史中吸取教訓,強烈反對一項新興創新并不能扼殺它。
雖然南非當局沒有強烈反對加密貨幣,但他們拒絕讓它們成為主流。為了說明這一點,Dagada引用了約翰內斯堡證券交易所(JSE)拒絕批準Sygnia的比特幣ETF上線申請。然而,Dagada堅持認為,如果JSE批準這項申請,南非“將有可能成為加密貨幣創新中心,尤其是考慮到南非在發展中經濟體中擁有高度復雜的金融服務。”然而,Dagada在文章中指出,盡管遭到反對,新技術總是最終占上風。將加密貨幣正規化還有利于南非,因為其包含大量應稅稅款。(Bitcoin.com)[2021/9/27 17:09:35]
需要注意的是,用于游戲、金融技術應用程序或加密協議的網絡在節點負載方面存在很大差異。
任何比“地址到地址”代幣傳輸更復雜的邏輯都需要特定的代碼。在區塊鏈項目中,要選擇一個能夠執行這些代碼的虛擬機。
選項1:專用虛擬機(VM)
實例:EVM、TVM
通常,專用VM的功能有限,只能執行其平臺的智能合約。其具有高度安全性,產生的結果更具可預測性,并且能夠計算用于交易處理的所有資源。
Matt Weller:冠狀病給比特幣減半預期帶來了不確定性:美國最大的零售外匯提供商嘉盛集團(Gain Capital)全球市場研究主管Matt Weller表示,從有效市場的角度來看,目前比特幣的價格反應了比特幣的減半預期。因為以目前比特幣的流動性和交易量來看,十年不變的供應減少規則是十分可預測的事件。一些分析師認為之前兩次減半助長了比特幣市值大幅上漲,但是這次冠狀病的爆發給比特幣減半上漲預期帶來了不確定性。(路透社)[2020/5/11]
選項2:標準虛擬機
實例:EOS中的WebAssembly、ParitySubstrate
WebAssembly是一種用于創建客戶端代碼的web標準,它比JavaScript的效率更高。從理論上講,WASM的智能合約可以用任何語言進行編寫,但是低級語言更適合區塊鏈,否則生成的代碼將無法優化。
WASM還能夠跟蹤執行所需的資源。由于具有更多的合約功能,WebAssembly的安全性比不上專用虛擬機。
選項3:本機代碼交易處理
實例:HyperledgerFabric、Cosmos當處理交易的代碼“嵌入”到節點中時,將使用本機代碼處理。該選項的缺點是其安全性和交易處理的確定性較低;其優點是功能強大。
分析 | 市場上升趨勢減緩 不確定性放大:據Bgain Digital投研數據:截止北京時間2020年1月29日18:00點,BTC價格9329.2美元,24小時內BTC價格上漲3.92%,結合量化交易的BTC本位增強指數均略有上漲,其中Bgain交易指數上漲0.65%,CTA指數上漲0.97%,對沖交易指數上漲0.01%。截至18點,OKEX精英用戶多空占比為42%/56%;火幣精英用戶多空占比42%/57%,Bitfinex多/空保證金占比為83%/17%,BitMEX多空倉位占比為58%/42%,市場情緒相對看多。幣價24小時內整體呈上漲趨勢,成功站上9300點,并一度突破9400點,市場連日上漲,但上升趨勢減緩,隨著疫情不斷醞釀及股市延緩開市,市場情緒不確定性逐漸放大,未來或將出現波動盤整,建議交易者謹慎控制持倉,避免市場波動帶來的影響。[2020/1/29]
選擇區塊鏈的另一個標準是更新合約代碼的方式。系統錯誤是不可避免的,而你又不得不添加并更改系統功能。在現代區塊鏈中,這些任務可以通過多種方法來解決,例如下面的解決方案。
選項1:用戶提供的智能合約
實例:Ethereum中的智能合約、EOS、TON、ParitySubstrate
TON:https://forklog.com/chto-takoe-ton/
任何用戶都可以創建智能合約或者復雜的智能合約系統。可以在不與網絡驗證器交互的情況下部署和更新合約。
現場 | FS Vector合伙人:區塊鏈“不確定性”和商業模式創新令人興奮:金色財經現場報道,今日在第二屆世界數字資產峰會上,FS Vector合伙人John Collins 在“傳統金融服務”的圓桌討論中表示,區塊鏈令人興奮的原因之一就是其“不確定性”,比如說人們很難想象如“加密貓”等創新可以融資幾百萬美元。區塊鏈是開放的,客戶的需求實際上也是難以預測的,不同企業的商業模式都是有所區別的,希望有更多的機構可以致力于研究這樣的創新框架來服務區塊鏈初創企業去開拓更多用戶需求。目前有成千上萬的參與者正在研究像加密貓這樣的模式創新,這是很不可思議的,這讓行業充滿希望。[2018/12/11]
這是最靈活的方案。它能夠構建任意復雜的合約系統,但由于合約代碼可能會包含任何內容,因此需要更為復雜的節點操作邏輯。因此,區塊鏈節點必須非常謹慎地執行這些代碼,限制其時間、請求的數據和對共識的影響。
選項2:由驗證器控制的運行時代碼
實例:ParitySubstrate運行時代嗎、CosmosApplication
該方案可以表示為處理所有類型交易的大型智能合約。驗證器檢查代碼并為必要的更改進行投票,然后新的邏輯才開始運作。同時,開發人員可以從一組現成的模塊中創建運行時代碼。
修改處理交易的代碼比較困難,但是不需要進行額外的安全檢查。驗證器必須檢查更改,并且不能跳過易受攻擊的代碼,否則區塊鏈將無法正常運行。
芝商所確定比特幣期貨推出時間:據了解,芝商所發布最新動態稱,將于12月10日正式推出比特幣期貨。[2017/11/21]
與用戶合約方案相比,此類“運行時”代碼的開發人員可以獲得更多的功能和資源。運行時模式對于平行鏈parachains來說尤為重要。
如果不了解交易的本質、虛擬機功能和智能合約邏輯的話,使用區塊鏈的方式將會極為低效。例如,僅僅為了簡單的操作就使用昂貴的軟件,或者為解決小小的邏輯修正就對主節點代碼進行危險的更新。
區塊鏈限制
當運行自己的區塊鏈時,需要評估客戶的技術需求并了解其可行性。
需求之一是在客戶端“執行”交易的時間。一個常見的錯誤是僅基于tps進行速度估計。
開發人員通常將tps作為“區塊到區塊時間”內的交易數量。例如,1000tps代表區塊間的時間為1秒,而一個區塊可能包含多達1000個交易。這并不意味著區塊鏈處理每項交易的時間都在0.001秒內,因為交易處理時間取決于區塊生產時間。
如果區塊生產時間是3秒,那么一個交易的處理時間則可以達到3秒甚至6秒。只有通過從不同的帳戶發送并行交易才能實現3000tps。
現代區塊鏈的另一個重要限制是驗證器的數量。在生成一個區塊之后,驗證器必須對其達成一致意見。區塊生產時間取決于驗證器以及需要交換的消息的數量。所有網絡共識都需要至少1/2N+1個驗證器的同意,2/3個N+1驗證器的同意才能保證完全安全。這些都是基本的,可以保證網絡對參與者惡意行為的容忍性。
如果你計劃推出一個區塊鏈,那么就不要期望能對客戶和數百萬驗證器實現實時回復。這只有在成熟的量子通信技術和加密計算出現之后才能實現。
測試網和支持
假設你已經選擇了一個區塊鏈并準備啟動。下一步要做什么呢?
步驟1:選擇實施方案并評估費用
首先,必須要選擇特定的技術,評估項目實施的風險和人工成本,并考慮某些解決方案的局限性。該解決方案可能已經在實際環境中進行過測試了,也可能還處于開發過程中。
如果你要推出自己的解決方案,那就要分析最接近的類似方案。這樣可以幫助你節省時間,并從其他團隊的經驗中獲益。
步驟2:大量測試
網絡測試意味著使用最接近實際的驗證器數量來檢查區塊鏈性能。如果區塊鏈有100個驗證器,則需要確保網絡能夠在負載下正常工作。
測試涉及用于自動部署包含多個驗證器的網絡的基礎設施,這將在以后的階段中非常有用。
如果不進行測試,就會有在網絡共識中存在錯誤或漏洞的風險,尤其是當算法并不是眾所周知的時。在已經運行的網絡中收集問題相關信息則會造成不必要的麻煩。
步驟3:測試網
測試網能幫助團隊和用戶在主網之前試用解決方案。測試網中應該包含所有的主網功能,并且客戶端應用程序應該支持這兩個網絡。由于智能合約的準確性,因此可以以99%的準確率和真實用戶的實際余額進行產品測試。在測試網期間,你可以分發代幣,檢查驗證器如何啟動其節點,與活躍用戶進行首次交易,然后在主網中應用測試結果。
有些軟件需要在測試網啟動后立即獲得支持。在測試網絡中啟動這些服務時獲得的信息將有助于主網的順利運行。
這個階段會展示團隊工作的質量——軟件的穩定性,文檔的編寫水平,潛在的驗證器能夠多快地部署所需軟件,等等。
步驟4:選擇驗證器
通常都是由獨立公司來充當網絡驗證器的角色,因此幾乎不可能將它們聚集在一起并同步執行。所有程序都應考慮到驗證器的地域分布和經驗水平,允許驗證器采取任意順序的操作。
選擇驗證器的最流行的方法是以DPoS算法為基礎。代幣持有者們使用其余額為驗證器投票。獲得多數代幣投票的頂級驗證器有權生成區塊。在權威證明proof-of-authority網絡和公司區塊鏈中,用其他驗證器的投票來代替代幣余額。
在啟動主網之前,你需要創建驗證器初始列表,并決定何時開始全面生產區塊。從技術層面來講,你的團隊可以立即在初始網絡區塊中注冊所有的驗證器,也可以先運行自己的驗證器,然后逐漸將其替換為新的驗證器。
步驟5:主網
主網啟動應該包括主動監控。所有驗證器的信息最好都能出現在同一項服務中——這樣你的團隊就能夠更積極地響應網絡問題。
區塊資源管理器出現了新要求——主要外部網絡服務。因為交易信息對項目團隊和用戶來說非常重要,所以在出現故障時,它應該能自動切換到備份服務器。如果資源管理器存儲著用戶信息(例如,Etherscan中的合約代碼驗證),可能也會需要備份副本。
橋梁——允許你將代幣從一個區塊鏈轉移到另一個區塊鏈的軟件——在支持方面也可能是變化無常的。實際用戶的余額取決于橋梁的工作,因此需要特別注意其安全性。
步驟6:代碼更新和支持
團隊的工作并不會隨著主網的發布而停止。代碼庫也在改變并積累重要的bug修復和優化。這些更改必須包括在項目中,并且必須及時更新區塊鏈節點代碼。
在這個階段,開發的文檔和步驟是非常重要的。在代碼更新期間不能有任何失敗,否則驗證器會損失金錢、時間和聲譽。在主網期間,驗證器池可能會發生顯著變化。如果支持不足或文檔不完善,可能會導致網絡問題。
總結
在已經成功的解決方案的基礎上發布區塊鏈并沒有太大的風險。通常,問題具有經濟或組織性質,這與節點的內部代碼無關。
建立在公共網絡基礎上的解決方案是非常可靠的軟件,可以被無限提供給互聯網用戶。中心化的金融系統不具有這種特性:如果沒有注冊、登錄-密碼對和監控,則無法建立具有關鍵開源信息的銀行API或數據庫。
雖然區塊鏈的開發和啟動是非常昂貴的,但其運行可能會給參與者們帶來驚喜,因為它具有極強的安全性、自動調節能力和網絡能力,能夠在困難條件下保持交易的準確性和穩定性。
原文:https://hackernoon.com/how-to-launch-your-own-blockchain-scope-of-work-and-design-part-i-613o32ze
本文翻譯自AvivZohar的博文《TheIncredibleMachine》。這是小編看過的最接地氣、最好理解的“零知識證明”解釋.
1900/1/1 0:00:00本文來源:證券日報 記者:邢萌 日前,國家網信辦官網發布第三批共224個境內區塊鏈信息服務名稱及備案編號。至此,區塊鏈信息服務備案達730個,相關服務遍布24個省市.
1900/1/1 0:00:00螞蟻區塊鏈“開放聯盟鏈”面向中小企業和開發者發布,三重福利助推全民入鏈:注冊即獲贈1億開發燃料GAS;螞蟻集團井賢棟:螞蟻區塊鏈正式升級為“螞蟻鏈”:金色財經現場報道,7月23日.
1900/1/1 0:00:00近日,文藝復興科技旗下的大獎章基金已經獲得批準,參與CME的比特幣期貨交易,這則消息吸引了大家的廣泛關注,也給市場打了一針“興奮劑”.
1900/1/1 0:00:00本文來源:區塊鏈前哨,作者:BillyBambrough,譯者:楊志昂“加密貨幣市場是我們僅剩的最自由的市場了,因為它的獨立于各國央行和貨幣政策.
1900/1/1 0:00:00作者:?MakerTeam翻譯&校對:?閔敏&阿劍 來源:以太坊愛好者 編者注:原標題為《科普|Dai的十大應用場景》利用區塊鏈技術.
1900/1/1 0:00:00