[153871] 20671. Five - Everybody Get Up (1998)★★
[153872] 20672. Five - Got The Feelin' (1998)★★
[153873] 20673. Five - If Ya Gettin' Down (1999)★★
[153874] 20674. Five - It's the Things You Do (1998)★★
[153875] 20675. Five - Until the Time Is Through (1998)★★
[153876] 20676. Five - When the Lights Go Out (1998)★★
[153877] 20677. Jesse Powell - All I Need (1996)★★
[153878] 20678. Jesse Powell - You (1998)★★
[153879] 20679. KC Da Rookee - Rookee of the Year (1999)★★
[153880] 20680. K-Ci & JoJo - Tell Me It's Real (1999)★★
[153881] 20681. Mighty Ethnicz - Can I Get A Deal (1993)★★
[153882] 20682. Social Distortion - Story of My Life (1990)★★
[153883] 20683. Terry Dexter - Better Than Me (1999)★★
[153884] 20684. "Weird Al" Yankovic - Polka Power! (1999)★★
[153885] 20685. Will Smith - Just the Two of Us (1997)★★__Bob Giraldi
[153886] 20686. Will Smith - Miami (1997)★★
[153887] 20687. Kiss - 給我自由 (2000)★★
[153888] 20688. Jesse Powell - If I (2000)★★
[153889] 20689. Jennifer Lopez - Love Don't Cost a Thing (2000)★★ⓡ__Paul Hunter
[153890] 20690. Five - Let's Dance (2001)★★
[153891] 20691. Hoobastank - Crawling in the Dark (2001)★★
[153892] 20692. Lil' Mo & Fabolous - Superwoman Pt. II (2001)★★ⓡ
[153893] 20693. Nicole Kidman & Ewan McGregor - Come What May (2001)★★
[153894] 20694. Project Pitchfork - Timekiller (2001)★★
[153895] 20695. Project Pitchfork - We Are One (Mirror Split Up Into Pieces) (2001)★★
[153896] 20696. Justin Timberlake - Cry Me a River (2002)★★ⓡ
[153897] 20697. Underworld - Two Months Off (2002)★★
[153898] 20698. Wallen - Bouge Cette (2004)★★
[153899] 20699. Wallen - L'Olivier (2004)★★
[153900] 20700. The Click Five - Just the Girl (2005)★★
[153901] 20701. Parker & Lily - June Gloom (2005)★★
[153902] 20702. Nine Inch Nails - The Hand That Feeds (2005)★★
[153903] 20703. JHETT - Get Ready ~Nite 2 Remember~ (2005)★★
[153904] 20704. JAYWALK - 大海 (2006)★★
[153905] 20705. Justin Timberlake - What Goes Around... Comes Around (2006)★★ⓡ
[153906] 20706. Karmah - Just Be Good To Me (2006)★★
[153907] 20707. Stones Throw - Rain Of Earth (2006)★★
[153908] 20708. Ssion - Clown (2007)★★
[153909] 20709. Keyshia Cole - I Remember (2007)★★ⓡ
[153910] 20710. Wiley & Daniel Merriweather - Cash In My Pocket (2008)★★
[153911] 20711. Wiley - Grime Wave (2008)★★
[153912] 20712. Muja Messiah - Get Fresh (2008)★★
[153913] 20713. Jay Sean - Ride It (2008)★★
[153914] 20714. Elisapie - Moi, Elsie (2009)★★
[153915] 20715. Major Lazer, Nina Sky & Ricky Blaze - Keep It Goin' Louder (2009)★★
[153916] 20716. Richee & DJ☆GO - Block Party (2009)★★
[153917] 20717. Yo Gotti - 5 Star (2009)★★ⓡ
[153918] 20718. Dizzee Rascal & Armand Van Helden - Bonkers (2009)★★★
[153919] 20719. Nelly & Kelly Rowland - Gone (2010)★★ⓡ__Marc Klasfeld‒
[153920] 20720. Nelly - Just a Dream (2010)★★ⓡ__Sanji
[153921] 20721. Rihanna - Only Girl (In The World) (2010)★★ⓡ__Anthony Mandler
[153922] 20722. Keri Hilson - Pretty Girl Rock (2010)★★ⓡ__Joseph Kahn
[153923] 20723. Prince Ea & Sha Stimuli - The Game (2010)★★
[153924] 20724. Khalil & Lil Twist - Hey Lil Mama (2010)★★
[153925] 20725. Gyptian - Nah Let Go (2010)★★
[153926] 20726. Drake & Alicia Keys - Fireworks (2010)★★ⓡ
[153927] 20727. Florence and the Machine - Never Let Me Go (2011)★★
[153928] 20728. Florence and the Machine - No Light, No Light (2011)★★
[153929] 20729. Jay Tee & Lofty - Livin' It Up In Vallejo, California (2011)★★
[153930] 20730. Marcus Miller & Christian Scott - In A Sentimental Mood (2011)★★
[153931] 20731. The Weeknd - House of Balloons / Glass Table Girls (2011)★★
[153932] 20732. The Weeknd - What You Need (2011)★★
[153933] 20733. The Weeknd - Montreal (2011)★★
[153934] 20734. The-Dream - Wake Me When It's Over (2011)★★
[153935] 20735. Vents - Rollin' Balls (2011)★★
[153936] 20736. Within Temptation - Faster (2011)★★
[153937] 20737. Ssion - Luvvbazaar (20112)★★
[153938] 20738. Soulkast - Première Salve (2011)★★
[153939] 20739. Sol - This Shit (2011)★★
[153940] 20740. Rustie - All Nite (2011)★★
[153941] 20741. Rising Appalachia - Sunu (2011)★★__Chad Hess
[153942] 20742. Mechanical Bride - Colour of Fire (2011)★★__Michelle Phillips, Johannes Conrad
[153943] 20743. Lindbergh Palace - Days Don't Fade (2011)★★
[153944] 20744. Kabaka Pyramid - Free From Chains (2011)★★
[153945] 20745. J. Cole - Cheer Up (2011)★★
[153946] 20746. ILLFIGHTYOU - Batcave (2012)★★
[153947] 20747. Leo Rojas - Der einsame Hirte (2012)★★__Erik Lattwein
[153948] 20748. Jenni Rivera, MC Magic & Chino Brown - Love Again (2012)★★
[153949] 20749. Lil Ronny MothaF & MykFresh - Pussy Pop (2012)★★
[153950] 20750. Ratking - Piece of Shit (2012)★★
[153951] 20751. Raiza Biza - Pyramids (2012)★★
[153952] 20752. Nines & Likkle T - All I Know (2012)★★
[153953] 20753. Moonspell - Lickanthrope (2012)★★
[153954] 20754. Lukas Graham - Drunk In The Morning (2012)★★
[153955] 20755. Lil Durk - I Get Paid (2012)★★
[153956] 20756. Knxwledge - NBD. (2012)★★
[153957] 20757. Knxwledge - Learn (2012)★★
[153958] 20758. Ka - Summer (2012)★★__Ka
[153959] 20759. JJ - Beautiful Life (2012)★★
[153960] 20760. Yungen - Rapstars (2012)★★
[153961] 20761. Casiopea: Mint Jams (1982)★★★
[153962] 20762. Kali Uchis - Mucho Gusto / Pay Day (2012)★★
[153963] 20763. Kali Uchis - Good To You (2012)★★
[153964] 20764. Ssion - My Love Grows In The Dark (2012)★★
[153965] 20765. Thai Viet G & Suboi - Hold You Down (2012)★★
[153966] 20766. Usher - Climax (2012)★★ⓡ__Sam Pilling
[153967] 20767. Dro Pesci - On The Ave (2013)★★
[153968] 20768. Frankie Cosmos - Birthday Song (2013)★★
[153969] 20769. Foals - Late Night (Solomun Remix) (2013)★★
[153970] 20770. Rhapsody of Fire - Dark Wings Of Steel (2013)★★
[153971] 20771. Skeme - Millions (2013)★★
[153972] 20772. Skinny Puppy - illisiT (2013)★★
[153973] 20773. Suzi Analogue - Jump Rope (2013)★★
[153974] 20774. SQÜRL - Pink Dust (2013)★★
[153975] 20775. Yeah Yeah Yeahs - Sacrilege (2013)★★
[153976] 20776. The Neighbourhood - Sweater Weather (2013)★★
[153977] 20777. Lokazo & Profeta El Newton - En Mi Calle (2013)★★
[153978] 20778. Mas Ysa - Why (2013)★★__Thomas Arsenault, Natalia Leite
[153979] 20779. New Kids on the Block - The Whisper (2013)★★
[153980] 20780. pennybirdrabbit - The Sky Is Falling (2013)★★
[153981] 20781. Horseshoe Gang - Small-Pacs (2013)★★✚
[153982] 20782. J. Cole - Rise Above (2013)★★
[153983] 20783. Kaaris - Or Noir (2013)★★
[153984] 20784. Kartellen & Aleks - Underklassmusik (2013)★★
[153985] 20785. Kabaka Pyramid - Liberal Opposer (2013)★★
[153986] 20786. Kcee - Limpopo (2013)★★
[153987] 20787. Novo Amor - From Gold (2013)★★
[153988] 20788. Sega Bodega - Security (2013)★★
[153989] 20789. Rustie - Slasherr (2013)★★
[153990] 20790. Peking Duk - Feels Like (2013)★★__Jeff Johnson, Max Miller
同時也有1部Youtube影片,追蹤數超過84萬的網紅BLV Anh Quân,也在其Youtube影片中提到,FOOTBALL EXTRA | BÓNG ĐÁ LUÔN ĐẸP VÌ NHỮNG KHOẢNH KHẮC NÀY LINK SUBSCRIBE : http://bit.ly/anhquanblv ------------------------------ Đừng quên theo ...
kahn 1990 在 無限期支持黃國昌老師 Facebook 的最佳貼文
大家來讀書囉!
[新聞] 黃國昌:有思想論述才有力量(書單)
http://www.ptt.cc/bbs/Gossiping/M.1399575609.A.353.html
首先是國昌老師直接推薦的三本
陳翠蓮 吳乃德 胡慧玲 《百年追求:臺灣民主運動的故事(共3冊)》
奧比・薩克思 《斷臂上的花朵:從囚徒到大法官,用一生開創全球憲法典範》
鍾年晃 《我的大話人生:「大話新聞」停播始末&我所認識的鄭弘儀》
接下來依類別分
文學寓言
雨果 《悲慘世界》
阿道斯‧雷歐那德‧赫胥黎 《美麗新世界》
卡夫卡 《變形記》
喬治‧歐威爾 《一九八四》
喬治‧歐威爾 《動物農莊》
卡謬 《異鄉人》
卡謬 《瘟疫》
米蘭‧昆德拉 《生命中不能承受之輕》
米蘭‧昆德拉 《笑忘書》
赫拉巴爾 《過於喧囂的孤獨》
薄伽丘 《十日談》
托爾斯泰 《戰爭與和平》
托爾斯泰 《復活》
杜斯妥也夫斯基 《罪與罰》
三島由紀夫 《美德的背叛》
魯迅 《狂人日記》
魯迅 《阿Q正傳》
柏楊 《醜陋的中國人》
扎米亞京的 《我們》
查爾斯‧狄更斯 《雙城記》
哲學
柏拉圖 《理想國》
叔本華 《意志與表象的世界》
馬丁‧海德格爾 《存在與時間》
沙特 《存在與虛無》
朱利安巴吉尼 《一把鑰匙,走進哲學》
朱利安巴吉尼 《我們為什麼要活著》
朱利安巴吉尼 《自願被吃的豬:100個讓人想破頭的哲學問題》
朱利安巴吉尼 《鴨子中了大樂透》
羅蘭.巴特 《戀人絮語》
尼采 《查拉圖斯特拉如是說》
米歇爾·福柯 《規訓與懲罰》
克里希那穆提 《最初與最後的自由》
斯賓諾莎 《倫理學》
克里希那穆提 《人類的當務之急》
傅柯 《瘋癲與文明》
詹姆士.杭特 《僕人:修道院的領導啟示錄》
詹姆士.杭特 《僕人修練與實踐》
心理學
佛洛伊德 《夢的解析》
佛洛伊德 《圖騰與禁忌》
史地與民族
麥金德 《世界歷史的地理樞紐》
巴森 《從黎明到衰頹:五百年來的西方文化生活》
柄谷行人 《世界史的結構》
史明 《台灣人400年史》
林媽利 《我們流著不同的血液》
葛超智 《被出賣的台灣》
王金壽、江以文、杜文苓...等 《社會運動的年代:晚近二十年來的台灣行動主義》
吳介民、顧爾德、范雲 《秩序繽紛的年代:1990-2010》
鄭南榕基金會 《剩下就是你們的事了:行動思想家鄭南榕》
林宗弘等 《崩世代:財團化、貧窮化與少子女化的危機》
杭亭頓 《文明衝突與世界秩序的重建》
傳記
希特勒 《我的奮鬥》
喬治‧歐威爾 《巴黎倫敦落難記》
陳水扁 《1.86坪的總統府》
政治思想
馬漢 《論制海權》
潘恩 《常識》
湯瑪斯‧摩爾 《烏托邦》
馬克思 恩格斯 《共產黨宣言》
漢娜‧鄂蘭 《共和危機》
漢娜‧鄂蘭 《極權主義的起源》
漢娜‧鄂蘭 《政治的承諾》
若林正丈 《戰後臺灣政治史》
約翰.彌爾 《自由論》
班納迪克.安德森 《想像的共同體-民族主義的起源與散布》
戴倫.艾塞默魯 詹姆斯.羅賓森 《國家為什麼會失敗》
約翰.蓋斯提爾 彼得.列文 《審議民主指南:21世紀公民參與的有效策略》
袁紅冰 《台灣大劫難:2012不戰而勝台灣》
袁紅冰 《台灣大國策》
袁紅冰 《台灣大國魂》
袁紅冰 《被囚禁的台灣》
李登輝 《台灣的主張》
李登輝 《二十一世紀台灣要到哪裡去》
徐賁 《正派社會和不羞辱》
胡平 《論言論自由》
威廉.道布森 《獨裁者的進化:收編、分化、假民主》
David Butler Austin Ranney編著 《公民投票的實踐與理論》
海伍德 《政治的意識形態》
社會學
馬爾薩斯 《人口論》
梭羅 《公民不服從》
林萬億 《福利國家-歷史比較的分析》
林萬億 《臺灣的社會福利:歷史與制度的分析》
賀佛爾 《群眾運動聖經》
索維爾 《知識份子與社會》
彼得‧艾克曼 傑克‧杜瓦 《非暴力抗爭─一種更強大的力量》
克雷.薛基 《鄉民都來了:無組織的組織力量》
Allan G. Johnson 《見樹又見林》
Marie L.Campbell Frances Gregor《為弱勢者畫權力地圖︰建制民族誌入門》
Si Kahn 《組織結社:基層組織領導者手冊》
金夏普 《198種非暴力抗爭方法》
何明修 《四海仗義:曾茂興的工運傳奇》
吳音寧 《江湖在哪裡? ──台灣農業觀察》
楊儒門 《白米不是炸彈》
佛雷勒 《受壓迫者教育學》
西蒙 波娃 《第二性》
綠色思想
梭羅 《湖濱散記》
斯佩納德.拉魯索(編) 《梭羅:綠色先知》
何明修 《綠色民主:台灣環境運動的研究》
吳晟、吳明益(編) 《溼地.石化.島嶼想像》
謝志誠、何明修 《八輕遊台灣:國光石化的故事》
經濟學
亞當斯密 《國富論》
馬克思 恩格斯 《資本論》
史帝文.李維特,史帝芬.杜伯納 《蘋果橘子經濟學》
史帝文.李維特,史帝芬.杜伯納 《超爆蘋果橘子經濟學》
kahn 1990 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] 隱私、區塊鏈與洋蔥路由
✍️ Juin Chiu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
隱私為何重要?區塊鏈是匿名的嗎?洋蔥路由如何改進區塊鏈?
前言
自2008年區塊鏈以比特幣的面貌問世後,它便被視為 Web 3.0,並被期許能夠進一步為人類帶來金融與治理上的大躍進。區塊鏈或許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重個人於網路上的隱私,那麼我們更應該關心這項全新的技術是否能更好地保護它。
筆者將於本文中闡述隱私的重要性,接著進一步分析區塊鏈是否能夠保護用戶隱私,最後再簡介一個知名的匿名技術 — 洋蔥路由,並列舉幾個其用於改進區塊鏈(特別是以太坊)的相關提案。
特別感謝以太坊研究員 Chih-Cheng Liang 與民間高手敖烏協助校閱並給予回饋。
隱私的重要
網際網路(Internet)無疑是 20 世紀末最偉大的發明,它催生了全新的商業模式,也使得資訊能以位元的形式進行光速傳播,更使人類得以進行前所未有的大規模協作。而自從 1990 年全球資訊網(World Wide Web)的問世以來,網路已和現代文明生活密不可分。經過近 30 年的發展,人類在網路上製造了巨量的資料,這些資料會揭露使用者的隱私。透過一個人的資料,企業或者政府能夠比你自己更了解你。這促使用戶對隱私的愈發重視 — 正如同你不會允許第三者監聽你的電話,你也不希望有第三者監看你的瀏覽器搜尋歷史。
然而,如今的網路是徹底的中心化,中心化也意謂著過大的權力,有種種跡象顯示:網路正在成為政府當局監控人民的工具。例如:中國的淨網衛士[1]、美國的稜鏡計劃[2]等。那麼,政府應該監控人民嗎?其中一派的人認為平日不做虧心事,半夜不怕鬼敲門,這也就是常見的無所隱瞞論[3]:
我不在乎隱私權,因為我沒什麼好隱瞞的。
不過持有這類論點的人通常會被下面的說法反駁:
既然沒什麼好隱瞞的,那請把你的 Email 帳號密碼給我,讓我揭露其中我認為有趣的部分。
大多數正常人應該都不會接受這個提議。
隱私應當與言論自由一樣,是公民的基本權利。事實上,隱私是一個既廣且深的題目,它涉及了心理學、社會學、倫理學、人類學、資訊科學、密碼學等領域,這裡[4]有更多關於關於隱私的討論以及網路隱私工具的整理。
隱私與區塊鏈
有了網際網路後,接下來人類或許可以透過區塊鏈來建構出一個免除人性且完全仰賴自然法則(數學)運行的去中心化系統。在中心化世界中,我們需要免於政府監控的隱私;在去中心化世界中,我們仍然需要隱私以享有真正的平等。
正如同本文的前言所述:區塊鏈也許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重網路隱私,那麼我們更應該關心區塊鏈是否能更好地保護它。
隱私與匿名
Privacy vs Anonymity [5]
當我們論及隱私時,我們通常是指廣義的隱私:別人不知道你是誰,也不知道你在做什麼。事實上,隱私包含兩個概念:狹義的隱私(Privacy)與匿名(Anonymity)。狹義的隱私就是:別人知道你是誰,但不知道你在做什麼;匿名則是:別人知道你在做什麼,但不知道你是誰。
隱私與匿名對於隱私權來說都很重要,也可以透過不同的方法達成,接下來本文將聚焦於匿名的討論。另外,筆者在接下來的文章中所提及的隱私,指的皆是狹義的隱私。
網路的匿名
以當今的網路架構(TCP/IP 協定組)來說,匿名就是請求端(Requester)向響應端(Responder)請求資源時藏匿其本身的 IP 位址 — 響應端知道請求端在做什麼(索取的資源),但不知道是誰(IP 位置)在做。
IP 位置會揭露個人資訊。在台灣,只需透過 TWNIC 資料庫就可向台灣的網路服務供應商(Internet Service Provider, ISP),例如中華電信,取得某 IP 的註冊者身份及姓名/電話/地址之類的個資。
ISP 是網路基礎建設的部署者與營運者,理論上它能知道關於你在使用網路的所有資訊,只是這些資訊被法律保護起來,並透過公權力保證:政府只在必要時能夠取得這些資訊。萬一政府本身就是資訊的監控者呢?因此,我們需要有在 ISP 能窺知一切的情形下仍能維持匿名的方法。
區塊鏈能保護隱私、維持匿名嗎?
區塊鏈除了其本身運作的上層應用協定之外,還包含了下層網路協定。因此,這個問題可以分為應用層與網路層兩個部分來看 。
應用層
應用層負責實作狀態機複製(State Machine Replication),每個節點收到由共識背書的交易後,便可將交易內容作為轉換函數(Transition Function)於本機執行狀態轉換(State Transition)。
區塊鏈上的交易內容與狀態是應當被保護的隱私,一個保護隱私的直覺是:將所有的交易(Transaction)與狀態(State)加密。然而實際上,幾乎目前所有的主流區塊鏈,包含以太坊,其鏈上的交易及狀態皆為未加密的明文,用戶不僅可以查詢任一地址的交易歷史,還能知道任一地址呼叫某智能合約的次數與參數。也就是說,當今主流區塊鏈並未保護隱私。
雖然區塊鏈上的交易使用假名(Pseudonym),即地址(Address),但由於所有交易及狀態皆為明文,因此任何人都可以對所有假名進行分析並建構出用戶輪廓(User Profile)。更有研究[6]指出有些方法可以解析出假名與 IP 的映射關係(詳見下個段落),一旦 IP 與假名產生關聯,則用戶的每個行為都如同攤在陽光下一般赤裸。
區塊鏈的隱私問題很早便引起研究員的重視,因此目前已有諸多提供隱私保護的區塊鏈被提出,例如運用零知識證明(Zero-knowledge Proof)的 Zcash、運用環簽章(Ring Signature)的 Monero、 運用同態加密(Homomorphic Encryption)的 MimbleWimble 等等。區塊鏈隱私是一個大量涉及密碼學的艱澀主題,本文礙於篇幅不再深入探討,想深入鑽研的讀者不妨造訪台北以太坊社群專欄,其中有若干優質文章討論此一主題。
網路層
節點於應用層產生的共識訊息或交易訊息需透過網路層廣播(Broadcast)到其他節點。由於當今的主流區塊鏈節點皆未採取使網路維持匿名的技術,例如代理(Proxy)、虛擬私人網路(Virtual Private Network, VPN)或下文即將介紹的洋蔥路由(Onion Routing),因此區塊鏈無法使用戶維持匿名 — 因為對收到訊息的節點來說,它既知道廣播節點在做什麼(收到的訊息),也知道廣播節點是誰(訊息的 IP 位置)。
一個常見的問題是:使用假名難道不是匿名嗎?若能找到該假名與特定 IP 的映射關係的話就不是。一般來說,要找到與某假名對應的 IP 相當困難,幾可說是大海撈針,但是至少在下列兩種情況下可以找到對應關係:1. 該假名的用戶自願揭露真實 IP,例如在社群網站公開以太坊地址;2. 區塊鏈網路遭受去匿名化攻擊(Deanonymization Attack)[6]。
洩漏假名與 IP 的關聯會有什麼問題? 除了該 IP 的真實身份可能被揭露外,該區塊鏈節點亦可能遭受流量分析(Traffic Analysis)、服務阻斷(Denial of Service)或者審查(Censorship),可以說是有百害而無一利。
區塊鏈如何維持匿名?
其實上文已給出了能讓區塊鏈維持匿名的線索:現有匿名技術的應用。我們先來進一步理解區塊鏈網路層與深入探討網際網路協定的運作原理。
區塊鏈網路層的運作原理
P2P Overlay Network [7]
區塊鏈是一個對等網路(Peer-to-peer, P2P),而對等網路是一種覆蓋網路(Overlay Network),需建構於實體網路(Physical Network)之上。
覆蓋網路有兩種常見的通訊模式:一種是基於中繼的(Relay-based)通訊,在此通訊模式下的訊息皆有明確的接收端,因而節點會將不屬於自己的訊息中繼(Relay)給下一個可能是接收端的節點,分散式雜湊表(Distributed Hash Table, DHT)就是一種基於中繼的對等網路;另一種是基於廣播的(Broadcast-based)通訊,在此通訊模式下的訊息會被廣播給所有節點,節點會接收所有訊息,並且再度廣播至其他節點,直到網路中所有節點都收到該訊息,區塊鏈網路層就是一種基於廣播的對等網路。
覆蓋網路旨在將實體網路的通訊模式抽象化並於其上組成另一個拓墣(Topology)與路由機制(Routing Mechanism)。然而實際上,實體網路的通訊仍需遵循 TCP/IP 協定組的規範。那麼,實體網路又是如何運作的呢?
網際網路的運作原理
OSI Model vs TCP/IP Model
實體網路即是網際網路,它的發明可以追朔至 Robert Kahn 和 Vinton Cerf 於1974 年共同發表的原型[12],該原型經過數年的迭代後演變成我們當今使用的 TCP/IP 協定組[8]。全球資訊網(WWW)的發明更進一步驅使各國的 ISP 建立基於 TCP/IP 協定組的網路基礎建設。網際網路在多個國家經過近 30 年的部署後逐漸發展成今日的規模,成為邏輯上全球最巨大的單一網路。
1984 年,國際標準化組織(ISO)也發表了 OSI 概念模型[9],雖然較 TCP/IP 協定組晚了 10 年,但是 OSI 模型為日後可能出現的新協定提供了良好的理論框架,並且與 TCP/IP 協定組四層協定之間有映射關係,能夠很好地描述既存的 TCP/IP 協定組。
TCP/IP 協定組的各層各有不同的協定,且各層之間的運作細節是抽象的,究竟這樣一個龐大複雜的系統是如何運作的呢?
Packet Traveling [10][11]
事實上,封包的傳送正如同寄送包裹。例如筆者從台北寄一箱書到舊金山,假設每個包裹只能放若干本書,這箱書將分成多個包裹寄送,每個包裹需註明寄件地址、收件地址、收件者。寄送流程從郵局開始,一路經過台北物流中心 → 北台灣物流中心 → 基隆港 → 洛杉磯港 → 北加州物流中心 → 舊金山物流中心 → 收件者住處,最後由收件者收取。
這如同從 IP 位於台北的設備連上 IP 位於舊金山的網站,資料將被切分成多個固定大小的封包(Packet)之後個別帶上請求端 IP、響應端 IP 及其他必要資訊,接著便從最近的路由器(Router)出發,一路送至位於舊金山的伺服器(Server)。
每個包裹上的收件地址也如同 IP 位置,是全球唯一的位置識別。包裹的收件地址中除了包含收件者的所在城市、街道,還包含了門號,每個門號後都住著不同的收件者。門號正如同封包中後綴於 IP 的連接埠(Port),而住在不同門號的收件者也如同使用不同連接埠的應用程式(Application),分別在等待屬於他們的包裹。實際上,特定的連接埠會被分配給特定的應用程式,例如 Email 使用連接埠 25、HTTPS 使用連接埠 443 等等。
雖然包裹的最終目的地是收件地址,但包裹在運送途中也會有數個短程目的地 — 也就是各地的物流中心。包裹在各個物流中心之間移動,例如從北部物流中心到基隆港,再從基隆港到洛杉磯港,雖然其短程目的地會不斷改變,但其最終目的地會保持不變。
封包的最終目的地稱為端點(End),短程目的地稱為轉跳(Hop) — 也就是路由器(Router)。路由器能將封包從一個網段送至另一個網段,直到封包抵達其端點 IP 所在的網段為止。封包使用兩種定址方法:以 IP 表示端點的位置,而以 MAC 表示路由器的位置。這種從轉跳至轉跳(From Hop to Hop)的通訊是屬於 TCP/IP 協定組第一層:網路存取層(Network Access Layer)的協定。
那麼要如何決定包裹的下一個短程目的地呢?理論上,每個物流中心皆需選擇與最終目的地物理距離最短的物流中心作為下一個短期目的地。例如對寄到舊金山的包裹來說,位於基隆港的包裹下一站應該是洛杉磯港,而不是上海港。
封包則使用路由器中的路由表(Routing Table)來決定下一個轉跳位置,有數種不同的路由協定,例如 RIP / IGRP 等,可以進行路由表的更新。從端點到端點(From End to End)的通訊正是屬於 TCP/IP 協定組第二層:網際層(Internet Layer)的協定。
若一箱書需要分多次寄送,則可以採取不同的寄送策略。至於選擇何種寄送策略,則端看包裹內容物的屬性:
求穩定的策略:每個包裹都會有個序號,寄包裹前要先寫一封信通知收件者,收件者於收到信後需回信確認,寄件者收到確認信後“再”寫一次信告訴收件者「我收到了你的確認」,然後才能寄出包裹。收件者收到包裹後也需回確認信給寄件者,如果寄件者沒收到某序號包裹的回信,則會重寄該包裹。
求效率的策略:連續寄出所有的包裹,收件者不需回信確認。
橫跨多個封包的通訊是屬於 TCP/IP 協定組第三層:傳輸層(Transport Layer)的協定。這兩種策略也對應著傳輸層的兩個主要協定:TCP 與 UDP。TCP 注重穩定,它要求端點於傳送封包前必須先進行三向交握(Three-way Handshake),也就是確認彼此的確認,以建立穩固的連線,且端點在接收封包後也會回傳確認訊息,以確保沒有任何一個封包被遺失;反之,UDP 注重效率,它不要求端點在通訊前進行繁瑣的確認,而是直接傳送封包。
包裹本身亦可以裝載任何內容:這箱書可以是一套金庸全集,也可以是一年份的交換日記;同理,封包內的資料也可以是來自任何上層協定的內容,例如 HTTPS / SMTP / SSH / FTP 等等。這些上層協定都被歸類為 TCP/IP 協定組第四層:應用層(Application Layer)的協定。
維持匿名的技術
區塊鏈仰賴於實體網路傳送訊息,欲使區塊鏈網路層維持匿名,則需使實體網路維持匿名。那麼實體網路如何匿名呢? 若以寄包裹的例子來看,維持匿名,也就是不要讓收件者知道寄件地址。
一個直覺的思路是:先將包裹寄給某個中介(Intermediary),再由中介寄給收件者。如此收件者看到的寄件地址將會是中介的地址,而非原寄件者的地址 — 這也就是代理(Proxy)以及 VPN 等匿名技術所採取的作法。
不過這個作法的風險在於:寄件者必須選擇一個守口如瓶、值得信賴的中介。由於中介同時知道寄件地址與收件地址,倘若中介將寄件地址告知收件人,則寄件者的匿名性蕩然無存。
有沒有辦法可以避免使單一中介毀壞匿名性呢?一個中介不夠,那用兩個、三個、甚至多個呢?這便是洋蔥路由的基本思路。由於沒有任何一個中介同時知道寄件地址與收件地址,因此想破壞寄件者匿名性將變得更困難。
洋蔥路由與 Tor
洋蔥路由(Onion Routing)最初是為了保護美國政府情報通訊而開發的協定,後來卻因為其能幫助平民抵抗政府監控而變得世界聞名。
1997 年,Michael G. Reed、Paul F. Syverson 和 David M. Goldschlag 於美國海軍研究實驗室首先發明了洋蔥路由[13],而 Roger Dingledine 和 Nick Mathewson 於美國國防高等研究計劃署(DARPA)緊接著開始著手開發 Tor,第一版 Tor 於 2003 年釋出[14]。2004 年,美國海軍研究實驗室以自由軟體授權條款開放了 Tor 原始碼。此後,Tor 開始接受電子前哨基金會(Electronic Frontier Foundation)的資助;2006年,非營利組織「Tor 專案小組」(The Tor Project)成立,負責維護 Tor 直至今日。
Tor [15]是洋蔥路由的實作,它除了改進原始設計中的缺陷,例如線路(Circuit)的建立機制,也加入若干原始設計中沒有的部分,例如目錄伺服器(Directory Server)與洋蔥服務(Onion Service),使系統更強健且具有更高的匿名性。
Tor 自 2004 年上線至今已有超過 7000 個由志願者部署的節點,已然是一個強大的匿名工具。然而這也使其成為雙面刃:一方面它可以幫助吹哨者揭露不法、對抗監控;另一方面它也助長了販毒、走私等犯罪活動。但不論如何,其技術本身的精巧,才是本文所關注的重點。
Tor 的運作原理
Tor Overview [16]
Tor 是基於中繼的(Relay-based)覆蓋網路。Tor 的基本思路是:利用多個節點轉送封包,並且透過密碼學保證每個節點僅有局部資訊,沒有全局資訊,例如:每個節點皆無法同時得知請求端與響應端的 IP,也無法解析線路的完整組成。
Tor 節點也稱為洋蔥路由器(Onion Router),封包皆需透過由節點組成的線路(Circuit)傳送。要注意的是,Tor 線路僅是覆蓋網路中的路徑,並非實體網路的線路。每條線路皆由 3 個節點組成,請求端首先會與 3 個節點建立線路並分別與每個節點交換線路密鑰(Circuit Key)。
請求端會使用其擁有的 3 組線路密鑰對每個送出的封包進行 3 層加密,且最內層密文需用出口節點的密鑰、最外層密文需用入口節點的密鑰,如此才能確保線路上的節點都只能解開封包中屬於該節點的密文。被加密後的封包被稱為洋蔥,因其如洋蔥般可以被一層一層剝開,這就是洋蔥路由這個名稱的由來。
封包經過線路抵達出口節點後,便會由出口節點送往真正的響應端。同樣的線路也會被用於由響應端回傳的封包,只是這一次節點會將每個送來的封包加密後再回傳給上一個節點,如此請求端收到的封包就會仍是一顆多層加密的洋蔥。
那麼,請求端該選擇哪些節點來組成線路呢?Tor 引入了目錄伺服器(Directory Server)此一設計。目錄伺服器會列出 Tor 網路中所有可用的節點[17],請求端可以透過目錄伺服器選擇可用的洋蔥路由器以建立線路。目前 Tor 網路中有 9 個分別由不同組織維護的目錄,中心化的程度相當高,這也成為 Tor 安全上的隱憂。
Tor 線路的建立機制
Tor Circuit Construction [18]
Tor 是如何建立線路的呢?如上圖所示,Tor 運用伸縮(Telescoping)的策略來建立線路,從第一個節點開始,逐次推進到第三個節點。首先,請求端與第一個節點進行交握(Handshake)並使用橢圓曲線迪菲 — 赫爾曼密鑰交換(Elliptic Curve Diffie–Hellman key Exchange, ECDH)協定來進行線路密鑰的交換。
為了維持匿名,請求端接著再透過第一個節點向第二個節點交握。與第二個節點交換密鑰後,請求端再透過第一、二個節點向第三個節點交握與交換密鑰,如此慢慢地延伸線路直至其完全建立。線路建立後,請求端便能透過線路與響應端進行 TCP 連線,若順利連接,便可以開始透過線路傳送封包。
洋蔥服務
Clearnet, Deepweb and Darknet [21]
洋蔥服務(Onion Service)/ 隱藏服務(Hidden Service)是暗網(Darknet)的一部分,是一種必須使用特殊軟體,例如 Tor,才能造訪的服務;與暗網相對的是明網(Clearnet),表示可以被搜尋引擎索引的各種服務;深網(Deep Web)則是指未被索引的服務,這些服務不需要特殊軟體也能造訪,與暗網不同。
當透過 Tor 使用洋蔥服務時,請求端與響應端都將不會知道彼此的 IP,只有被響應端選定的節點:介紹點(Introduction Point)會引領請求端至另一個節點:會面點(Rendezvous Point),兩端再分別與會面點建立線路以進行通訊。也就是說,請求端的封包必須經過 6 個節點的轉送才能送往響應端,而所有的資料也會採取端對端加密(End-to-end Encryption),安全強度非常高。
洋蔥服務及暗網是一個令人興奮的主題,礙於篇幅,筆者將另撰文闡述。
混合網路、大蒜路由與洋蔥路由
這裡再接著介紹兩個與洋蔥路由系出同源的匿名技術:混合網路與大蒜路由。
Mix Network Overview [22]
混合網路(Mix Network)早在 1981 年就由 David Chaum 發明出來了[23],可以說是匿名技術的始祖。
洋蔥路由的安全性奠基於「攻擊者無法獲得全局資訊」的假設[24],然而一旦有攻擊者具有監控多個 ISP 流量的能力,則攻擊者仍然可以獲知線路的組成,並對其進行流量分析;混合網路則不僅會混合線路節點,還會混合來自不同節點的訊息,就算攻擊者可以監控全球 ISP 的流量,混合網路也能保證維持匿名性。
然而高安全性的代價就是高延遲(Latency),這導致混合網路無法被大規模應用,或許洋蔥路由的設計是一種為了實現低延遲的妥協。
Garlic Routing Overview [25]
混合網路啟發了洋蔥路由,洋蔥路由也啟發了大蒜路由。2003年上線的 I2P(Invisible Internet Project)便是基於大蒜路由(Garlic Routing)的開源軟體,可以視為是去中心化版的 Tor。幾乎所有大蒜路由中的組件,在洋蔥路由中都有對應的概念:例如大蒜路由的隧道(Tunnel)即是洋蔥路由的線路;I2P 的網路資料庫(NetDB)即是 Tor 的目錄;I2P中的匿名服務(Eepsite)即是 Tor 的洋蔥服務。
不過,大蒜路由也有其創新之處:它允許多個封包共用隧道以節省建立隧道的成本,且其使用的網路資料庫實際上是一個分散式雜湊表(DHT),這使 I2P 的運作徹底去中心化。若想進一步理解 DHT 的運作原理,可以參考筆者之前所撰寫的文章:
連Ethereum都在用!用一個例子徹底理解DHT
I2P 最大的詬病就是連線速度太慢,一個缺乏激勵的去中心化網路恐怕很難吸引足夠的節點願意持續貢獻頻寬與電費。
區塊鏈與洋蔥路由
那麼,基於實體網路的區塊鏈能不能使用洋蔥路由或大蒜路由/混合網路/其他技術,以維持節點的匿名?答案是肯定的。事實上,目前已經出現數個專案與提案:
全新的專案
Dusk:實作大蒜路由的區塊鏈[32],不過官方已宣布因其影響網路效能而暫停開發此功能。
cMix:透過預先計算(Precomputation)以實現低延遲的混合網路[33],是混合網路發明者 David Chaum 近期的研究,值得期待。
Loki:結合 Monero 與 Tor/I2P 的區塊鏈 [34],並使用代幣激勵節點貢獻頻寬與電力,由其白皮書可以看出發明者對於匿名技術的熱愛與信仰。
於主流區塊鏈的提案
比特幣:全世界第一條區塊鏈,將於其網路使用一個不同於洋蔥路由的匿名技術:Dandelion++[30][31],該匿名技術因其訊息傳播路徑的形狀類似浦公英而得其名。
閃電網路(Lightning Network):知名的比特幣第二層方案,將於其網路內實作洋蔥路由[27]。
Monero:使用環簽章保護用戶隱私的區塊鏈,將於其網路內實作大蒜路由,已開發出 Kovri[28] 並成為 I2P 官方認可的客戶端之一[29]。
於以太坊的提案
2018 年 12 月,Mustafa Al-Bassam 於以太坊官方研究論壇提議利用洋蔥路由改進輕節點之資料可得性(Light Client Data Availability)[36]。若讀者想了解更多關於以太坊輕節點的研究,可以參考台北以太坊社群專欄的這篇文章。資料可得性是輕節點實現的關鍵,而這之中更關鍵的是:如何向第三方證明全節點的資料可得性?由於這個提案巧妙地運用了洋蔥路由的特性,因此在今年 7 月在另一則討論中,Vitalik 亦強烈建議應儘速使洋蔥路由成為以太坊的標準[35]。
在這個提案中,輕節點需建立洋蔥路由線路,然而線路節點並非由目錄中挑選,而是由前一個節點的可驗證隨機函數(Verifiable Random Function, VRF)決定。例如線路中的第二個節點需由第一個節點的 VRF 決定。線路建立後,出口節點便可以接著向全節點請求特定的可驗證資料。由於輕節點在過程中維持匿名,因此可以防止全節點對輕節點的審查(Censoring)。取得可驗證資料後,其便與 VRF 證明沿著原線路傳回輕節點,輕節點再將可驗證資料與 VRF 證明提交至合約由第三方驗證。若第三方驗證正確,則資料可得性得證。
結語
隱私與匿名是自由的最後一道防線,我們應該盡可能地捍衛它,不論是透過本文介紹的匿名技術或者其他方式。然而,一個能保護隱私與維持匿名的區塊鏈是否能實現真正的去中心化?這是一個值得深思的問題。
本文也是筆者研究區塊鏈至今跨度最廣的一篇文章,希望讀者能如我一樣享受這段令人驚奇又興奮的探索旅程。
參考資料
[1] Jingwang Weishi, Wikipedia
[2] PRISM, Wikipedia
[3] privacytools.io
[4] Nothing-to-hide Argument, Wikipedia
[5] Anonymity vs Privacy vs Security
[6] Deanonymisation of Clients in Bitcoin P2P Network, Alex Biryukov, Dmitry Khovratovich, Ivan Pustogarov, 2014
[7] Example: P2P system topology
[8] Internet protocol suite, Wikipedia
[9] OSI model, Wikipedia
[10] Packet Traveling: OSI Model
[11] Packet Traveling — How Packets Move Through a Network
[12] A Protocol for Packet Network Intercommunication, VINTON G. CERF, ROBERT E. KAHN, 1974
[13] Anonymous Connections and Onion Routing, Michael G. Reed, Paul F. Syverson, and David M. Goldschlag, 1998
[14] Tor: The Second-Generation Onion Router, Roger Dingledine, Nick Mathewson, Paul Syverson, 2004
[15] Tor, Wikipedia
[16] What actually is the Darknet?
[17] Tor Network Status
[18] Inside Job: Applying Traffic Analysis to Measure Tor from Within, Rob Jansen, Marc Juarez, Rafa Galvez, Tariq Elahi, Claudia Diaz, 2018
[19] How Does Tor Really Work? The Definitive Visual Guide (2019)
[20] Tor Circuit Construction via Telescoping
[21] The DarkNet and its role in online piracy
[22] Mix network, Wikipedia
[23] Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, David Chaum, 1981
[24] The differences between onion routing and mix networks
[25] Monitoring the I2P network, Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor, 2011
[26] I2P Data Communication System, Bassam Zantout, Ramzi A. Haraty, 2002
[27] BOLT #4: Onion Routing Protocol
[28] Kovri
[29] Alternative I2P clients
[30] Bitcoin BIP-0156
[31] Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees, Giulia Fanti, Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath, 2018
[32] The Dusk Network Whitepaper, Toghrul Maharramov, Dmitry Khovratovich, Emanuele Francioni, Fulvio Venturelli, 2019
[33] cMix: Mixing with Minimal Real-Time Asymmetric Cryptographic Operations, David Chaum, Debajyoti Das, Farid Javani, Aniket Kate, Anna Krasnova, Joeri De Ruiter, Alan T. Sherman, 2017
[34] Loki: Private transactions, decentralised communication, Kee Jefferys, Simon Harman, Johnathan Ross, Paul McLean, 2018
[35] Open Research Questions For Phases 0 to 2
[36] Towards on-chain non-interactive data availability proofs
隱私、區塊鏈與洋蔥路由 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
kahn 1990 在 BLV Anh Quân Youtube 的精選貼文
FOOTBALL EXTRA | BÓNG ĐÁ LUÔN ĐẸP VÌ NHỮNG KHOẢNH KHẮC NÀY
LINK SUBSCRIBE : http://bit.ly/anhquanblv
------------------------------
Đừng quên theo dõi BLV Anh Quân trên:
• Youtube: www.youtube.com/c/BLVAnhQuan
• Instagram: www.instagram.com/BLVAnhQuan
Gmail : blvanhquan@gmail.com
----------------------------------------------------------------
© Bản quyền thuộc về BLV Anh Quân
© Do not Reup.
#BLVAnhQuan #Respectinfootball #fairplay #Footballisbeauty #respect #klose #kloselazio #klosehandgoal #abidal #abidalrespect #abidalcancer #realmadridabidal #lotharmattahus #matthausgermany #worldcup1990 #oliverkahn #kahn2001 #oliverkahnrespect #aaronthunt #aaronthuntpenalty #huntfairplay #irandenmark #mortenwieghorstfairplay #Dicanio #dicanioredcard #dicaniowestham #marcelobielsa #bielsafairplay #leedsunited #leedsunitedfairplay #binhluanbongda #tintucbongda