Odin鏈(OdinChain)重新定義瀏覽器

買賣虛擬貨幣
當前的網路廣告形式主要有文字、圖表、音訊、影片、超連結、虛擬現實等方式。網路媒體透過展示廣告、富媒體廣告、文字關聯廣告、電子郵件廣告、文字連結廣告、贊助式廣告、分類廣告、植入廣告、社交媒體、影片網站等方式傳遞廣告資訊。雖然網路廣告已經被廣泛接受,成為市場中的主要寵兒,其份額也逐年提升,市場潛力巨大,但是網路廣告仍然存在一些問題。為解決前述網際網路廣告存在的問題,我們基於區塊鏈技術、智慧合約設計了Odin廣告公鏈。在它的基礎_上可以開發去中心化的瀏覽器應用,廣告主可在瀏覽器上投放廣告,瀏覽器使用者可選擇是否瀏覽廣告,雙方透過智慧合約制定協議有機結合在一起。

如圖2.2所示,廣告主和瀏覽器使用者首先註冊成為公鏈使用者,獲得--對公鑰和私鑰,然後註冊成為瀏覽器使用者。廣告主在瀏覽器上設定好智慧合約內容(廣告發布和基於廣告瀏覽量的獎勵分發協議),用私鑰簽名後釋出到公鏈上,瀏覽器使用者從公鏈上同步資料後,可選擇是否與廣告主簽訂智慧合約。如果使用者需要簽約,則只需用自己的私鑰在合約中籤名,然後瀏覽器會把合約以函式呼叫的形式,廣播到Odin系統中。系統維護節點接收到合約之後,會解析智慧合約,把智慧合約中的內容解析出來,打包到新區塊中。新區塊建立完會被廣播到Odin系統中,等大多數挖礦節點達成共識後被新增到區塊鏈中。在智慧合約中包含的主要引數有:廣告覆蓋的地區範圍(Range)、廣告發布週期(Period)、廣告費用(Bonus)、廣告需返回的引數(Returns)、基於廣告瀏覽量的獎勵分發協議等。若智慧合約用adSmartContract表示,那麼智慧合約將攜帶引數釋出到Odin系統中,odin 系統維護節點會解析智慧合約並建立新的區塊,形式表達如下:


Odin系統維護節點<-adSmarlContract( Rangc, Pecriod, Bonus, Rcturns)不同的角色透過智慧合約,主動選擇自己的意願條件,將不同的引數透過智慧合約傳遞給Odin系統。Odin 系統維護節點在確認智慧合約的有效性後,達成共識創造新的區塊,區塊內合約的執行使得資訊的價值可以在使用者間傳遞。整個過程是公開透明且不可篡改的。


區塊鏈將記錄交易資訊、智慧合約和廣告瀏覽資料等資訊,並保證資訊的一致性和安全性。Odin系統維護節點是系統資料的維護者,他負責保證資料的一致性和安全性。


專案優勢


Odin廣告公鏈:基於區塊鏈技術的數字廣告平臺。
Odin瀏覽器:基於Odin廣告公鏈研發的去中心化瀏覽器  現行流量壟斷機構的破局者。與傳統的網路廣告平臺相比,Odin 專案具有如下優勢:
·使用者是Odin瀏覽器的使用者,將享有遮蔽和閱讀廣告的權力,主動閱讀廣告將獲取相應的Token獎勵。
·遮蔽不良廣告,讓使用者在安全防護網下進行網上衝浪。
·廣告流透過程公開、透明,廣告主將很清楚的知曉每一筆廣告費用流向何處。
·資料真實可靠,有助於廣告費用的評估。為了獲得Token收益,使用者將會把閱讀廣告的行為資料對廣告主公開,廣告主將得到使用者閱讀廣告的相關資料,進行深度分析,從而評估廣告的效果。
·人人都可以成為廣告運營商,只要其具有運營廣告的能力,就可以根據其業績獲取Token收益。
·採用去中心化、獨立公鏈系統管理模式,保證收益公平。
·Odin瀏覽器透過軟體充分保護使用者隱私、保證資訊真實可溯源。


