Livepeer Whitepaper

分散式視頻流媒體傳輸協議及經濟激勵

Doug Petkanics [email protected]

Eric Tang [email protected]

翻譯

Elnino Wang [email protected]

摘要

Livepeer項目旨在提供一種完全去中心化、高度可擴展、加密Token激勵的實時視頻流網路協議,併產生一種解決方案,該解決方案可以作為去中心化式開發(Web3)堆棧中的實況媒體層。此外,LIVEPER旨在為任何現有的直播提供一種經濟高效的集中直播解決方案。在本文中,我們描述了LIVEPELL協議——基於博弈的理論上安全的方法,用於激勵現場視頻直播網路中的參與者。我們提出的解決方案,去中心化工作的可擴展性驗證,以及防止無用的工作,試圖在通貨膨脹系統中的Token分配遊戲。

目錄

  • Livepeer Whitepaper
    • 摘要
    • 目錄
    • 介紹和背景
      • 直播視頻棧
    • Livepeer協議
      • 視頻片段
      • Livepeer Token
      • 協議角色
      • 共識
      • 綁定+授權
      • 事務
      • 直播+轉碼作業
        • 預處理
        • 作業
        • 結束工作
      • 工作的驗證
        • 關於TruteBIT的備註
      • Token的生成
      • 削弱
      • Token的分配
      • 治理
    • 攻擊
      • 共識攻擊
      • DDoS
      • 無用的或者自消耗的轉碼器
      • 轉碼器Griefing
      • 鏈重組
    • 直播視頻分發
    • 使用案例
      • 對內容消費即付即用
      • 自動縮放社交視頻服務
      • 不能現場直播的新聞業
      • 啟動視頻的DApps
    • 總結
    • 附錄
      • 協議參數參考
      • 協議事務類型
    • 參考

注意:本文檔將繼續沿著1.0部署Livepeer的路徑進行更新。檢查更改。

介紹和背景

在過去的幾年中,去中心化網路的願景已經開始實現,隨著Ethereum等網路的出現,使得計算是可信任的,SwarmIPFS/Filecoin,以實現去中心化的存儲和內容分發,比特幣和各種代幣項目以促進p2p價值轉移,以及去中心化的名稱註冊管理機構如BlockstackENS 為內容和身份提供人性化的名稱。這些元素構成了分散式應用程序(DApps)的基礎,以大部分靜態或不常更新的Web或移動內容的形式構建,但目前DApps仍然缺乏以開放和去中心化的方式包含流媒體和數據的能力。Livepeer項目的目標是通過互聯網去中心化直播視頻。

Livepeer項目概述(github.com/livepeer/wik) 提供了一個很好的介紹當前視頻在互聯網上的狀態。該白皮書將主要集中於Live對等的加密經濟協議細節,而不是業務案例,但總而言之,該概述描述了以快速、集中和昂貴的方式增長的直播流的當前狀態。另一方面,完全去中心化的P2P解決方案,其中節點貢獻自己的計算和帶寬的流式直播視頻服務將更加開放和可擴展性,因為將沒有限制的數量,可以提供的連接。

當然,這種技術在一定程度上是可用的,但到目前為止,還沒有激勵用戶運行提供此功能的節點,也沒有合適的資金來開發開放協議,這可以有利於整個互聯網的發展。而不是一個集中的公司。然而,隨著最近出現的密碼Token供電協議[2, 3],現在有機會同時激勵用戶向實時視頻直播貢獻計算和帶寬,這與資助開放媒體服務的發展相一致。ER解決方案能夠根據所有最新的標準和格式,以達到全範圍的設備提供實時流視頻。此外,傳統上認為是Token供電協議的經濟行為表明,為了使用Livepeer網路,直播發布者的成本可能比任何集中式解決方案的成本便宜。

隨著LIVER對等技術和協議的交付,它將使用戶能夠參與以下流程:

  1. 在相機、電話、屏幕或網路攝像頭上捕獲視頻並將其發送到Livepeer網路。
  2. 在網路中運行的節點將把它編碼成所有必需的格式,以達到每一個支持的設備。運行這些節點的用戶將通過ETH廣播支付的費用來激勵,並有機會通過協議Token來建立聲譽,以賺取將來執行更多工作的權利。
  3. 網路上的任何用戶都可以請求查看流,並且它將在近實時地自動分發給它們。

直播視頻棧

直播視頻的技術棧已經發展了多年,包含了很多層。直播發布者需要在視頻源處捕獲視頻,與媒體伺服器介面,以處理和將視頻轉換成多種不同的格式,通過網路分發視頻,然後允許終端消費者以高感知質量播放視頻。當人們思考這個堆棧時,也會出現一些經濟問題,比如應該是直播發布者還是消費者,他們應該支付帶寬來傳輸視頻。

一個典型的實時流媒體平台需要支持H.264和VP8編解碼器中的RTMP、HLS、MPEG DASH視頻格式。新的編解碼器如H.265/HEVC、VP9和AV1將在不久的將來變得更加流行,因為消費者變得更習慣於更高的視頻質量。對於單獨的HLS,蘋果建議 比特率從145kb/s一直到7800 kb/s,以便服務於不同條件下不同類型的設備。所有這些都為直播視頻增加了大量的複雜性和成本。

