尼古拉斯·彭寧頓(Nicholas Pennington),SETL首席技術官
什麼是區塊鏈?
區塊鏈是一種使用加密技術和分布來保證不變性和身份的狀態和歷史。運行區塊鏈軟體(Nodes)的多臺計算機獨立運行,使網絡具有抵抗破壞的能力,而分布式存儲使腐敗變得不可行。如果您不理解這意味著什麼,希望所有內容都會變得更加清晰……
但是實際上,它是做什麼的?
區塊鏈由節點網絡組成,每個節點都有完整的狀態記錄。「狀態」是指帳戶,資產餘額,工具定義等的當前記錄,實際上是區塊鏈記錄的每條實時(即當前)信息。非實時(即過時)的信息仍記錄在先前的塊或狀態中,可能需要「證明」當前狀態,但對於節點的持續運行通常不需要。
當參與者想要更改某些東西(例如,將其擁有的一定數量的資產發送給其他人)時,他們將交易提交到網絡,然後將其傳播(發送到所有節點),並由大多數Validation節點同意並應用陳述。每個節點應用的交易集完全相同,這意味著它們都有相同的記錄。驗證節點是具有狀態的完整副本並具有參與協議過程所需權限的節點。此配置為您提供了狀態的分布式記錄,該記錄不依賴於任何中央機構,在該機構中,每個節點都可以知道並證明他們看到的內容都是正確的並且與其他所有人相同。
為什麼這有用?
可證明的,不變的歷史記錄提供了所有參與者都可以同意的共同的「黃金」記錄(「官方」記錄,對監管機構和記錄保持良好)(各方之間沒有差異,有利於和解)。區塊鏈可以在許多方面充當分布式資料庫。相對於傳統資料庫,主要優勢是成本,因為可以在資料庫中設計可用性,密碼學和身份,但是如果要具有分布式不變性,則難度要大得多,但是真正的區別在於數據的組織方式:區塊鏈是專為分布式,可證明的不變性而構建的,其中在設計資料庫時會考慮其他目的。
那麼,交易是什麼樣的呢?
有許多不同的交易類型正在使用中,每種交易類型都旨在對狀態進行不同類型的更改,例如轉移資產,註冊地址,創建工具等,但是它們都有共同的基礎:
交易數據,例如用於轉移的「發件人」地址,「發件人」地址,資產標識符,數量等
交易哈希,交易數據的加密「指紋」(請參見下文)。
數字籤名:此操作的授權。(請參見下文)。
呵呵,什麼是哈希?
哈希是一組數據的數字「指紋」。有聰明的密碼算法,當給定任意數量的數據時,將返回固定大小的「指紋」,該「指紋」被「保證」對於所提供的數據集是唯一的。當然,加密「保證」不是絕對確定的,但是,只要哈希足夠大(就位數而言)並且算法是加密上合理的,就可以認為指紋對於集合是唯一的數據,並且必須更改哈希才能更改數據。
我們使用的哈希算法被認為是聲音,並且碰撞的機會(兩組不同的數據到達同一哈希)具有連續兩次隨機選擇宇宙中相同原子的概率大致相同。假設記錄的哈希值無法被更改而不被檢測到,則通過使用哈希值,可證明區塊鏈數據是不可變的。
好,聽起來不錯 您如何使Hash不變?
好了,我們和其他區塊鏈採用了兩種方法來解決這個問題:
分配
籤名
兩者都在不同的時間使用。
對於具有與之相關聯的身份的任何數據(例如交易),將為相關哈希提供授權方的籤名。對哈希的任何更改都會使籤名無效。對於其他情況,例如國家哈希,哈希的分布程度(或有時公開發布)使得更改每個副本而不被發現變得不可行。
現在,我了解了哈希的性質,什麼是籤名?
籤名是另一種密碼結構,可以將某些數據(消息)與另一(小)數據(秘密)「組合」以產生籤名。可以使用從私鑰派生的第三條(小)數據(公鑰)來驗證(「證明」)此籤名。可以證明的是,給定一個已知消息和一個公鑰,籤名與該消息有關,並且必須是在知道私鑰的情況下產生的。密鑰(無雙關)要求是公用密鑰對於專用密鑰是唯一的,並且不能從公用密鑰派生專用密鑰。接下來的更多信息。
但是,籤名如何賦予身份?
在我們的區塊鏈中,使用所謂的公私鑰對來聲明身份。私鑰受到嚴格保護,並且只能將其授權給相關的授權用戶。實際上,跳過密碼細節,這意味著可以使用私鑰對某些事物進行籤名,並且可以使用關聯的公鑰來驗證如此創建的籤名,以確保除了以下幾種方式之外均不能以其他方式創建籤名:使用私鑰。
在使用籤名進行授權的情況下(例如在區塊鏈交易中),密碼學保證只有相關的私鑰才能用於創建籤名,因此,授權必須來自擁有控制權的實體私鑰。公鑰不能用於創建籤名,並且可以免費用於驗證籤名,從而驗證在區塊鏈上所做的授權。
回到事務,網絡如何處理它們?
好的,一個節點在收到事務時要做的第一件事是驗證籤名,然後,如果籤名有效,則將該事務發送到它知道的所有其他節點。這樣,每個節點都可以知道每個事務。驗證節點之一將定期處理所有未完成的事務,將它們組合為一個程序包(一個Block),並「提議」阻止該網絡。當驗證節點收到提議的區塊時,它將驗證交易作為一個組,如果它是事務的有效集合,則將該區塊發送到所有連接的節點,然後發布投票以支持該提議的區塊。
驗證節點記錄了他們收到的肯定投票,而且一切順利,它們將在短時間內從所有驗證節點接收支持投票。一旦Validation節點獲得了對特定提議區塊的贊成多數票,則該節點將對該區塊進行「籤名」並將該籤名發布到網絡。
與投票一樣,驗證節點將收集籤名,直到它們再次具有權重多數以支持給定的塊,這時,它們將把該塊(及其籤名)保存為鏈中的下一個塊,並最終確定狀態為交易的集合產生了新的狀態。總而言之,這是將新交易(以區塊為單位)應用於區塊鏈的過程,被稱為``共識''過程。
為什麼要進行單獨的投票和籤名回合?
有單獨的回合,以便能夠在出現問題時應對。在極端網絡延遲,時鐘不同步或伺服器故障的情況下,有可能同時建議多個塊。然後,根據網絡拓撲,驗證節點可能會投票給不同的塊,從而沒有明顯的多數。如果發生這種情況,則五秒鐘後,它們將再次投票,但是到那時,所有塊都應已完全複製到所有節點。
在存在多個區塊的情況下,節點將根據設置的標準對它們進行排名,因此,在第二輪中,它們都應投票支持同一區塊。在投票回合中達成協議後,他們將進行籤名回合併最終確定區塊,即保存區塊並更新狀態。
區塊鏈中的「鏈」來自哪裡?
所討論的「鏈」是每個塊與狀態之間不可中斷的密碼關聯。在SETL區塊鏈中,區塊和狀態交替排列,每當同意一個新區塊時,都會創建一個新狀態,每個狀態都有一個遞增的索引,即區塊/狀態高度。從「創世紀」狀態(起始狀態,高度0)開始,每個後續塊都包含構建狀態哈希的記錄。即,塊0將包含狀態0(創世紀)的狀態哈希,塊1將包含狀態1的狀態哈希,依此類推。
狀態散列包含在塊散列的計算中,因此在對塊進行籤名後不能更改(無檢測)。同樣,每個狀態(在「創世紀」之後)都將包含用於創建它的塊的塊哈希,就像塊一樣,塊哈希也包含在狀態哈希的計算中,如果狀態哈希足夠分散,則意味著它不能未經檢測即被更改。
「塊」和「狀態」之間有什麼區別?
簡而言之,「區塊」都是由區塊鏈批准的交易的集合,也就是說,它們已經通過共識流程並且已被大多數驗證節點批准。它們不包含頭寸餘額等,只需進行更改即可。
狀態是所有區塊中所有交易的累積效應。例如,資產的當前持有量或有效合同的記錄等。
狀態類似於您在銀行的經常帳戶,它告訴您現在是什麼,而塊類似於您的每月交易對帳單,它們告訴您發生了什麼變化製作。由於所有歷史數據都可用於區塊鏈,因此參與者當然可以查看國家的任何歷史版本,以查看並證明過去任何時候的真實情況。
「採礦」在所有這一切中起什麼作用?
SETL區塊鏈的設計不需要「挖掘」過程。在比特幣網絡以及許多其他區塊鏈上,「挖礦」是向參與者付款以創建和批准新區塊的過程。獲得報酬的過程為參與者提供了付出努力的獎勵和保持誠實的動機。使用了許多不同的協議(工作量證明,權益證明等),每種都有其自身的優點。在某些網絡(例如比特幣)中,挖礦的收益足以使大量的計算(和電力)能力投入這一過程。
SETL區塊鏈使用一種我們稱為「身份證明」的方法。無論授權方如何控制,他們都可以為共識過程做出貢獻。結果,我們的區塊鏈共識只需要少數伺服器(可配置,但通常少於10臺)即可保持其完整性,因此使用的功率也相對較少。
可以將區塊鏈數據分發到任意數量的非投票節點,但由於它們之間沒有競爭,因此它們也將僅需要正常(通常需要在伺服器上運行)的計算和電力。
開放源還是封閉源?
快速了解一下開源似乎是正確的選擇。區塊鏈世界中的許多人都對開放原始碼開發的優點大加讚賞,但就區塊鏈而言,這似乎基本上是無關緊要的:有些不是開源的(雖然也許有一天,也許……),其他人,例如Ripple,Corda和超級帳本是開源的,但具有如此重要的貢獻者,以至於在某些方面它毫無意義,然後還有許多其他區塊鏈不尋求在我們的空間競爭。關於進行公眾審查存在爭議,但這也意味著可以發起攻擊的全面知識。
SETL的區塊鏈是封閉原始碼,其主要原因有四個:
SETL的基礎軟體是獨一無二的,並且由於其所具備的工程專業知識而具有價值。
開源區塊鏈傾向於通用解決方案。我們可能很快失去對技術的關注,這將影響我們的主要業務優勢。
我們認為,我們開發的獨特IP具有價值,而僅僅放棄它就不符合我們的利益。
開源項目可能會失去對技術路線圖的控制。這意味著我們無法響應客戶,市場或法規要求而快速升級或更改區塊鏈,這對我們來說也是一個真正的劣勢。此外,我們無法控制軟體的部署或更新方式,這可能會使我們蒙受聲譽損失。
是什麼讓您的區塊鏈與眾不同?
SETL區塊鏈從一開始就考慮了金融服務的需求。區塊鏈還有許多其他用途,但我們將這些機會留給了其他提供商,我們的重點完全放在金融服務上。我們關注的金融市場最重視的屬性是:
速度:非常重要的一點是,必須儘快處理任何單個交易並使其最終完成。SETL區塊鏈旨在在5秒的時間內處理所有未完成的交易。
容量:系統必須能夠應付大量交易。SETL區塊鏈旨在應付每秒數以萬計的交易,此外,SETL區塊鏈還旨在應對無限數量的帳戶和餘額。
身份:金融法規要求所有參與者和交易都是可識別的。身份一直是SETL區塊鏈生態系統的核心考慮因素。
真實資產:資產在SETL區塊鏈上進行了單獨註冊,與其他一些系統不同,資產沒有通過對單個區塊鏈資產進行``上色''來表示。
目標功能:SETL區塊鏈具有功能,交易類型和市場整合,其實現的唯一目的是使共同的金融市場運營更容易,更快和更便宜。
我們特別避免的會抑制金融市場採用的屬性是:
加密貨幣。相對於加密貨幣進行令牌化是不可取的,但更重要的是,擁有一種交易成本受制於外力且可能(很容易)過夜增加一倍的系統,對於核心市場基礎架構而言並不可行。
匿名。很簡單,在受監管的金融市場中是不可能的。
為什麼選擇SETL?
結合我們區塊鏈的技術素質,SETL擁有深厚的金融服務領域經驗,可以提供引人注目的一流產品,這是我們大多數(即使不是全部)競爭對手所無法比擬的。管理層和董事會的經驗和市場覆蓋面非常廣泛,SETL團隊的團隊素質是首屈一指的。