Odin廣告公鏈系統


1.設計思想


(1)  資料可靠性和-致性。資料--致性其實是資料庫系統中的概念,可以簡單的把一致性理解為正確性或者完整性。而在分散式系統中,資料--致性往往指的是由於資料的複製,不同資料節點中的資料內容是否完整並且相同。


(2)  可遷移機制。Odin節點會隨著使用者的流動增加、轉移和退出。系統要保證增加Odin節點時,能夠擴充系統的邊界、正常的執行,並且能夠在一個記賬週期內根據Odin節點的貢獻,分配相應的權益。同理,當Odin節點從系統中移除時,不影響資訊的傳播、記賬等功能,從而保證系統可伸縮。


(3)輕客戶端。為了減輕Odin節點的工作強度,Odin節點的客戶端分為兩類: Odin資料同步節點和Odin瀏覽器節點。Odin資料同步節點負責資料的實時同步、更新,Odin瀏覽器節點呼叫距離其最近的Odin資料同步節點中的資料,從而實現快速響應。


(4)  滯後結算策略。分散式交易體系的問題在於收款人很難校驗之前的某位資產擁有者是否進行了雙重支付(雙花)。通常的解決方案是引入可信的第三方,如銀行,來對每一筆交易進行檢驗,以防止雙重支付。而如果想要排除第三方中介機構,那麼交易資訊就應當被公開,需要整個系統內的所有參與者,都有唯一公認的歷史交易序列。因此,採用滯後結算交易的方式,透過記賬節點對賬來排除雙重交易,保證交易在交易期間內是首次出現的。


(5)  權益鎖定。為消除記賬節點遷移、撤出Odin系統帶來的負面影響,維護系統的可靠執行,當記賬節點獲取到相應的權益後,會對其權益進行鎖定,在一定時間內,這些權益不能進行交易。待記賬節點的服務達到一定時間後,不再影響Odin的正常執行,此時開始解除鎖定。解除鎖定後,使用者可以自由交易權益。權益鎖定期內,記賬節點也能夠獲取相應的利息。


(6)  快速達成共識。分散式交易體系的問題在於收款人很難校驗之前的某位資產擁有者是否進行了雙重支付(雙花)。


(7)  價值共識與激勵。只要Odin節點貢獻自己的能力給其他節點,那麼它就可以獲取對等的權益;並且Odin節點在網路中存在的時間越長,獲得的權益也越多。


2.系統概述


儘管區塊鏈技術有--定的瑕疵(Eyal 2015, Eyal and Sirer 2013, Nayak et al. 2016)( AZURE2016, CACHIN 2016, ROSS and SEWELL 2015),但區塊鏈技術(Garay, Kiayias, and Leonardos2015, Nakamoto 2008)(2016)作為創造信任的機器,具有分散式結構、建立信任、公開透明和時序不可篡改等技術優勢,吸引了金融界和工業界的廣泛關注,並開始被用於重塑交易系統,在降低交易成本和提高交易效率方面效果顯著。


基於工作量證明(Proof of Work, PoW )(Nakamoto 2008)是當今去中心化加密演算法中最穩健的共識機制。PoW主要用於選取一致的領導力節點,並給參與者合適的獎勵。在區塊鏈系統中,作為共識機制的參與者,系統維護節點能夠根據其算力被競選為領導力節點。有了算力成本的約束,可以防止偽裝成多節點的大算力攻擊者,相應的代價就是要消耗大量的算力。算力消耗是基於工作量證明(Proof of Work, PoW)構建的區塊鏈系統的問題所在,大量的系統計算資源和電能被耗費,使得系統的擴充套件性受到制約。


