看板 DigiCurrency 關於我們 聯絡資訊
※ [本文轉錄自 C_Chat 看板 #1R8CTrlP ] 作者: mrbigmouth (大嘴先生) 看板: C_Chat 標題: [討論] 自由創作網計劃 時間: Wed Jun 13 15:27:47 2018 這是一個我大概從一年前就開始想要搞的專案, 一直以來也有斷斷續續的在Coding跟研究, 只是由於各種原(ㄉㄞˋ)因(ㄉㄨㄛˋ)進度一直很慢。 最近剛好又在CFantasy板看到了有人在討論相關問題, 乾脆提前把一直以來的腦中計劃梳理一下PO上來讓大家討論, 一方面算是給自己一點壓力(?), 二方面拋磚引玉希望得到有價值的建議、在早期規劃階段做的更好, 三方面也許能夠吸引到其他無聊的同(一ˋ)志(ㄍㄨㄥ)一起協作。 (最好的情況就是有人覺得這計劃好棒所以直接跳下來幫我做掉!) (我的立場跟做ACGN股票系統時完全一樣,完全不介意有人把我的創意端走!) 零、起源與目標 大陸小說的和諧問題一直是大家有目共睹的誇張, 可以說是到了嚴重影響正常創作的程度, 但我一直認為這只是真正問題的冰山一角而已。 認真思考一下,為什麼這些小說網站可以為所欲為的和諧它們要和諧的東西? 對,和諧的主力推手是政府, 但「小說網站具有這樣的能力」才是政府可以推動和諧的主因。 如果創作者都把自己作品放在境外網站或部落格上,那肯定不怕和諧。 但現今的作者卻無法這麼做,因為即使你是名氣超大的作者, 也不可能在自己搞自己的之後還能享有跟之前一樣的讀者群。 那麼讀者為何要死心眼的只在小說網站上看小說? 因為小說網站上集中了大量的小說, 依靠搜索、排行榜功能可以讓讀者更快更好的找到想看的小說, 並且更方便的支付金錢、表達對作者的支持。 但是仔細想想,現在的小說網站真的有做好這些應該做好的功能嗎? 我覺得是沒有的。 淘寶上各小說網站的各式推薦票都已經明碼標價, 現在有點網路閱(嘗)讀(毒)經驗的讀者都很難靠小說網站的排行榜找到心儀的作品。 各種黑心條款與媒介的抽成讓讀者的錢到作者手上時基本上不到一半。 滿坑滿谷的盜版網站讓人可以毫不費力的免費取得創作者的辛苦成果。 當然還有最嚴重的和諧之風、自我審查、關鍵字過濾, 讓讀者不得不忍受滿篇乍看之下莫名奇妙的防和諧錯字怪詞, 還得提心吊膽的擔憂看到一半的連載小說會莫名不見! 其實認真找找,讓你不用忍受和諧的小說網站還是很多的, 但是它們不是最終在人數起來之後被政府找上門跟著接受和諧的處置, 就是無法讓創作者得到足以令其持續創作的利益。 小說網站媒合了創作者與讀者,卻也壟斷兩者間的管道, 當後兩者轉換平臺的成本過高時,前者就擁有了對後兩者為所欲為的能力。 不徹底改變這點,由於政府擁有對小說網站擁有為所欲為的能力, 就不可能阻止政府為所欲為的和諧他們想和諧的東西。 因此我這個專案希望做到的, 就是建立一個去中心化(Decentralization)的創作分享平臺, 讓讀者與創作者能夠「更為自由的尋找有利他們的媒合機制」的體系, 目標達成以下成果: (1)創作者可以自由的發布作品,無法被任何勢力以阻斷媒介的方式進行阻止。 (2)創作者可以確保自己對自己作品包含發布、修改、定價在內的所有權力。 (3)創作者可以自由的選擇有利他的讀者付費與打賞管道。 (4)創作者擁有對讀者的篩選權力, 並透過盲水印等技術來排除那些不經同意散播其心血作品的讀者。 (5)所有讀者對所有作品的評價機制公開透明,不可作偽、不可修改, 讀者可以依據這些原始資料,自由的選擇甚至自設他所偏好的評價排行機制, 進而更好的找到他心儀的作品。 雖然起因主要是小說,但由於媒介的關係也一定可以包含圖片、漫畫的創作, 故暫時定名為「自由創作網」。(歡迎提供更好的名字) 壹、基本運作機制與網路架構說明 自由創作網是由所有參與者共同組成的網路, 每一個參與網路的節點在權力與地位上彼此相等。 任何參與者無需向任何單位進行註冊帳號, 只要連接上網路內的任一節點就可以參與整個網路, 節點可以透過一般網路位址、TOR洋蔥路由或者隨機代理的方式連接網路, 所有在網路內交流的訊息皆會經過加密,防偽造、防長城自動阻擋。 創作者可以將其創作擺放在網路內指定的「資源點」中, (可以是他自己的電腦,或者是任一個他願意信任的網路節點。) 「瀏覽者」需取得創作者的允許方可下載瀏覽之, 取得的資源將是「只有指定瀏覽者才能解密」的狀態, 需要的時候,盲水印技術可以在資源被無斷轉錄時追溯是哪個瀏覽者轉錄的。 「瀏覽者」可以透過兩種方式對創作進行評價, 一種是將「評論」視為一種相依性創作紀錄在指定「資源點」中, 一種是依照一定規則數據化的分數評價。 在網路中,任何節點都可以自定義一套創作收錄、評價數據化的規則, 舉例而言,不想查水表的正規小說網站營運商可以製造一套完全符合大陸政府標準 的小說收錄標準,定義出「每人每天一張推薦票、每月一張月票」的正統評價機制。 PTT鄉民也可以自建立一套「符合鄉民審美觀的創作分享平臺」, 定義另一套「仙草、糧草、毒草」或類似ehentai創作標籤的評價標準。 定義標準者在節點內被稱為「鍊管理者」, 各自管理一條標準公開、不可偽造、不可刪改的區塊鍊資料。 「瀏覽者」可以在觀看創作時以任意一套他願意接受的機制做出評價, 並被所有可以接納該標準的「鍊管理者」收錄其評價。 所有的評價區塊鍊資料全部公開, 任何人都可以依據任一條區塊鍊的資料進行數據的驗證或者統計規納, 而瀏覽者可以依據統計、規納後的結果在該區塊鍊內尋找他喜歡的作品。 而創作者的作品會同時存在於所有允許其存在的區塊鍊中。 自由創作網內的參與者皆具有以下一個或多個的身份, 其負責任務由少到多,排列如下: 1.瀏覽者 具備一把只有自己知道的私鑰與其對應的公鑰, 擁有一個根據其公鑰算出的唯一性ID。 此為參與自由創作網的最低條件。 透過唯一性ID與其公鑰,瀏覽者方可向資源點請求創作資源。 請求到的資源唯有其私鑰方可解讀。 「瀏覽者」身份可以由任何一個具有運算力的機器擔任, 包括但不限於智慧手機、平板、瀏覽器或瀏覽器插件。 2.節點 在唯一性ID外,節點還需具備「可以被網際網路上其他電腦直接訪問的地址」, 該地址可以是正常的IP位址,也可以是TOR洋蔥路由的唯一性位置。 節點需要付出一部份的記憶體來紀錄部份節點的公鑰與地址, 並隨時可能成為其他瀏覽者或節點在搜尋節點過程中的中繼搜尋點。 在擁有者允許下,節點也可以成為其他瀏覽者/節點的代理, 替其傳送加密後的訊息與其他節點交流。 (為了繞過防火長城,或者作為沒有固定地址的移動終端的中繼點) 3.資源點 資源點需要保持穩定的在線時間,具有足夠的頻寬負擔瀏覽者的傳輸任務, 擁有足夠的容量儲存創作者的作品, 在需要時付出大量的運算量來計算需要傳遞給瀏覽的盲水印加密作品。 4.鍊管理者 鍊管理者需要保持穩定的在線時間, 需要付出較少的運算量來審核創作者的創作聲明與瀏覽者的評價投遞。 5.數據統計者 數據統計者讀取鍊管理者公開的區塊鍊資料, 對所有的創作作品進行分類、排行,供瀏覽者搜索其心儀的作品。 數據統計可以由瀏覽者自己進行,此時可以加入自定義的運算條件, 例如:「我覺得某某ID肯定是收費灌票的我要排除他的評價結果」。 數據統計者也可以是公開的入口網站。 在實作上,節點、資源點、鍊管理者、數據統計者四者可以是合一的, 組成的結果就是現在大家所看到的小說網站, 不同的是創作品不再僅僅被一家小說網站所收錄。 而小說網站主機的營運費用很可能是由捐款、所有創作者合力支付, 或者是如現今一般的從瀏覽者支付購買作品的金錢裡抽成維持。 貳、核心技術解析與當前工作進度報告 這章節是給所有有意願參加計劃的技術人員看的, 內容包含的技術較為艱澀,看不懂的人大可以直接跳過, 只需要知道「理論技術上真的能達成目標」即可。 XD (一)帳戶機制: 自由創作網的瀏覽者ID採用比特幣的錢包機制。 創建帳號時不需要向任何單位通報, 只需要以RSA演算法產生自己使用的隨機私鑰即可。 決定私鑰的同時會產生出與之相對的公鑰, 透過對公鑰進行雜湊函數,就可以最終決定出一個長到不太可能重複的唯一ID。 每一個ID在創作自由網路上都代表著一個身份, 透過其保管的私鑰簽暑發布訊息,以防偽造。 各身分之間彼此對等,沒有人擁有刪除另一個帳號的權力。 (鍊管理者還是可以完全封鎖一個帳號進入區塊鍊來達成類似的效果。) 這邊有一個小小的問題,使用者隨機決定的ID有沒有可能正好一樣? 雖然有可能,但機率實在太小了。 我覺得,比特幣都不擔心的事大可以不用擔心。XD 這裡使用到的相關技術網路上已經有太多的現成套件可以使用, 沒有工作需時問題。 (二)加密型Kademlia演算法: https://zh.wikipedia.org/wiki/Kademlia 以Kademlia演算法為核心的分布式散列表(DHT)已被電驢等P2P軟體使用已久, 是確定最可行、最簡易且最實用的分散式資訊搜索方式。 Kademlia演算法可以在任意兩個固定長度的字串間計算其「距離」, 在自由創作網內,所有帳號的ID長度都會是相等的。 因此當節點連上網路時, 其會不斷定時往「接觸到的最靠近的節點」裡去廣播自身的存在。 當另一個帳號需要尋者一個節點位址時, 就可以透過不斷遞迴「往更接近的方向搜尋」的方式,迅速的找到其節點。 在自由創作網中,由於節點的ID是其公鑰的雜湊化, 因此在廣播地址時,只需要檢查其公鑰與ID的對應關係就可以預防偽造。 廣播的地址則可以預先以ID擁有者的私鑰進行加密, 有需要聯絡時才用隨著廣播的公鑰進行解密, 避免以明碼標明地址被封包檢查攔截。 節點的聯絡地址可以是以下三種格式: (1)可以直接聯繫的IP、網域: 其他使用者可以直接透過正常的網路聯結直接拜訪該使用者, 一但建立聯接,就不再需要再次從Kademlia網路上查找,是最快的方式。 缺點是地址公開透明,要小心被政府查水表。 但只要不是會存放違法資源的資源點,應該就不用擔心。 (2)洋蔥路由(TOR)的訪問地址: 也就是俗稱的暗網網址,此方式可確保使用者的真實位置不被查找, 缺點是聯絡雙方都需要額外安裝洋蔥路由器以透過暗網溝通,速度較慢。 此外,洋蔥路由並非真正的去中心化分散式網路, 政府真心想要阻斷還是能阻斷的,雖然使用者想繞過還是能繞過, 但會導致「被封了一個VPN就得再找一個VPN」的類似狀態, 不能提供一個非常穩定的網路環境。 (3)代理者的ID: 以另一個Kademlia網路上的隨機使用者作為代理,轉交加密後的聯絡資訊。 這個代理仲介可以無限的串連疊加(代理者的代理), 在網路規模足夠龐大的狀態下, 就會形成近似I2P隱形網路計劃(Invisible Internet Project)的設計, 視情況不斷增高的難度會讓追索目標真正位置幾近不可能, 除非直接封鎖網路內大部份的節點,也無法用防火牆檢測封包的方式來阻斷。 缺點是網速會變得非常非常的..........慢。 相關技術已經差不多開發完了,雖然我最近很想要整個重寫。 有可能的話,以C++重新撰寫再封裝成Web Assembly的形式, 應該可以大幅提升整個網路的效能。 (三)私有型區塊鍊與衍生鍊: 區塊鍊是近年來隨著比特幣興起而熱門的技術, 但我們並不是真的要搞電子貨幣,因此並非全面應用。 去除那些專為電子貨幣而設計的機制,區塊鍊可以被描述成一種資料模型: 區塊與區塊之間透過雜湊函數形成的順序彼此鍊在一起, 每個區塊內含一定筆數的「交易」資料, 每一筆交易都需以交易參與者的私要進行「簽章」以認證防偽。 靠以上的結構就可以構成區塊鍊的兩個特性: (1)所有交易都是不可偽造的。 (2)已經進入區塊內的交易永遠不可能被刪除或修改。 最多只能棄用一整塊或一長條的區塊鍊,把資料回溯到資料寫入之前。 在自由創作網裡,我們將以下四類資料存入區塊鍊中: (1)「A創作者發布/撤銷/修改X資源於B資源點」資料, X資源可以是任意小說、漫畫的一個章節單位或者一個藝術創作圖。 在存入區塊鍊時,應具有根據其內容運算出的雜湊ID, 供瀏覽者檢查,避免偽造。 創作者在修改資源時,則是發布一份相應的連動資源, 供瀏覽者運算連動以計算出修改後的結果。 (這代表瀏覽者可以選擇瀏覽修改前的結果。) (2)「A使用者訂閱X資源於B資源點」資料, 用來證明A曾經訂閱過X資源的資料, 這筆資料需要由A使用者與B資源點共同簽署以防偽造, 除了供某些評價規則進行檢查,還可以做為資源點的訂閱資格檢查。 比如:「需要先訂閱購買小說的前面全部章節才能訂閱下個章節」, 這樣在發現有人盜轉時,進行的帳號封鎖才會有足夠的嚇阻能力。 (3)「A評論者發布/撤銷/修改跟X資源有關的Y資源於B資源點」資料, 讓使用者可以對小說漫畫等創作發表評論的資料, 發表的評論內容同樣也是資源之一,需要向特定的資源點索取內容。 (4)「A評論者依據規則對X資源發布???評價」資料。 讓使用者可以「鍊管理者」所定義的規則來對作品提供數值化的評價, 此評價可以是數值化的,供「數據統計者」製造排行榜所用。 也可以是非數值化的標籤、分類,讓其他使用者搜索、分類時使用。 在大多數電子貨幣的區塊鍊中,區塊鍊的區塊生成者是不固定的。 所有參與者依照「工作證明」或「股權證明」或「價值證明」等機制來競爭。 然而此類機制都不適合這個專案,工作證明機制浪費的運算量太大, 其他不需要浪費運算量的機制則有違去中心化的思想,有被壟斷/封鎖的風險。 因此本專案只能採用絕對私有制度, 讓鍊管理者以節點ID為首個區塊ID來發行區塊鍊, 該區塊鍊上的每一個區塊都需要鍊管理者的私鑰進行簽章, 也只有鍊管理者能審核有哪些資料能夠被寫入區塊鍊之中。 當一條新的區塊鍊被建立時, 鍊管理者可以在開頭宣告其繼承於哪一條區塊的哪些節點, 或者直接從舊的區塊鍊條上將小說、評論、評價等資料爬下來。 由於每一筆資料都帶有交易參予者的簽章,因此也不會有偽造問題。 相關的程式碼....完全沒有動過, 但理論已摸清,應該不會有問題。 (四)盲水印技術: https://www.zhihu.com/question/50735753 盲水印是一種在圖片(音樂也行)中混入人眼難以辨識的資訊, 但哪怕該圖片被塗改、壓縮、切片、扭曲, 這些資訊仍可透過演算法的作用重組回大約的樣子。 如此以來,只要資源點能在發布資源時, 將訂閱者的ID以盲水印寫入圖片中,(文字創作也可以先轉為圖片) 就可以輕易的在圖片被盜轉時找到該圖片是被哪一個訂閱者盜轉的。 (資源點可以紀錄該資源的訂閱者ID有哪些, 每個節點ID目前定為223位字元,只要能復原出最少5個字元, 搜尋比對一下是非常簡單的。) 目前網路上有現成的盲水印套件可以使用, 但效能與健壯性(防止盲水印被人破壞的能力)都不是很令人滿意, 我有找過很多據說更好的演算法,但距離要寫成程式還有很大的功夫.... 在最理想的狀況下, 盲水印繪圖程式應該是連同隨機解密密碼被封裝成Web Assembly組件, 然後由瀏覽者的前端自行繪製成資源圖的。 這樣資源點就只需要傳送加密資源給瀏覽者即可,可以大幅增加效能。 參、我可以幫忙什麼? (一)開發: 整個專案距離完成還有非常非常遠的距離, 除了上述四項核心技術之外, 節點、資源點、鍊管理者、數據統計者都需要各自的端點程式。 不同裝置的瀏覽者更是需要不同的前端介面, 再加上便利創作者發布作品的程式.... 這專案想要成功,絕對不是一個人可以辦到的。 (二)討論: 雖然距離完成還有很久,但整體架構已經差不多擬定了, 然而目前皆只是我個人的一己之見, 很可能有什麼漏洞或者可以更好的地方, 而你可以幫著思考,在開發之前就讓整個專案變得更好。 (三)宣傳: 一如所有去中心化的專案, 這個專案的價值會隨著參與者的數量而等比級數的提升。 想想比特幣,沒人使用就不會有任何的價值。 哪怕現在專案就連個影子都還沒有, 中斷失敗的可能性老實講真的很高, 但你可以把這個構想分享給任何有能力的人, 也許就會有人跳出來接著做下去了也說不定? 以上,打字打的好累,暫時想不到還有啥需要講的了。 先讓大家討論討論吧,其他的等我想到了再說 :Q -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.132.13 ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1528874869.A.BD9.html 逛到這篇文章,想問問看各位版友對於這種想法的可行性看法是如何呢? 雖然跟一般的虛擬貨幣原理不怎麼一樣就是XD ※ 編輯: Euphokumiko (140.113.139.19), 06/13/2018 19:13:59
EthereumPTT: 那如果直接放小說在以太上 別人直接抖內那個地址呢? 06/13 20:21
qxxrbull: 我覺得以太坊智能合約+IPFS可以解決 06/13 20:28
qxxrbull: 創作放IPFS上 金流與付錢買書的解密交給ETH智能合約 06/13 20:31
justben: 沒看完 不過想到 like coin 06/13 21:10
holise71: muzeum 06/13 22:32
commandoEX: 我覺得你說的私有鍊跟只有你一個管理員的Git很像呢 06/13 22:40
p00o99o: 能賺錢嗎?不能賺錢的話 沒有什麼人會想碰吧? 06/14 03:07