現有的去中心化開發堆棧(Web3)包含了對直播視頻平台所需的一些層的解決方案,如文件傳輸和支付,但目前還沒有解決方案,用於捕獲和介面、轉碼和處理,以及現場視頻的服務層。為此,Livepeer 介紹了 Livepeer Media Server (LPMS)—— 一個媒體伺服器的開源實現,它提供了DAPP開發者和現有直播發布者所需的所有直播視頻特定功能,以將實時功能構建到他們的應用程序中。在這裡閱讀更多

作為一個獨立的應用程序,任何開發人員都可以在LPMS之上構建一個實時應用程序,但是它仍然是集中式的,並且需要通過傳統方式進行縮放。然而,當Livepeer的每個節點運行LPMS時,協議的經濟激勵確保這些節點將貢獻其處理能力和帶寬,在轉碼和分發實時視頻的服務中,自縮放,現收現付網路。對於開發人員來說,他們可以簡單地將他們的直播流發送到網路中,並將縮放,付款和媒體託管的實施細節提取出去即可

Livepeer 協議

Livepeer協議定義了流媒體生態系統中的各種參與者如何以安全和經濟合理的方式參與。協議需要解決的兩個主要領域是直播視頻從源到大量消費者的實際分發,以一種性能和可擴展的方式,以及鼓勵以安全和博弈的方式參與網路的經濟激勵。雖然該白皮書將觸及與經濟協議重疊的實時視頻分發本身,它將主要集中在後者,以證明安全性和經濟一致。在最高級別,協議被設計為:

  • 允許任何節點向網路發送直播視頻,並可選地付費將其轉換成各種格式和比特率。
  • 允許任何節點請求來自網路的視頻。
  • 允許參與者在轉碼和視頻分發服務中貢獻他們的處理能力和帶寬,並相應地得到補償。

在一個區中心的網路中,參與者與他們所貢獻的工作量成比例,需要確保安全的兩大挑戰是:

  • 可以驗證節點所做的工作是否正確?
  • 節點被授予對網路貢獻價值的實際工作,而不是為了試圖不公平地獲得Token分配而偽造的工作?

Livepeer協議被設計用於解決工作的驗證和預防偽造工作,同時也為網路的自動可擴展性提供解決方案,並且隨著時間的推移實現協議演進的治理。

視頻片段

Livepeer中的媒體的核心單元是我們將稱為段的部分。段是時間長度t的多路復用音頻和視頻的時間切片塊。Livepeer網路中的每個段都是唯一的,並且包含加密證據,以驗證直播發布者為這個特定的段打算這個特定的數據。每個流由許多連續的段組成,每個段包含一個序列號來標識它們的正確排序。一個段包含以下欄位:

Livepeer協議通常使用段作為轉碼、分發和支付的工作單元。

Livepeer Token

Livepeer Token(LPT)是Livepeer網路的協議Token。但它不是交換Token的媒介。直播發布者使用以太幣(ETH)在網路上播放視頻。貢獻處理和帶寬的節點從直播發布者的收費形式獲得ETH。LPT是一個標記Token,參與者想要在網路上執行工作,以協調工作如何分布在網路上,並提供工作將得到誠實和正確地完成的安全性。LPT有以下目的:

  • 它作為一個結合機制,在一個委派證明的股份系統,其中的股權委託給轉碼者(或驗證者)參與協議轉碼視頻和驗證工作。Token和由於協議違反而發生的潛在削減是必要的,以確保網路免受多個攻擊。下面更多。
  • 它通過與賭注和委託Token的數量成比例地通過網路進行工作,本質上是一種協調機制。
  • 它是一個特定的賬戶單位,它形成了一個部門貨幣概念的基礎,適用於未來將要引入的附加功能[4]。諸如DVR、封閉字幕、廣告插入/貨幣化和分析等服務都可以插入到Livepeer生態系統中,並且潛在地利用STP LPT提供的安全性。

Livepeer Token的初始分配將被分配,以便利益相關者可以在網路中使用各種角色,然後根據演算法編程的發布隨著時間的推移發出附加Token。參見ef="github.com/elninowang/b">Token 分布 部分。

遵循以太坊和許多流行的ERC20Token [16] 的約定,LPT可以被10 ^ 18整除,更大的面值,比如LPT本身打算用於用戶級別的交易,例如staking,以及用於協議計費的較小面值。

協議角色

在繼續之前,讓我們定義網路中的角色,以便討論協議有一個共同的辭彙表。Livepeer節點是運行Livepeer軟體的任何計算機。

除了運行Liverpeer對等節點的用戶所扮演的上述角色之外,協議還將參考以下系統。雖然我們使用某些特定的系統來引用可能的實現,但如果提供類似的功能和密碼經濟保證,也可以交換替代系統:

下面是角色的可視化概述,以及它們在下面描述的工作驗證過程中相互通信的方式。

*從直播發布者到轉碼器的部分,最終流向消費者。轉碼器確保他們有簽名和證明工作參與工作驗證程序。

關於轉碼器的注釋: 轉碼器在Livepeer生態系統中扮演最關鍵的角色。他們是正在接受輸入流並將其轉換為多種不同格式並及時進行低延遲分發的人員。因此,它們受益於高可用性、高效、強大的硬體(潛在地具有GPU加速的轉碼)、高帶寬連接和堅實的DevOps實踐。轉碼器應該比其他網路參與者少得多,因為當他們從事對流進行轉碼的工作時,如果它們掉在網路上就不太理想了。雖然網路可以擴展以支持許多參與者扮演代碼轉碼器的角色(並且賺取必要的Token分配),但這是大多數網路參與者委派的特殊角色,以確保為直播提供價值的可靠網路得到維護。更多關於這個代表團。