在2011年早期,權益證明PoS(Proof of Stake)的概念被提出(Houy 2014)。直觀的說,權益證明是擁有Token量證明的一種形式,Token齡消耗是權益證明的一種形式。因此,權益證明被用在ppcoin中,並用來改進PoW工作機制耗費電能的缺點,且不容易被偽造。2014年,以太坊設計了以太坊PoS架構,被稱為友善小精靈Casper(Casper the friendly ghost)(Houy 2014), 是一種PoW協議的PoS變種。在以太坊系統中,只有在驗證人繳納保證金的情況下,他的簽名才有意義。客戶端智慧依賴於出自當前鎖定保證金的驗證人的塊。已知當前鎖定保證金的驗證人,就可以鑑別出共識認可的鏈。不知道現在交納保證金的驗證人列表的客戶端,必須先透過另外的通道獲取這個列表,這個限制透過要求所有人用當前資訊鑑別共識解決了“遠端攻擊”問題。


為了解決PoW的挖礦效率低下,消耗資源的問題,我們結合瀏覽器使用者訪問瀏覽器的行為(可以理解使用者對Odin系統的有用貢獻,useful contribution,簡稱貢獻)和區塊鏈技術,設計和構建Odin系統。在工作量證明的過程中充分考慮瀏覽器使用者的貢獻,實現了使用者貢獻+工作量證明的演算法。為了降低系統的工作量,在節點選舉過程中使用瀏覽器投票的方式(圖3.1)。

Odin生態系統包括瀏覽器使用者、廣告主、Odin鏈系統維護節點和Odin資料同步節點。


·Odin瀏覽器節點:使用者節點。使用者透過私鑰簽發智慧合約,向Odin系統釋出使用者行為資料用於證明自己對系統的貢獻,根據其貢獻獲取對等的獎勵(包括:廣告主支付的廣告費和挖礦獎勵)。智慧合約將封裝瀏覽器的使用者行為資料和隨機數,並打包成一個區塊,加密後廣播到區塊鏈系統中,等待系統維護節點的驗證。


·Odin瀏覽器節點:廣告節點。廣告主使用智慧合約在瀏覽器上釋出廣告,並把合約資訊封裝後傳送給Odin鏈系統維護節點。Odin 鏈系統維護節點對資訊進行解析,並對資訊進行驗證,驗證完成後打包到新區塊並廣播到網路中。


·Odin鏈系統維護節點:即Odin鏈礦工,是驗證瀏覽器使用者貢獻的重要節點,它使用貢獻度證明(Proof of Contribution)+工作量證明(ProofofWork)的機制,驗證Odin瀏覽器節點的貢獻,並將最終產生的新區塊廣播到P2P網路之中,  實現系統共識。  此外Odin礦工會把傳送到公鏈上的交易和智慧合約打包到新區塊中。


·Odin資料同步節點:一般為小型PC,  從公鏈同步下載最新智慧合約資料和使用者錢包資料到節點上,方便附近的終端使用者同步下載相關資料。


3.0din瀏覽器節點:使用者節點

使用者節點透過閱讀廣告,觸發與廣告主之間籤智慧合約的動作,成為某個廣告傳播的貢獻者。使用者透過Odin瀏覽器節點,把其貢獻和瀏覽器生成的隨機數透過智慧合約封裝,最後加密打包生成區塊廣播到網路中,等待系統維護節點統計並返回某個廣告的激勵和部分割槽塊獎勵。假設隨機數是RandNum,貢獻是UC, Odin 瀏覽器客戶端將對這些引數進行封裝,簽署智慧合約,並廣播到區塊鏈系統中。形式如下:


Stepl:呼叫智慧合約封裝貢獻,返回SC,SC<-SmartContract( RandNum, UC)
Step2:透過瀏覽器客戶端傳送封裝後的訊息,例如: SendtoBlockchainsevers(SC)
Step3:透過瀏覽器客戶端不斷監聽資料同步節點的資料,以更新錢包等資訊。


4. Odin瀏覽器節點:廣告節點

