作者|?boogerwooger
譯者|?火火醬
出品|?區塊鏈大本營
在開發自己的區塊鏈之前,你要做哪些事情?
首先,要和團隊討論開發的原因,以及開發預算。必須要注意區塊鏈架構及啟動細節,當你低估了工作量和復雜性的時候,會很容易忽略這些細節。
為了避免這些錯誤,作者寫下了這篇分步指南,重點介紹了如何啟動區塊鏈。
確定技術任務
區塊鏈的主要作用是接受來自用戶的事務交易,并以準確且不可否認的方式對其進行處理。每筆交易的結果都被記錄在區塊鏈網絡中所有機器上的公共數據庫中。如果參與者具有其初始狀態的數據以及所有交易或區塊的日志,則可以復制并復核此數據庫。
有些交易花費的CPU時間非常短,但是它們可以一次性更改多個余額并將大量數據寫入存儲中。有些交易會加大處理器負荷以執行加密計算,這將導致存儲中記錄的值非常小。
在第一種情況下,硬盤和RAM的工作更多,而在第二種情況下,CPU的工作則更多一些。由于這些參數會極大地影響區塊鏈服務器的成本,因此理解交易類型是技術設計的重要部分。
在交易之外,區塊鏈場景也起著舉足輕重的作用,例如,網絡能夠處理來自特定帳戶的多少筆交易。這可能只是十幾個帳戶,但每個帳戶都向網絡發送大量的交易;或者可能是成千上萬個僅進行一筆小交易的新賬戶。
方舟基金創始人:方舟基于加密貨幣監管不確定性出售了部分Coinbase股票:金色財經消息,方舟基金創始人Cathie Wood表示,美聯儲明年將迎來降息。美國經濟陷入衰退,我們將100%投資于創新。方舟基于加密貨幣監管不確定性出售了部分Coinbase股票。(金十)[2022/8/9 12:10:45]
需要注意的是,用于游戲、金融技術應用程序或加密協議的網絡在節點負載方面存在很大差異。
任何比“地址到地址”代幣傳輸更復雜的邏輯都需要特定的代碼。在區塊鏈項目中,要選擇一個能夠執行這些代碼的虛擬機。
選項1:專用虛擬機(VM)
實例:EVM、TVM
通常,專用VM的功能有限,只能執行其平臺的智能合約。其具有高度安全性,產生的結果更具可預測性,并且能夠計算用于交易處理的所有資源。
選項2:標準虛擬機
實例:EOS中的WebAssembly、ParitySubstrate
WebAssembly是一種用于創建客戶端代碼的web標準,它比JavaScript的效率更高。從理論上講,WASM的智能合約可以用任何語言進行編寫,但是低級語言更適合區塊鏈,否則生成的代碼將無法優化。
WASM還能夠跟蹤執行所需的資源。由于具有更多的合約功能,WebAssembly的安全性比不上專用虛擬機。
選項3:本機代碼交易處理
分析 | 資金離場致持續下跌 短期內確定后續方向:據鏈塔數據平臺數據顯示,鏈塔數字貨幣整體指數(BI)今日12時報1460點,相較昨日下跌93點,跌幅5.99%。24h內市值前10的貨幣9跌1漲,BTC下跌幅度最大,為6.91%,24h內加密貨幣市場持續下滑至約3040億美元。市場擊穿短期阻力,繼續下行,目前已處于觸底反彈或持續下滑引發市場恐慌情緒的分水嶺。避險資金回流,百億資金暴雷等多方面因素對市場活躍資金離場及價格的打壓導致市場偏弱。
BTC凌晨放量下跌,觸及10000點,目前在10000點上方波動。目前處于確定后續方向的重要階段,一旦跌破10000點,將快速考驗9500點支撐,對短期信心影響較大,OTC交易量減少的同時,有一定看多傾向。BNB和HT表現相對較好,BNB短期內31美元左右可以考慮建倉。[2019/7/2]
實例:HyperledgerFabric、Cosmos當處理交易的代碼“嵌入”到節點中時,將使用本機代碼處理。該選項的缺點是其安全性和交易處理的確定性較低;其優點是功能強大。
選擇區塊鏈的另一個標準是更新合約代碼的方式。系統錯誤是不可避免的,而你又不得不添加并更改系統功能。在現代區塊鏈中,這些任務可以通過多種方法來解決,例如下面的解決方案。
選項1:用戶提供的智能合約
動態 | Blockchain將blockchain.io確定為冒名頂替者:據Bitcoin Exchange Guide消息,數字貨幣錢包提供商Blockchain已在美國聯邦法院提起上訴,稱blockchain.io為冒名頂替者,Blockchain表示,這個新的組織前身是舊平臺Instawallet或Paymium。[2018/9/24]
實例:Ethereum中的智能合約、EOS、TON、ParitySubstrate
TON:https://forklog.com/chto-takoe-ton/
任何用戶都可以創建智能合約或者復雜的智能合約系統。可以在不與網絡驗證器交互的情況下部署和更新合約。
這是最靈活的方案。它能夠構建任意復雜的合約系統,但由于合約代碼可能會包含任何內容,因此需要更為復雜的節點操作邏輯。因此,區塊鏈節點必須非常謹慎地執行這些代碼,限制其時間、請求的數據和對共識的影響。
選項2:由驗證器控制的運行時代碼
實例:ParitySubstrate運行時代嗎、CosmosApplication
該方案可以表示為處理所有類型交易的大型智能合約。驗證器檢查代碼并為必要的更改進行投票,然后新的邏輯才開始運作。同時,開發人員可以從一組現成的模塊中創建運行時代碼。
修改處理交易的代碼比較困難,但是不需要進行額外的安全檢查。驗證器必須檢查更改,并且不能跳過易受攻擊的代碼,否則區塊鏈將無法正常運行。
聲音 | 印度果阿邦IT部長:政府必須采用區塊鏈來確保確定性和透明度:據Yourstory報道,在印度果阿邦舉行的國際區塊鏈大會上,果阿IT部長Rohan Khaunte表示:如果政府必須與公民建立信任,政府必須采用區塊鏈來確保“確定性”和“透明度”。他指出,人們信任貨幣,因為它具有RBI確保的確定性。[2018/8/5]
與用戶合約方案相比,此類“運行時”代碼的開發人員可以獲得更多的功能和資源。運行時模式對于平行鏈parachains來說尤為重要。
如果不了解交易的本質、虛擬機功能和智能合約邏輯的話,使用區塊鏈的方式將會極為低效。例如,僅僅為了簡單的操作就使用昂貴的軟件,或者為解決小小的邏輯修正就對主節點代碼進行危險的更新。
區塊鏈限制
當運行自己的區塊鏈時,需要評估客戶的技術需求并了解其可行性。
需求之一是在客戶端“執行”交易的時間。一個常見的錯誤是僅基于tps進行速度估計。
開發人員通常將tps作為“區塊到區塊時間”內的交易數量。例如,1000tps代表區塊間的時間為1秒,而一個區塊可能包含多達1000個交易。這并不意味著區塊鏈處理每項交易的時間都在0.001秒內,因為交易處理時間取決于區塊生產時間。
以太坊待確定交易數量為17357筆:根據數據顯示,目前以太坊待確定交易數量為17357筆,相較于昨日高峰時期的36000筆而言有所下跌。[2018/5/7]
如果區塊生產時間是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
Tags:區塊鏈CHAAINChain區塊鏈技術的特點blockchaincapitalblockchain是什么網站Chainlist
導讀 4月19日,dForce的去中心化借貸協議Lendf.Me受到黑客攻擊,價值2524萬美金的加密資產被盜。 摘要 專題: 黑天鵝來襲,DeFi安全性的反思.
1900/1/1 0:00:00本文來源:高山大學 *以下根據高山大學與GMIC在線聯合舉辦的特別對話欄目「三缺一?科學觀世界」中肖風的分享整理而成.
1900/1/1 0:00:00撰文:LeftOfCenter 來源:鏈聞 作者特別感謝慢霧科技創始人余弦對本文的幫助。對于DeFi投資者來說,這是一個不平靜的周末.
1900/1/1 0:00:004月15日,以太坊2.0構建團隊PrysmaticLabs發布以太坊2.0主網配置測試網Topaz.
1900/1/1 0:00:00本文來源:Cointelegraph中文作者:STEPHENO''NEAL根據普華永道最近發布的一份報告顯示,即使是在現在的熊市時期,加密貨幣行業也在繼續走向成熟.
1900/1/1 0:00:00欄目介紹:「知礦大學問答」是以問答的形式,邀請行業資深從業者,解答用戶挖礦相關的提問。 @若水歸滄海提問: 為什么行情不好的時候礦機降頻,行情好的時候超頻呢?為什么通過調頻能改變礦機的收益呢?知.
1900/1/1 0:00:00