共識

Livepeer有兩層共識系統。LPT分類帳和交易由底層區塊鏈(如以太坊)擔保。LPTToken或系統中的任何交易的任何轉移都可以被認為是與基礎的工作證明或股權鏈的證明相同的安全性。然而,第二層決定新生成的LPT的分布。這是由Livepeer智能合約管理的,並且由不同的參與者參與協議。雖然沒有一致要求,但在接受和驗證以前的區塊方面,該協議定義的參與規則和條件下,演員將因未能履行自己的角色受到懲罰(削減)。

第二層次的共識管理新生成的Token是基於委託的股份證明(DPOS),靈感來自於系統,如Bitshares,Steem,Tendermint,和Casper [5, 9, 10, 11]。驗證器在網路中的角色由轉碼器來扮演。任何用戶都可以將他們的股份委託給代碼轉碼器,後者需要在網路中執行代碼轉換作業,參與工作驗證協議,並在特定的時間間隔調用鏈上的函數來驗證這項工作。該協議將分發費用和新生成的token,並將削減行為不良的角色的股份。驗證結果將在TwiteBIT完成驗證之後通過Truebit記錄在鏈上,因此直播發布者和轉碼器之間不會有爭執的餘地。

綁定+授權

在Livepeer,為了表示網路中的股份,節點必須結合一定數量的LPT。他們通過Bond()交易來完成交易,這將把他們在智能合約中的股份綁在一起,直到他們 Unbond(),在這一點上,他們將進入一個非綁定狀態,該狀態將持續到UnbondingPeriod。在完成 UnbondingPeriod 之後,他們可以撤回其LPT。

鍵合量用於將賭注委託給轉碼器。該網路在任何時候支持N個活動的轉碼器,這是一個可移動的網路參數。任何節點都可以表示它希望成為具有 Transcoder() 事務的轉碼器,並且該協議將在每個回合開始時選擇具有最多累積的份額(其自身+來自其他節點的委託)的 N個 轉碼器,以及來自等待列表的一個隨機轉碼器。

在Livepeer中,新生成的token與綁定的節點的數量成比例(減去費用),只要它們被委託給根據協議運行的轉碼節點。如果他們委託的節點不遵守和違反一個削減條件,則可以削減債券(減少一定百分比)。向轉碼器綁定和委託的節點也會接收轉碼器通過網路上的轉碼作業生成的部分費用。本質上,執行工作的節點賺取直播發布者為該工作支付的費用。

展望未來,當該文檔使用術語「委託人」時,它指的是綁定節點將他們的股份委託給轉碼器候選,而不是將其作為轉碼器委託給他們自己。

綜上所述,參與者選擇結合他們的股份,理由如下:

  • 參與向有效的轉碼器的委派,為網路提供巨大的服務,確保其對直播電台的價值。
  • 以分配比例與持股比例建立聲譽和未來的工作分配。
  • 賺取來自轉碼器產生的費用。
  • 他們可能希望成為轉碼器。

Transcoder()事務

一個節點通過提交一個Transcoder() 事務表明他們願意成為一個轉碼器,它將公布以下三個屬性:

  • PricePerSegment:他們願意接受的最低價格來轉碼一段視頻
  • BlockRewardCut:保稅節點為轉碼服務支付的塊獎勵的百分比。(例2%,如果一個綁定節點在塊獎勵中接收到100個LPT,則向轉碼器接收2個LPT)。
  • FeeShare:轉碼器願意與委託給它的保稅節點共享直播作業的費用百分比。(例如25%。如果一個代碼轉碼器收到100個ETH的費用,他們將向保稅節點支付25個ETH)。

轉碼器可以更新它們的可用性和信息直到下一輪代碼轉換之前的RoundLockAmount時間。這是作為一輪的百分比提供的。(示例10% == 2.4 小時)。他們可以改變這個信息,直到下一個代碼轉換回合持續1天之前的2.4小時。這使得保稅節點有機會審查相對於其他轉碼器的費用分割和token獎勵分割,以及基於他們計費和網路需求的費率的預期費用,並且如果他們願意,可以移動他們的代理權益。在代碼轉換回合開始時(由對InitializeRound()的事務調用觸發),該回合的活動轉碼器基於委託給每個轉碼器的總賭注確定,並且在該回合持續期間鎖定和速率被鎖定。

在RoundLockPeriod 期間允許有一個變化:對於任何候選的轉碼器,最低的提供價格/段被鎖定並且不能被移動,但是其他轉碼器候選可以向下調整它們的價格/段。這使他們能夠匹配網路上最低的報價,如果他們希望,以保證他們的股權加權份額的工作在網路上。在這段時間內,他們不允許將報價上調。

這裡是一個轉碼器選項的示例狀態,在決定委託給誰時,委託人可以查看該選項。

注意價格:在這份文件中,我們列出價格/段。在現實中,Livepeer計劃使用一個gas會計啟發模型,其中有一個概念的單位的gas所需的某些工作參數的一個環節,如比特率,編碼,幀大小等。價格/段是一個立場,激勵是相同的,但實際上他們很可能是溝通中的價格/gas。

直播+轉碼作業