廣告主透過釋出廣告,觸發與使用者之間籤智慧合約的動作,成為廣告傳播的僱主。廣告主透過瀏覽器釋出廣告,把廣告發行週期、範圍以及廣告獎勵等引數透過智慧合約進行封裝,然後透過瀏覽器生成資料區塊,廣播到網路之中,並尋求系統維護節點把廣告資訊寫到區塊鏈系統中。當廣告資訊被寫入區塊之後,就會把資訊廣播到資料節點,資料節點與廣告主簽署智慧合約,同步廣告內容,等待瀏覽器使用者的訪問。假設廣告主釋出廣告需要傳遞的引數有period,place和price,智慧合約將把這些引數封裝,簽署智慧合約,並廣播到區塊鏈系統中。形式如下:


Stepl:呼叫智慧合約封裝廣告引數,返回SC,例如: SC<-SmartContract(RandNum, period,place, price);
Step2:透過瀏覽器傳送封裝後的訊息,例如: SendtoBlockchainsevers(SC)
Step3:增加區塊並驗證區塊的有效性,例如: AddBlock( ) and Validation( )
Step4:資料同步節點與廣告主簽署智慧合約,SignSmartContract( )
Step5:同步廣告資料DataSynchronization( )


5.Odin區塊鏈系統維護節點


Odin區塊鏈系統維護節點構建系統共識,保證資料一致性和安全性。為保證Odin系統維  護節點的權益,保證其能夠公平的參與記賬權的分配、公平參與區塊的產生,所有Odin瀏覽器使用者產生的有用貢獻與隨機數一起廣播到網路中。Odin 系統維護節點捕獲瀏覽器使用者的貢獻資訊後,將解析Odin瀏覽器給的隨機數,  由此來判斷是否由自己來計算貢獻度值。用RandNum(Useful contribution)表示Odin瀏覽器產生的隨機數形式如下:


Odin系統維護節點地址= hash(RandNum)


只有當隨機數的hash運算結果與Odin系統維護節點地址相同時,該節點獲取節點資料統計權。


同時,為了讓貢獻度能夠影響系統維護節點的挖礦能力,在工作量證明的同時,引入貢獻引數。假設用D(Dificult)表示當前挖礦難度,用UCs(Useful contributions)表示系統維護節點統計的貢獻總和。當且僅當當前系統維護節點的UCs高於80%的系統中的其他系統維護節點(目的是讓1/5 的算力參與挖礦,剩餘4/5算力繼續同步資料,避免算力浪費),將有資格進行工作量證明,即:


OdinProof(UCs, D,hash, 20%)


與PoW相同,當且僅當其解hash值的速度最快,將會獲取建立新塊、記賬的權力。


6. Odin區塊鏈

參考以太坊的區塊頭來設計Odin鏈的區塊頭(Wood,2014),Odin區塊頭封裝了父塊Hash、版本號、系統維護節點地址、區塊序號(高度)、Bloom過濾器、當前Token總量、Token 使用量、難度級別、附加資料、混合摘要、隨機數、交易根、狀態根以及收據根等資訊,其中交易根、貢獻(Contributions Root)根、智慧合約(Smart Contracts)根、金鑰根分別是交易樹、有效頁獻樹、智慧合約樹的根節點Hash值,而交易樹、頁獻度樹和金鑰樹是由Merkle Patricia樹構造而成的。交易列表儲存Odin鏈交易資訊,貢獻度樹儲存Odin鏈的貢獻度資料資訊,這與比特幣和以太坊的區塊結構類似(Nakamoto2008,Wood2014)。


Odin鏈系統維護節點和Odin資料同步節點對於歷史區塊鏈資訊的需求不同。Odin系統維護節點在挖礦過程(記賬過程)中需要鏈上的所有資訊,它們會同步下載整條Odin鏈,從創世紀塊到當前塊,執行或校驗其中包含的所有交易、貢獻和智慧合約。Odin 資料同步節點僅僅下載Odin鏈的頭(從創世紀塊到當前Odin塊的頭)、智慧合約、錢包狀態資料和廣告內容等資料,不執行任何的交易或檢索任何枉關聯的狀態。由於Odin資料同步節點可認訪問塊的頭,而頭中包含了3個樹的Hash,所有Odin資料同步節點依然可以很容易生成和接收關於交易、貢獻度和智慧合約三類資訊的可驗證答案。


取得記賬權的Odin系統維護節點將當前Odin塊連結到前一Odin塊,形成最新的區塊主鏈。各個Odin塊依次連結起來,形成了一條從初始Odin鏈到當前區塊的最長主鏈,從而記錄了Odin鏈資料的完整歷史,能夠提供Odin鏈資料的溯源和定位功能,任意資料(包括交易資訊)都可以透過此鏈式結構順藤摸瓜、追本溯源。如果短時問內有兩個Odin漣節點同時笄山兩個新的Odin塊加以連結的話,Odin 鏈主鏈可能會出現暫時的“分叉”現象,共解決方法是約定Odin鏈節點總定選擇累計貢獻率最大的Odin鏈。


主要技術


1.貢獻度計算過程


1.1.節點型別


在Odin鏈中,根據節點在網路中的作用,把節點分為輕節點和重節點。輕節點包括Odin瀏覽器節點和Odin資料同步節點,重節點包括Odin系統維護節點。Odin瀏覽器節點是安裝Odin瀏覽器的客戶端,使用者可以透過Odin瀏覽器貢獻廣告閱讀行為資料。Odin資料同步節點負責同步最新智慧合約、錢包資料和廣告資料。Odin系統維護節點則負責計算Odin瀏覽器節點的貢獻度、記錄節點之間的交易行為,它是具有一定計算能力的伺服器。


1.2.記賬週期


貢獻度記賬週期是指Odin鏈統計貢獻度的週期。自Odin鏈開始執行,每隔一個貢獻度記賬週期,將會選舉一個或多個Odin系統維護節點來統計Odin瀏覽器節點的貢獻度,並分配Odin權益給Odin瀏覽器節點。貢獻度記賬週期不宜設定過短,週期太短會使得系統中的節點頻繁的統計貢獻度,消耗大量的計算資源。貢獻度記賬週期也不宜設定過長,過長的記賬週期會降低貢獻者的積極性,  不利於Odin鏈的建設。


交易記賬週期是指對Odin鏈中交易記賬的週期。自Odin 鏈開始執行,每隔一個交易記賬週期,將會選舉一個或多個Odin鏈節點來統計Odin節點之間的交易資料,保證不會出現雙重支付。相對貢獻度記賬週期,交易記賬週期更短。過長的交易記賬週期會使得系統中的交易不能夠快速確認,不利Odin Tokcn的流通。


1.3.  貢獻度計算


(1) Odin瀏覽器節點貢獻度計算過程


Odin瀏覽器節點貢獻閱讀行為流量,然後把流量廣播到網路中。Odin系統維護節點捕獲Odin瀏覽器節點廣播的流量資料,然後根據流量計算各Odin瀏覽器節點的貢獻度,並按貢獻度比例分配廣告費用和區塊獎勵給瀏覽器節點。在此過程中Odin系統維護節點會打包貢獻度資訊到新區塊中,並記錄到區塊鏈中。

例如(圖4.1) 中:使用者在瀏覽器中點選廣告是一種使用者行為,odin瀏覽器會記錄該行為資料並打包、廣播到P2P網路中,等待重節點挖礦。重節點捕獲到該資訊後,根據使用者的行為判斷其對廣告的貢獻支付廣告費,同時進行系統激勵。

(2) Odin瀏覽器節點貢獻度計算

假設1: Odin瀏覽器節點閱讀廣告的行為是人為、主動和真實的廣告閱讀行為,而非機器、被動和欺騙的廣告閱讀行為。

假設2: Odin 瀏覽器節點閱讀廣告達到一定數量後,其閱讀廣告所獲取的資訊邊際遞減,其閱讀廣告的效果效用邊際遞減。

在假設1和假設2成立的情況下,我們可以根據Odin瀏覽器節點在一個記賬週期內的廣告閱讀行為(actions)來計算該Odin瀏覽器節點的貢獻度,並定義關於貢獻行為的效用函式,用來計算Odin瀏覽器節點在T時刻的貢獻度:

  Contribution(T) = U(actions)