在網路上開放業務的轉碼器通過提交一個TranscodeAvailability()事務將他們的帽子投入到代碼轉換工作中。這表明它們的可用性,並將它們放入一個可用新提交的工作的轉碼器池中。

當直播發布者將其流提交到Livepeer網路時,它被賦予StreamID。這既充當唯一標識符,又包含源節點地址,以便節點知道如何請求和路由請求,以將該流消耗到原點。該流包含許多連續的Segments,如Video Segments 中所描述的。如果直播發布者希望網路將其流轉換成所有的格式和比特率,以達到每個設備上的每個用戶,那麼第一步就是提交一個鏈上的轉碼作業事務。作業也被賦予唯一的ID,並且作業的輸入數據包括:

TranscodingOptions 定義了輸出比特率、格式、編碼等,並且PricePerSegment列出了直播發布者將提供的價格。

一旦該事務被挖掘,下一個塊哈希將被用於偽隨機地確定為該作業選擇的轉碼器。所有價格低於或等於所提供價格的轉碼器將被考慮,而塊哈希模數的候選轉碼器(由它們的賭注加權)將決定所選代碼轉碼器的索引。

在這一點上,直播發布者可以開始向轉碼器流視頻片段,並且他們將參與以下協議。該協議還使用持久性存儲解決方案,例如Swarm,作為工作驗證過程的一部分。

預處理

1.直播發布者 -> Livepeer智能合約:在鏈上提交存款以支付全部轉碼作業的費用。這可以在以後的任何時候重新填寫,但是如果存款在完成工作時逐漸用完,轉碼器可能會停止工作。

作業

2.播發布者 -> Livepeer智能合約:工作(streamID, 選項, 價格/細分市場)

在鏈上創建作業請求,並在託管中放置一些ETH來支付工作費用。

3.該協議可以使用下一個塊哈希來確定性地為該作業選擇正確的轉碼器。

4.轉碼器> 播音員:發送輸出流和收據,接受工作。

5.直播發布者> 轉碼器:發送流段,其中包含驗證輸入數據的簽名。

6.轉碼器 執行轉碼,並使新的輸出流可在網路上使用。

7.轉碼器:為轉換工作的每一段存儲一個轉碼收據。轉碼收據具有以下欄位。

每當轉碼器觀察到它們不再接收片段時,它們可以調用 ClaimWork() 來聲明它們的工作。

結束工作

8.轉碼器 -> Livepeer智能合約:調用ClaimWork(JobID, StartSegmentSeq#, EndSegmentSeq#, MerkleRoot)。轉碼器聲稱在鏈上他們已經在聲明的代碼段範圍內執行了任務,所有代碼轉換接收數據的merkle根都提交給這些編碼代碼段的內容。

9.等待這筆交易被挖礦,並觀察下一個塊衝突。協議然後可以根據VerificationRate確定哪些段將被驗證。

10.轉碼器 -> Swarm:使用SWEAR參數為將要通過驗證挑戰的片段寫入輸入數據有效載荷,以確保數據在那裡足夠長以進行驗證(VerificationPeriod時間)。

11.轉碼器 -> Livepeer智能合約:為需要驗證的每個細分市場提供鏈式轉碼聲明,以及轉碼聲明中每個細分市場收據的merkle證明。智能合同可以驗證來自直播發布者和轉碼者的簽名以確保所有必要的數據可用於進行驗證,並且可以驗證來自ClaimWork()的承諾的merkle根的merkle證據。

12.轉碼器 -> Truebit:Verify()。這是對Truebit智能合約的鏈接調用,轉碼者為挑戰的段提供Swarm輸入哈希。(關於下一節中的驗證的更多信息)

13.Truebit -> Livepeer智能合約:工作結果以連鎖書寫。這與轉碼者提供的轉碼聲明結果進行比較。

14.Livepeer智能合約:此時,Livepeer智能合約擁有確定轉碼器工作是否得到驗證所需的全部信息。

  • 如果驗證正確,則用作Token分配演算法和釋放託管費用的輸入。
  • 如果不正確,那麼轉碼器及其代碼會削減FailedVerificationSlashAmount,直播發布者將退還。

直播發布者可以在任何點停止發送段,這實際上是一個EndJob()。

在這一點上,已經執行了轉碼,已經在鏈上聲明了工作的證明,並且已經報告了對該工作的驗證的失敗或成功。所有的信息都在鏈上,以確定費用分配和token分配給轉碼器和委託人,或者在失敗驗證的情況下削減。讓我們來看看工作是如何被驗證的。

工作的驗證

為了向那些聲稱已經執行轉碼作業的轉碼器分配費用,協議有必要確定該作業實際上是以高概率正確執行的。為此,Livepeer擴展了 ="truebit.io/">Truebit 協議 [6]的研究,並使用。

Truebit通過讓一名參與者(求解器)執行實際的工作來進行收費,在本例中為轉碼,然後讓其他的參與者(驗證者)驗證工作以檢測錯誤、出錯或作弊。任務被分解成非常小的步驟,驗證者檢查求解器的工作,找到與預期的不同的第一步。然後,只有一個非常小的步驟需要在一個智能合約(裁定)的鏈條上進行,能知道哪一方正確地完成了工作。經濟激勵措施,包括強迫錯誤激勵驗證者的檢查,確保不正確地欺騙或挑戰是沒有利潤的,但發揮檢查工作的作用是有利可圖的。

該協議的缺點是,為了驗證所有的工作,它的成本是原始工作成本的5-50倍。Livepeer使用Truebit作為一個黑匣子來驗證片段,但是它只需要通過驗證一小部分的片段來支付非常高的驗證稅,並且在失敗驗證的情況下使用slashing。在Livepeer中設置的VerificationRate決定了在Truebit中挑選特定片段進行挑戰的頻率,以及將工作提交到區塊鏈之後的未來區塊哈希的隨機性,確定具體選擇哪些片段。

如果通過塊N中的 ClaimWork()調用提交工作,那麼

如果 Sha3(N, BlockHash(N), Seg#) % VerificationRate == 0 那麼段#必須驗證。

轉碼器通過調用Verify() 事務為候選段提供鏈上的轉碼請求。Livepeer智能合約可以使用內部簽名驗證這些聲明的真實性,並提供梅克爾證據,然後調用Truebit來驗證這些片段。

Truebit求解者和驗證者從持久的內容定址存儲系統(如Swarm)訪問片段的輸入數據。轉碼器負責驗證Swarm中的段數據是否可用,並且可以選擇查找SWEAR協議[5]中的收據,以確保持續一段時間,這足以讓Truebit發揮出來。此外,他們可以自行運行Swarm節點,確保數據可用於Truebit驗證。如果他們有理由相信數據在Swarm中不可用,他們可以提供它,或者只需調用先前可用數據上的 ClaimWork() 。

Truebit會將計算結果(成功或失敗)寫回到Livepeer智能合約中,然後將其用於協議中的獎勵和削減計算。轉碼節點不能預測哪些段將被驗證,並且在作弊或未能正確轉碼時會感受到以下處罰:

  • 如果失敗了來自Truebit的驗證,則FailedVerificationSlashAmount將被削減。
  • 如果他們未能提供轉碼聲明並且在他們被要求的部分上調用Truebit,則MissedVerificationSlashAmount將被削減。
  • 從直播發布者收取損失費用。
  • 轉碼者不僅會被削減,而且他們的所有委託人也會被削減。他們會將這個帳戶納入他們決定由誰來委派的方式,而轉碼者可能會失去他們持有的有利可圖的工作。

重要的是,只需將LPT放在一個有效的,誠實執行的代碼轉換器上就可以獲得更多的利潤,而不是欺騙並採取大幅度的懲罰措施,同時為不誠實的工作收取費用和令牌分配。仔細選擇削減參數和驗證率可以確保這一點。

關於TruteBIT的備註

雖然協議使用Truebit,以提供完全可信的驗證工作,但在實踐中可能需要使用可用的解決方案,以驗證Truebit在TetrueBIT尚處於開發和測試階段時可提供的不可信度。一些選項,按不可信程度排序,包括:

1. 基於Livepeer API的Oracle - Trust Livepeer驗證計算。非常集中,對於測試之外的任何東西都不理想。

2. Oraclize Computation Service - 信任提供計算證明的公司,其整個聲譽依賴於外部數據鏈上的證據,它沒有被篡改。

3. 安全硬體包- 英特爾SGX或TownCrier等服務提供可信計算環境。相信他們的硬體實現是正確的和安全的。這可以去中心化和審核。

Token的生成

Livepeer是通貨膨脹的,因為根據以下在Token 分發中傳達的時間表,將會生成並分配一些新的Token。如果Livepeer中的所有角色按照協議運行,那麼新生成的Token將按其綁定的股份(減費用)分配給用戶。轉碼器具有調用 Reward()函數的作用,以便觸發新的Token分配或削減,這可以從鏈上可用的所有數據計算出來。

每個轉碼器都需要每輪調用一次Reward() 。

  • 確保一個有效的轉碼器正在調用Reward()。
  • 確保轉碼器在本輪中尚未調用Reward()。
  • 根據InflationRate 計算Token到鑄幣的數量,鑄許多Token。
  • 根據他們的BlockRewardCut計算轉碼器的剪切。
  • 將此分配到轉碼器的保稅樁中。
  • 將剩餘部分分發給委託人獎勵池。
  • 將Token的保稅金額更新到該轉碼器。

未能調用Reward()會導致丟失一部分Token分配的直接後果,並且當由委託人為角色選擇時,顯示為轉碼器的信譽。

削弱

如前所述,削減的條件是:

  • 未通過驗證
  • 當需要時不調用驗證
  • 不基於委託股份在平台內執行所需工作的比例份額

在以太坊生態系統中構建的一個好處是網路效應對你能夠從其他協議(如TruteBIT和Swarm/SWEAR)上得到的好處。不幸的是,依賴於這些外部系統,它們自身具有外部依賴性和激勵機制,這些協議中的一個缺陷或弱點可能導致Livepeer中的削減。

例如,如果Truebit驗證作業在他們的隊列中長時間地等待,而沒有任何求解者或驗證者聲明它,那麼在調用Reward()之前,Livepeer將無法及時看到該驗證的結果。或者如果Swarm網路遭受分區,並且不能及時將文件傳播到TreeBIT驗證器,那麼這也可能會造成問題。

這些風險可以通過激勵這些角色由Livepeer協議的參與者在內部發揮作用來緩解,這些參與者可能發現它們最有利於作為Truebit驗證者或Swarm節點。但另一種方法是在削減參數中引入概率閾值的概念。可選協議變數,例如VerificationFailureThreshold可以設置為表示只要節點通過了99%的驗證,它們就不會被削減。這仍然是網路部署之前需要研究的另一個研究領域。

任何Livepeer協議參與者都可以檢查並調用無法調用驗證削減條件。有一個FinderFee,它指定了取景器將作為成功調用這種削減條件的獎勵而獲得的斜線量的百分比。

剩下的大筆資金將進入CommonPool,根據該協議的治理機制,該CommonPool可以被燒毀或分配給常見的用途,例如進一步的生態系統開發。

Token的分配

作為代表通過DPoS演算法參與和執行網路工作能力的標記,最初的Livepeer標記分布將遵循需要廣泛分布的起源狀態的其他DPoS系統的模式。

Token的初始分配將在網路的起源和早期階段分發給社區。接收者可以使用它來加入轉碼器或委託者的角色。一部分將被分配給在事業發生前為協議貢獻前沿工作和金額的團體,另一部分將被賦予核心項目的長期發展。

在網路啟動時,Token發放將根據通貨膨脹時間表繼續進行,相對於未完成的Token浮動,在每輪的InflationRate生成Token。由於Token與協議中所有保稅參與者的利益成比例發行,因此它可以激勵積极參与。參與者受到通貨膨脹的「保護」,因為他們獲得了相應的份額。只有坐在代幣上而沒有參與其中的非活動參與者,他們會看到他們的比例網路所有權被這種通貨膨脹所沖淡。

InflationRate的初始目標將被設置,目的是激勵約LPT的ParticipationRate 被綁定和積极參与[19)。例如,如果ParticipationRate為50%,那麼獎勵將存在一半的優秀代幣保稅。通貨膨脹率將通過演算法循環來提升參與目標。更高的通貨膨脹率會更有利於保稅,而更低的利率會導致更多的人選擇流動性而不是參與。正是這種流動性偏好與網路所有權百分比之間的折衷,由於網路中的許多經濟因素,應該找到均衡。

治理

在Livepeer協議中治理的作用有三個目的:

  1. 確定由不當行為節點削減的共同基金的燃燒或挪用。
  2. 調整網路參數,以確保健康、繁榮的網路,這對直播發布者是有價值的。
  3. 以去中心化的方式調用提議的協議更新。

本文檔中引用的許多網路參數(如UnbondingPeriod, RoundLength, ParticipationRate, 和 VerificationRate)均可調整。可以提交對這些參數進行調整的建議,並且治理過程(包括轉碼器根據其委派的股份投票)將決定在協議中自動採用這些更改。治理的詳細規範留給其他文檔。 在這裡看到更多

攻擊

本節包含了惡意參與者可能試圖攻擊Livepeer網路的各種方式的調查。我們使用一個理性攻擊者模型,其中攻擊者根據自己的經濟利益作出決定。許多攻擊通過無利可圖地進行這種攻擊而得到緩解,但我們也努力確保在最壞的情況下,網路遭受持續的無利可圖攻擊的效率降低,並且不會遭受失敗。

共識攻擊

如前所述,Livepeer生態系統中的一致性是由底層區塊鏈平台(例如以太坊)提供的。51%的攻擊,LivepeerToken和網路分叉的兩個花費將需要相同的資源和攻擊成本,如以太坊本身。

Livepeer是一個基於協議的協議,雖然轉碼器具有參與工作驗證過程和Token獎勵分配過程的作用,但實際上它們不具有驗證或接受其他轉碼器工作的角色。沒有一個鏈的概念,也沒有驗證以前的塊。只是存在經濟激勵來驗證自己的工作,並在輪到時分配自己的Token分配部分。因此,在遠程攻擊證明,風險無關和賄賂攻擊等利益協議證明中看到的攻擊不適用,因為沒有機會嘗試簽署多個塊或嘗試創建來自較早狀態的較長鏈。然而,人們應該意識到,隨著潛在區塊鏈遷移到股份證明,如果在Livepeer上實施這些攻擊的好處超過了以太坊本身的攻擊成本,這些攻擊確實會威脅到Livepeer。

雖然依靠底層區塊鏈的安全性對於防止共識攻擊是很好的,但仍然存在一類質量和效率攻擊可能會損害Livepeer網路。

DDoS

Livepeer中的拒絕服務有兩種方式:

  1. 轉碼器可以嘗試阻止或減慢直播發布者通過接受作業但拒絕轉碼將其編碼流發送到網路。
  2. 直播發布者可以阻止轉碼器完成他們認為是通過拒絕發送段來分配的工作。

這兩種攻擊都有代價,可以減輕,稍微有點煩惱。

在第一種情況下,轉碼器必須支付索賠鏈上的可用性。如果他們不收取費用,因為他們沒有做這項工作,那麼他們就會把ETH扔掉。直播發布者可以重新提交任務並分配一個新的轉碼器。可擴展性的一個潛在選擇是,協議可以按優先順序順序標識多個有效的轉碼器,而不是僅一個,這樣一來,直播發布者可以在沒有另一個鏈上事務的情況下繼續前進。此外,關於接受的工作的所有統計數據和平均代碼段的轉碼/作業等,都可以從鏈數據中計算出來,並且委託人將其作為輸入來決定他們向誰委託。表現不好,失去你的角色。

如果直播發布者阻止轉碼器工作,這只是一個容量規劃計算。代碼轉換節點可以維護並發作業的容量記錄,作業處於活動/不活動狀態的可能性,並確保它始終認為它可以處理它聲稱的作業。簡單地忽略或調用拒絕發送段的節點上的EndJob()幾乎不會傷害轉碼器。

無用的或者自消耗的轉碼器

如果轉碼器擁有足夠的股份來維持其位置,他們理論上可以列出100% BlockRewardCut,0%FeeShare,並收取高價PricePerSegment,以便他們永遠不必做任何工作,但可以收集他們的Token分配。這是由CompetitivenessTolerance (競爭力容忍度)阻止的,要求他們貢獻一定數量的有效工作。另外,由於參與轉碼器產生的協議的交易成本,他們只需將他們的代幣放在與他們分享費用的有效轉碼器上就會更有利,而不是像一個無用的轉碼器那樣工作將不收取任何費用。

一個輸出無效輸出的行為錯誤的代碼轉換器很快就會被削減,因為他們的股權被削減得太低而不能真正保住工作並接受任何工作。

轉碼器Griefing

如果一個直播發布者想要使協議對於轉碼器非常昂貴,它可以發送轉碼器非連續的段號。這是因為在單個事務中,轉碼器可以要求對連續數量的段編號進行工作,但必須進行許多事務才能在隨機段編號範圍內請求工作。這可以通過以下選項進行辯護:

  1. 轉碼器調用EndJob(),不費心做這項工作,也不想收取費用。
  2. 協議實現鏈分析或更好的分段請求編碼,以減少與在單個呼叫中請求非連續段相關的費用。
  3. 簡單地忽略分段,從不要求工作。

這種攻擊對直播發布者來說成本很高,因為他們必須有一個存款,並提交工作鏈上,甚至分配到一個轉碼器在第一位。他們有能力使生活煩擾的轉碼器,並可能失去效率,但不會對網路造成損害。

鏈重組

當直播發布者向Livepeer智能合約提交作業時,協議使用當前區塊哈希來確定哪個轉碼器將被分配作業。底層區塊鏈的重組可能會導致混淆。儘管這不是直接的「攻擊」,但轉碼器將有效一秒,然後在重組時,將不再有效。當檢測到重組時,直播發布者可以將流重定向到新的有效轉碼器,或者協議可以檢測包含在主鏈中的叔代碼塊,並且如果給定閾值內的叔代碼塊將使他們有效,具考慮轉碼器是有效的。

直播視頻分發

本白皮書主要集中在確保實時視頻正確轉碼的經濟激勵和協議,這對於支持自適應比特率流和每個設備都是必要的。但同樣重要的是在整個網路中分配視頻,以便能夠以高質量和低延遲消費視頻。分發的經濟性依賴於BitTorrent流行的的tit-for-tat帶寬核算,並通過諸如SWAP [13] 等協議進行擴展。作為簡化,節點付費請求一段視頻,節點獲得付費以服務一段視頻。如果一個節點已經有一個段並且可以將它提供給多個請求者,這是有利可圖的。我們稱這種類型的節點為中繼節點。

當涉及網路中扮演不同角色的節點的帶寬時,存在不同的激勵機制。

  • 消費者可能願意交換上行帶寬以將內容提供給額外的消費者,以換取自己能夠免費使用視頻。請參閱Webtorrent [14] 之類的系統。
  • 直播發布者作為原始節點,可能希望為視頻消費收費,或者可能希望補貼帶寬成本,以便每個人都可以免費訪問他們的視頻。
  • 只要有利可圖,轉碼器和中繼節點都願意提供分配視頻服務的帶寬。這與傳統CDN的作用相似。

利用Segments作為數據流經網路的核心單元,可以使用ETH作為結算基礎來進行tit-for-tat的帶寬記帳。我們借用的支票簿合同抽象的Swarm[6]作為鏈式結算通過的離線支付方式。包括雷電網路[15] 在內的生態系統未來的發展也可能允許支付渠道用於此目的。由於Token傳輸是協議的本地特性,因此也可以將與內容相關的定價直接嵌入到協議中。直播發布者可以直接對其時間或內容收費,並且節點將通過支付更高的價格/分段來選擇進行該價值轉移,該價格/分段將流回直播發布者。

需要注意的是,雖然帶寬記帳可以用於運行僅通過網路傳輸視頻片段以增加容量的中繼節點(CDN),但這些節點完全是由內容的需求激勵的,而不是由新的Token分配激勵的。事實上,Livepeer的輸出可以插入到傳統的CDN(如Amazon S3,Cloudflare等)或去中心化式CDN(如IPFS或Swarm)中。這種用於視頻段分配的P2P協議的開發本身將是優化和改善性能的持續機會。

P2P的CDN已經被證明可以減少原始CDN伺服器上的80-98%的帶寬需求[17],去中心化網路中看到的token機制可以讓利益相關者協調開發和維護今天存在的專有P2P CDN的開放版本。PPSPP協議[18]作為開放實施的可行候選,專註於提供實時內容。

至於Livepeer協議的密碼經濟學並非至關重要,詳細信息不在此文件中,但感興趣的人可以在此處 進行開發,並查看為將來的文件定址純粹的視頻分配協議。

Livepeer項目涉及去中心化一到多個視頻直播(多播)。這是最真實的媒體分發形式,因為它允許直播發布者以直接的方式直接與聽眾聯繫,不受事實的解釋和旋轉的影響。它給每個人提供了一個發言的平台。現有的集中式解決方案可能遭受審查,第三方對用戶數據/關係/貨幣化的控制,以及圍繞服務付費的低效成本結構。下面是應用程序和服務在Livepeer之上構建的一些邏輯用例。

對內容消費即付即用

通過將價值交易轉移到協議中,現在直播發布者可以直接向觀眾收取其直播的費用,而不需要通過集中式平台對信用卡、賬戶或用戶身份進行控制。這在教育(付費參加在線課程)、活動(支付觀看音樂會或直播體育賽事)、娛樂(支付觀看遊戲者或表演者的直播流)以及許多其他用例中都有應用-都在保持觀眾的隱私,並允許他們只直接支付給直播發布者。

自動縮放社交視頻服務

如今構建消費者視頻服務面臨的挑戰之一是擴展基礎設施以支持不斷增加的流的需求和隨著新用戶的加入而不斷增長的消費者數量。一個易於讓開發者開始在Livepeer網路之上構建他們的視頻解決方案的服務層,它將自動縮放以支持任何數量的流和觀眾,這將是一個值得歡迎的解決方案。授權媒體伺服器,並有效地管理資源來處理尖峰。

不能現場直播的新聞業

目前的平台,如Twitter和Facebook提供驚人的現場視頻解決方案,以達到廣大觀眾,但他們也是第一個在各種政治衝突局勢中被封鎖或審查的對象。使用一個去中心化的網路,例如Livepeer會使它幾乎不可能防止這個詞真正出現在實時的實際情況中。

啟動視頻的DApps

去中心化應用(Dapp)開始出現,主要由以太坊生態系統驅動。然而,到目前為止,還沒有一種可行的解決方案,在不使用集中式解決方案的情況下嵌入DAPP中的直播視頻,或者基於WebRTC的約束來限制消費客戶端的數量。通過將Livepeer引入到堆棧中,應用程序可以完全去中心化,但仍然包含大規模的實時視頻,以及願意使用它的許多用戶。

總結

總之,Livepeer協議激勵節點在轉碼和分發實時視頻的服務中貢獻他們的處理和帶寬到網路。工作驗證是通過在TtrueBIT協議上的可擴展擴展來解決的,Truebit協議激勵節點正確地執行代碼轉換操作,以賺取它們的費用和Token分配,並保持其作為轉碼器的價值獲取角色。通過股權分置獎勵會計委派證明的經濟學解決了網路的虛假化和虛假工作問題。在執行實際上沒有實際需求的工作時,簡單地將一個Token綁定到一個增值節點比在網路上支付費用來分配給其他委託人更加經濟合理。

最終的結果是一個可擴展的即付即用網路,用於去中心化式視頻直播- Livepeer尋求填補的web3堆棧中缺失的一層。

附錄

Livepeer 協議參數參考

Livepeer協議事務類型

參考

  1. Ethereum White Paper - Vitalik Buterin - Ethereum Wiki - github.com/ethereum/wik
  2. Fat Protocols - Joel Monegro - USV Blog - usv.com/blog/fat-protoc
  3. Crypto Tokens and the Coming Age of Protocol Innovation - Albert Wenger - continuations.com/post/
  4. The Case For SectorCoins - Eric Tang - medium.com/@ericxtang/c
  5. Delegated Proof-of-Stake Consensus - Daniel Larimer - bitshares.org/technolog
  6. Truebit - Jason Teutsch and Christian Reitweisner - people.cs.uchicago.edu/
  7. swap, swear and swindle, incentive system for swarm - viktor trón, aron fischer, dániel a. nagy, zsolt felf?ldi, nick johnson - swarm-gateways.net/bzz:
  8. Kademlia: A Peer-to-peer Information System Based On The XOR Metric - Petar Maymounkov and David Mazieres pdos.csail.mit.edu/~pet
  9. Steem Whitepaper - Daniel Larimer, Ned Scott, Valentine Zavgorodnev, Benjamin Johnson, James Calfee, Michael Vandeberg - steem.io/SteemWhitePape
  10. Introducing Casper "the Friendly Ghost" - Vlad Zamfir - blog.ethereum.org/2015/
  11. Tendermint Docs - Jae Kwon and Ethan Buchman - tendermint.com/docs
  12. Swarm - swarm-gateways.net/bzz:
  13. Incentives Build Robustness in BitTorrent - Bram Cohen - bittorrent.org/bittorre
  14. WebTorrent - webtorrent.io/
  15. Raiden Network - raiden.network/
  16. ERC20 Token Standard - github.com/ethereum/EIP
  17. Peer5 leverages viewers』 devices for a P2P approach to streaming video - techcrunch.com/2017/01/
  18. Peer-to-Peer Streaming Peer Protocol - tools.ietf.org/html/rfc
  19. Inflation and Participation in Stake Based Protocols - Doug Petkanics - medium.com/@petkanics/i

如果有關於區塊鏈學習的交流,可以通過下面的方式聯繫我:

掃二維碼加我微信,注意備註: 區塊鏈學習

u.wechat.com/MMFO1etjsh (二維碼自動識別)

github: omnigeeker (Wayne Wong)telegram: @elninowangtwitter: @elninowangmedium: medium.com/@elninowang_steemit: steemit.com/@elninowangzhihu: zhihu.com/people/elninojianshu: jianshu.com/u/103321b57
推薦閱讀:
查看原文 >>
相关文章