貢獻度是關於閱讀廣告行為或流量的函式。

可選取凸函式、凹函式或者線性函式作為效用函式。若廣告閱讀行為較為平均,可以選取線性效用函式。若系統中存在刷廣告閱讀行為次數行為的Odin瀏覽器節點,為了防止這些節點刷廣告閱讀行為量的行為,可以採用凹函式作為效用函式,即隨著廣告閱讀行為次數的增加,這些節點因廣告閱讀行為次數增加帶來的貢獻度增量降低至0。

1,4. Odin記賬節點選舉


Odin鏈中的記賬節點必須要有足夠的計算能力、儲存空間和頻寬才有資格被選舉為記賬節點。假設記賬週期產生的資料總量(Data Volumn) 共計X千位元組,若0din鏈節點的計算能力≤X千位元組,那麼該Odin鏈節點將不具有資格參選記賬節點。與PoS的思想相似,重節點代表一系列瀏覽器節點的權益,其代表的瀏覽器節點越多,被選擇作為記賬節點的可能性越高。假設T時刻0din鏈節重節點i記錄的複利貢獻量總量為iTWContribution(T),那麼它是否有資格記賬由下面的公式來確定:

π是貢獻度的閾值,用來確定記賬資格,選出少數的具有記賬能力的記賬節點。可以選取20%的重節點來記賬,並透過PoW挖礦機制來從20%的重節點中選出記賬節點。


1.5.權益分配


被選舉來記賬的Odin系統維護節點將同步所有其他Odin系統維護節點的貢獻量資料,並統計T時刻Odin鏈所有Odin瀏覽器節點的總複利貢獻量WContribution(T),它等於所有Odin鏈節點的貢獻量之和,即:

1.6 交易過程

交易是指Odin鏈節點之間的資產轉移行為。定義UTXO (Unspent Transaction Outputs)是Odin鏈節點未花費的交易輸出。交易構成了--組鏈式結構,所有合法的Odin鏈節點交易都可以追溯到前向一一個或多個交易的輸出,這些鏈條的源頭都是挖礦獎勵,末尾則是當前未花費的交易輸出。


當節點發起交易,會把交易資料打包並廣播到網路中。Odin系統維護節點捕獲其他節點的交易資料後,將核算、稽核節點交易資訊,並建立區塊。區塊建立完成後,交易將被確認,並完成。為了防止Odin系統維護節點的交易存在欺詐等行為,Odin系統維護節點只能透過計算貢獻量和交易手續費獲取收益,它不能參與任何交易。


Odin鏈經濟模型


1. Odin Token價值基礎


Odin Token是Odin鏈.上的原生資產,Odin Token的價值起源是其能夠方便的表徵和度量Odin鏈.上的數字化經濟活動。Odin Token既代表Odin鏈的所有權又代表使用權:使用Odin鏈投放廣告需用OdinToken支付一定的費用,體現OdinToken的使用權特性;持有OdinToken,代表擁有Odin Token的一部分,相當於Odin鏈的股東,能夠參與到Odin鏈治理的最高決策,體現OdinToken的所有權特性。


2.激勵機制


Odin網路包含其內建的Odin Token,在網路內包含一種Odin Token的原因是多重的。首先,區塊中新發行的部分Odin Token被獎勵給系統維護節點以促進網路安全;其次,區塊中新發行的部分Odin Tokcn和廣告主支付的廣告費被按貢獻度比例獎勵給使用者,以激勵使用者使用Odin瀏覽器瀏覽廣告,促進網路生長;最後,用它來支付是一種反欺詐機制。類似Hashcash 的以交易為單位的工作量證明和放任自由是收取交易費的兩個替代方案,前者浪費資源並且對於低檔計算機和智慧手機是不公平的,後者將會導致網路立刻被無限迴圈的“邏輯炸彈”合約淹沒。


此外還要設定懲罰規則規範使用者的廣告瀏覽行為,避免惡意瀏覽行為產生。


關於更多Odin鏈資訊:

更多區塊鏈專案:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;