[爆卦]比喻情況愈來愈好是什麼?優點缺點精華區懶人包

雖然這篇比喻情況愈來愈好鄉民發文沒有被收入到精華區:在比喻情況愈來愈好這個話題中,我們另外找到其它相關的精選爆讚文章

在 比喻情況愈來愈好產品中有28篇Facebook貼文,粉絲數超過1萬的網紅大詩人的寂寞投資筆記,也在其Facebook貼文中提到, 「錯誤觀念1:必須把所有東西記起來。→如果你是為了工作而學,不用背下全部,只要記住「一行」就夠。 錯誤觀念2:努力學習就是把所有知識塞進大腦。→想要學以致用,就要有輸入是為了產出的觀念。 錯誤觀念3:學習是為了自己。→如果你學東西是為了運用在工作上,那你其實是為了他人而學。」 「那些無法將書中...

 同時也有1部Youtube影片,追蹤數超過2萬的網紅Passion Music,也在其Youtube影片中提到,《點揀》為Boyz Reborn第八首原創歌曲,內容是有關香港社會的發展日漸變得單一化,市民居於此選擇變得愈來愈少,歌曲以揀橙為比喻,表達百姓小至衣食住行、大事至政制發展、普選、社會發展等議題也欠缺自由度和開放選擇的情況。 Facebook專頁: https://www.facebook.com/...

比喻情況愈來愈好 在 常受 Instagram 的最佳解答

2021-09-16 10:34:01

有個很重要的問題我還沒有討論。 成為首富之後,馬斯克贏了嗎?貝佐斯輸了嗎? 巴菲特和比爾蓋茲都是老窮光蛋嗎? (Peter Thiel又是誰⋯繼續看下去) 遊戲規則 — 就是你定義成功的標準。 如何定義輸贏?如何定義成功? 這種討論下,用任何標準來定義我輸你贏,都是完全不合理的。每個人過的生活...

比喻情況愈來愈好 在 法鼓山 Instagram 的最讚貼文

2021-08-03 08:46:54

【聖嚴法師開示精選】我們都是相互依存的地球細胞​ ​ 「地球村」的觀念,大約是在上一世紀末被提出來。那是由於交通工具發達與網路資訊便捷,使得空間感縮小了、時間感縮短了,處身千萬里外,也能隨時互相交談。人們可以在極短時間內,知道世界各地剛才發生的事,感覺上不論居住在地球的哪一個地方,就好像是住在同一個...

比喻情況愈來愈好 在 手繪 ♡ HK | A drawing cat ? Instagram 的最讚貼文

2020-08-10 20:57:28

電影分享/ 金都 Prince Edward 「如果我唔鍾意佢都同佢結婚,算唔算假結婚?」#movieloverptyy 今日聽到樓上定唔知樓下好大聲咁鬧交,個叔叔好激動,爆晒粗同佢老婆不停嘈呀嘈,佢不停重複「我話你知我忍得好L辛苦呀!」、「離婚囉!」,嗰下就決定要抄返手機一早打好嘅電影觀後感落本...

  • 比喻情況愈來愈好 在 大詩人的寂寞投資筆記 Facebook 的最佳貼文

    2021-09-02 13:51:24
    有 99 人按讚

    「錯誤觀念1:必須把所有東西記起來。→如果你是為了工作而學,不用背下全部,只要記住「一行」就夠。

    錯誤觀念2:努力學習就是把所有知識塞進大腦。→想要學以致用,就要有輸入是為了產出的觀念。

    錯誤觀念3:學習是為了自己。→如果你學東西是為了運用在工作上,那你其實是為了他人而學。」

    「那些無法將書中內容活用在工作上的人,大部分都沒有明確的閱讀目的。上課時,我經常問我的學員:「你為什麼讀這本書?」,「你為什麼報名我的課?」

    然而,大部分的人都無法給出明確答案。絕大多數的讀者都是隨便買本書,隨便讀讀,然後隨便滿足。這就是第一章不斷提到的消費型學習。

    你準備好為這種學習方式畫上終止符了嗎?關鍵就在於行動的第一步:釐清自己閱讀目的並寫出來。

    那麼,要怎麼培養釐清目的的習慣呢?正如瑞普立在書中所說的,平時的訓練非常重要。因此不斷練習書寫「二十字濃縮表」可幫助你達到釐清閱讀目的的效果。」

    「我都是抱著有人問我時,我要怎麼說他才聽得懂的心態在理解。這句話令我畢生難忘,一生受用。這句話總共超過了二十八個字,所以我簡化成:理解=能夠說給別人聽。你能夠體會這句話的意義嗎?絕大多數人的心態都是,理解=自己懂就好。我一把這種觀念稱為「我好就好型」。

    當然,這裡不是要各位實際去說給別人聽,而是建立產出型的工作觀念。「將輸入與產出結合,可濃縮成:學習=思考整理到足以對他人說明。」

    「如果你工作只追求我好就好,學習也完全不為客戶或周遭同事著想,那麼不管你學習什麼,都是以自我為出發點,缺少一個貢獻對象=周遭人=他人。這種情況下,你就不是為了工作需求而學習,所以無論學習了多少東西,都不會用。要比喻的話,就像在大腦裡聘僱了大量的冗員。

    相對的,當你抱持貢獻他人的心態在工作,自然就會知道別人遇到了什麼問題,有什麼需求。他們的問題與需求能為你指引學習的方向,進一步知道自一己該讀什麼書,該買哪些教材,該參加什麼樣的課程。

    之後你只要運用所學,滿足周遭人的需求,即可完成一條貢獻生產線。隨一著貢獻日益漸增,你會發現自己的職位愈來愈高,薪水也愈來愈高。還記得前面提到的這句話嗎?決定你的升遷和薪水的是別人,不是你自己。」

    「職員是領公司的薪水過活,與創業家的身分不同。對創業家而言,讓周遭人輕鬆,具有更重要的商業意義。說得極端一點,只有讓周遭人輕鬆,才能獲取等價報酬(金錢)。這也是為什麼單靠一個人的力量,沒辦法提升業績的最重要原因。

    唯有解決周遭人的問題,實現周遭人的願望,才能夠創造業績。只有一個-人是做不成生意的。根據《中小企業白皮書》的統計,有四成公司在成立後一年便關門大吉,十名創業者中只有一人能在商場上撐過十年。想要創業,就得面臨這血淋淋的現實。

    很多人都跟我一樣,不想被組織束縛,想要擺脫傳統公司的倫理觀念和人際關係,想開創自己的天空。創業需要破釜沉舟的決心,正因為這股對自我實現的渴望,創業者們才能不斷往前衝刺。

    就這一點而言,以自我為出發點並非完全不可取。當初若沒有這股衝勁,我也不會下定決心離開公司自己創業。重點在於創業之後,如果還繼續沉浸在一自我實現的氛圍中無法自拔,是絕對賺不了錢的。

    因為這種我好就夠了的工作觀念,在根柢上缺乏為人奉獻的動機。工作並非自我實現,而是貢獻他人,這一點還請各位銘記在心。

    讓周遭人輕鬆應該從平時做起,從小事著手。隨著頻率和質量的上升,你會發現自己有愈來愈多的機會獲取報酬,且金額不斷攀升。說來慚愧,我一直等到身陷財務危機時,才終於領悟到這個道理。」

    https://www.books.com.tw/products/0010854518

  • 比喻情況愈來愈好 在 Facebook 的最佳解答

    2021-03-21 22:09:53
    有 38 人按讚

    新故事沒看過的讀者,請先由第一回觀看:
    https://bit.ly/3cEOJQS

    ----------------------------

    第四回--用可愛征服人類

    風和日麗的周末,人們都享受著假期的輕鬆,走著走著,途人都為之側目,紛紛回頭觀看拍照,無它的,一頭小橘貓戴著眼鏡,神氣的站在一個男人的肩膀上四處觀看的確拉風。

    兩個可愛的妹妹忍不住過去詢問自己能不能跟小貓合照,謝利已經習慣了,這是今天的第八次,湯姆也高興的擺了一個招財貓的手勢讓妹妹高興得很。

    合照後謝利細聲的問:「其實你可不可以低調一點,像比卡超一樣的站在的肩上,我很尷尬呢,還好我沒有戴紅色帽子。」

    湯姆沒好氣的說:「我說我可以在地上走,你又怕這怕那,說要綁繩,須知本喵不是你的寵物,不容許被人牽著呢,喵!」但湯姆的確很滿意這個位置,因為視線比起地下更加廣闊,看到的東西就更多。

    珍妮沒有理會他們,因為管家皮特也在,為了保護湯姆的安全,它開啟了隱身模式在附近守護著,而珍妮跟皮特也混熟了,兩人正在為烹飪的事交流心得。

    在路上,湯姆也跟謝利交流了文明等級的訊息。

    人類文明為二級,而貓星的文明為四級,暫時湯姆所知宇宙中最高等級的文明為六級,只有邏輯族能到達六級。

    簡單說,一級文明是指種族已發展了一定的社會制度,有智慧和文字語言,文明能得以延續下去不斷發展,就像是公元前的人類已經擁有一級文明;

    二級文明即是現時人類的階段,在一級之上,已經可以開始運用及應用到星球的能源和資源,不論是水能、風能、電能、核能等等,因為能量的運用反映出科學的程度;

    三級文明開始便不單單運用星球的資源和能量,更是可以在星系中自由穿梭,以地球為例,在可以運用到太陽那近乎無窮無盡的能量,在太陽系隨意穿梭的時候,便是三級文明的特徵。

    而湯姆所處於的四級文明,擁有向自己星系以外的星系探索的能力,在近乎無盡的宇宙來說,幾乎便擁有了無限的資源,而四級文明需要面對的是不同文明之間的衝突,貓星步入四級文明時差點便與汪族及鼠族起了糾紛,幸好四級文明之間的糾紛都會由邏輯族去解決,那時候貓星簽定了宇宙大憲法,成為了被認可的四級文明,也停止了紛爭。

    四級文明之間強調不能互相攻擊,因為四級文明對於能量的運用已有相當的了解,一旦發生戰爭,後果極為嚴重,所以四級文明之間衝突的攻擊方會被其餘種族視為公敵,當年蟲族引發的一場大戰,把二十多個星系引進黑洞,而蟲族亦被其他文明聯手消滅,幾乎絕跡。

    四級文明進化為五級文明的種族極少,一至四級運用的是宇宙四大要素中的物質以及能量,其餘兩項分別為空間和時間,五級文明可以在一定的空間展現出絕對的控制力,只有該文明才能在已控制的空間內運用能量,比較出名的種族為神族、魔族、仙族及妖族。

    到最頂尖的六級文明,便是唯一已知的邏輯族,據聞他們掌握了宇宙最難掌握的元素,時間。在不同時期的宇宙中也能看到他們的身影,沒有生物看過他們的實體,但他們卻支配著整個宇宙,只是他們不在意什麼資源和權力,有人猜想他們正在進入第七級文明,而這文明在理論上都不存在,沒有人知道掌握四大元素的下一步是什麼。

    謝利聽到目定口呆,連活在人類的宗教中的神魔仙妖都出現了,還不是最高級的文明,自己有生之年肯定是看不到人類成就四級文明的日子。

    作為一個平凡的人類上班族,他在意的是下一個月發薪金的時刻,還有那尚未被實現的黃金願望,但以故事來聽,那也非常的精彩了。

    湯姆的心情大好,人類這個文明的確是很精彩,雖然在科學方面非常落後,但他們得天獨厚的構造,讓他們在藝術方面比四級文明的貓星更為強大,單單說是唱歌這一方面,聲音是貓族的弱點,他們的聲帶狹窄,所以發出來的聲音都是較尖銳的,湯姆所說的廣東話也有這方面的影響,更不用說是唱歌了,這也是湯姆冒險的原因,不同種族不同文明總能帶給他驚喜。

    一邊走,他們走到了著名的寵物街,這下子讓湯姆沉默下來,看到同為貓的牠們被放在玻璃箱中,細小的環境住了四五頭不同品種的貓,下面標上價錢等待被未知的人買走,然後獨自的渡過一生,這讓湯姆的興奮完全消失。

    珍妮也察覺到湯姆的不對勁,她心想如果自己到了落後地區看到人類被買賣,肯定也會覺得難受,所以便補充說現在很多人也寧願領養而不買寵物,但總需要時間去改變這習慣,而且人類對於貓也是寵愛有加,湯姆聞言才算是放下陰霾,繼續逛街。

    當晚回到家中,湯姆便埋頭在電腦之中整整兩個小時。

    謝利偷看了湯姆正在查閱的東西,大驚跟珍妮說:「牠牠牠在看寵物的資訊,我看到一段貓被關起來不斷生孩子去賣的片段,這下子糟了,妳說牠會不會黑化……到時要消滅人類呢……」

    誰知他剛說完身後便傳來了湯姆的聲音:「呵呵,曾經有獅子在動物園咬死一個挑釁牠的人,然後被人類處死了;又有一頭大象被馴獸師虐待,然後反擊殺了人,又被處死了。你們人類啊,喵,受到其他物種為了生存而作的行為,都滅了對方不少,現在怕了嗎?」

    隨後湯姆便指了指身邊正在拖地的皮特:「這傢伙你看起來很和善吧喵,但它擁有的激光動能,能把這一區的建築物都破壞掉,我的飛船上的小型主炮,這個香港一炮便沒有了,要是我喜歡的話,的確消滅人類只是時間問題,這就是文明差別。」

    收細了瞳孔的湯姆,眼鏡有點反光,細小的身軀卻有可怕的氣牆,謝利嚇得連連後退,珍妮也有點發抖。

    「喵……」湯姆嘆了一口氣擺手道:「你們人類真是以己度人,我們貓族可是熱愛和平的,有能力不等於要做,愈有能力的,便有更多事不會做,我看起來像是這樣的大魔王嗎?喵!哼哼哼,我湯姆家拯救過的種族數之不清,滅過的卻一個都沒有!

    你們放心吧,我只是了解了解情況,不同文明有不同的處理,有時不是不想做,而是不能做到,打個比喻,你們之前想帶我去絕育對吧,你們認為是正確的,因為地球上的貓沒有節制生育概念,也控制不到自己的本能,在基因上也沒有完善,有很多疾病,所以絕育對於你們來說,的確是已經盡力做到最好的事了。

    但如果是我們貓星的文明來說,我們會安排基因改造,把疾病都消除,延長壽命,再讓牠們得到知識,教育牠們生育的壞處,讓牠們節制,這是能力大的做法。

    我們看事情不是看表象,你們在能力範圍內盡最大的努力了,我還要怪你們什麼,只要是心存善念,那便不應被罰,除非你們是有心要折磨其他生物?你們會嗎?喵?」

    謝利和珍妮用力搖頭,他們可是忠誠的貓奴,最大的心願只是平日逗逗貓,主子肯跳上來陪自己看電視,肯讓牠們摸摸毛,吸吸貓便已經滿足了,那有什麼壞心思呢!

    湯姆很滿意兩人誠心誠服的否認:「以後有本喵護著你們,你們的事便是我的事,要是你們願意,我可以把你們帶到貓星居住,那邊的人類最少都有六百年的生命,而且什麼都不缺,但前提是你們必須幫我先做件事……」

    移民?長壽?生活無憂?這不就是謝利和珍妮最希望的事嗎?只是他們沒有能力,現在卻有一個機會放在眼前,可是謝利卻沒多想地拒絕了:「湯姆大人,多謝你的邀請,但我們在這裡生活了一輩子,親人朋友都在,要是我們走了,便要重新接受一切……我想你的好意,我們心領了……我真的是很感謝你!但真的不必了……可是,湯姆大人你的要求,我們也會盡量幫你做到,你儘管說。」

    湯姆細心的打量了一下,對面前兩人刮目相看,的確親情和習慣都很重要,即使牠是個離家出走的孩子,但牠也很多時候會想家,也就不強求了:「好吧,但我說過會照看你們,這是我的承諾,這段時間內,我希望為這星球的貓做一點事,起碼讓牠們比現在好過一點,這需要你們出面去做,我負責計劃。

    初步我希望成立一個流浪貓協會,讓所有流浪貓得到照顧;再之後我會提供技術讓貓的生育改變成一次一頭或兩頭,讓牠們的生育率降低,當然亦歡迎人類領養貓咪,這應該會讓地球上的貓稍為變得幸福。至於買賣貓隻方面的人,我和皮特會直接處理,你們不需要理會,喵,事成之後,給你們的黃金數量翻倍,公平嗎?」

    謝利聽後面有難色的道:「報酬我們先不說,但你說的計劃,需要大量的錢……而我也坦白點,現在我們最缺的就是錢……我們再努力也沒有資金去做這件事啊……單單是接收全香港的流浪貓,也需要一個難以想像大的地方,香港寸金尺土,不要說全部,我們這裡能養三頭也很了不起了……」

    湯姆輕鬆的說:「地方不是問題,我們貓族已經有初步的空間應用技術,我那太空船外面看上來比你們家還小,但裡面的空間是可以改變的,把所有貓都接下來不難。」

    謝利和珍妮雖然沒有湯姆的能力,但作為打工仔的他們,也能分析出老闆的計劃有什麼可行與不可行的地方,老闆說一句易,後面要實行的才難啊。

    「你不是打算把空間技術展示給大家看吧?成千上萬的貓,都住在你太空船的空間內?」謝利質疑道。

    「………」

    「要是不想,我們得租個地方,面積要大,至少能養上幾百頭貓的地方,再把你的飛船放在裡面,偷偷地把貓養在空間內生活,這又是錢啊老闆……」珍妮補充道。

    「………」

    「還有,你想找流浪貓,不是你一聲令下就會自己過來,我們要找人去把流浪貓帶來,車費是錢,人工是錢,如果我們可以找到義工,不算人工,也需要有一個全職的人去記錄和處理吧,這又是錢啊老闆……」謝利看到湯姆默不作聲,說得愈來愈有勁。

    「………」

    「平常起居生活的貓,要去廁所,要換貓砂,要買糧,要有水,一頭貓一個碗,你養一千頭貓便要一千個碗,人換貓砂,要倒糧,要清潔,就要有員工,如果貓生病了,要看醫生,這又是錢啊老闆……」珍妮想得比較仔細,但也是實際會遇到的問題。

    「………」

    「如果有人要來領養,要約時間,要帶牠看,要看看對方的生活條件如何,這要多少人手,總不可能全都是義工吧,如果你想救幾十頭貓是可行的,如果你想救上千頭,這又是錢啊老闆……」謝利接著道,湯姆已經一頭黑線:「既然你們有空間技術……那有沒有什麼四次元口袋之類的,裡面有很多神奇道具的那種……」

    兩人說的愈來愈興奮,而且湯姆跟他老闆一樣,從來不當錢是一回事,到最後說起錢來時,說的都是一樣,沒有錢。

    湯姆感覺到前所未有的挫折感,就像是一個未來穿越到古代時,本想可以大展拳腳,卻被古代人教訓得完全沒有了脾氣。

    兩人一貓就這問題討論了很久可行性,謝利認為湯姆即使有空間技術都不能隨便讓人知道,至少要有個地方作掩飾,那租金便是一個問題,他現在真的身無分文啊,再其次,要抓捕流浪貓,這實在是一個人力問題,要請人便要錢,就算是義工也好,也需要人去協助和統籌,這不是用一個周末去抓幾頭貓,而是要全港,甚至全世界的做,這樣算下去,即使黃金翻倍也不一定能做到。

    對於一個技術宅的湯姆來說,他心中有很多方法,但地球沒有貓星的機械化智能化,這些東西在母星上幾乎一句話便能讓納米機械人代勞,但地球沒有,而且湯姆的確很忌諱人類政府,始終不知道人類跟其他外星文明的接觸如何,要是涉及政府的話,事情便會變得難辦。

    良久,湯姆在心中不停的為自己做心理輔導,終於牠眼神變得無奈道:「那我們先來賺錢吧!」

    但旁邊兩人用很淡然的目光問:「如何賺錢啊?你終於肯拿出神奇道具了嗎多啦……」

    「不要再叫我多啦什麼,我知道你說的是什麼!這不好笑啊!我也想可以從口袋拿出道具解決一切問題啊喵!可是,我只是一頭貓,一頭比較聰明的貓!但我可不是什麼多啦什麼!!!!!!」湯姆無奈並憤怒的說,牠早幾天已經看過那頭機械貓的漫畫,看得津津有味,裡面說的冒險就是牠嚮往的生活呢。

    「那湯姆大人有什麼賺錢大計呢?我們聽著。」謝利和珍妮熱烈的眼神看得湯姆很不自在。

    「沒有……」湯姆氣餒的說:「給我一點時間我想想行嗎?」

    珍妮在謝利耳邊說了一番話,然後謝利傻笑了好久,再跟珍妮兩人竊竊私語的說了很久。

    最後兩人用一種充滿善意的眼神看向湯姆,但兩人面上帶著的笑容卻看得湯姆內心發麻:「方法嘛,我們有,可是可能要委屈你一下了……」

    湯姆一步步的後退,牠差點就要叫皮特來保護自己。

    兩人慢慢的道出了計劃,聽罷後,湯姆大叫不行,這簡直是一種恥辱!作為尊貴的貓星貴族,怎可淪落至此!

    但謝利卻冷漠道:「作為平凡的人類,我們能想出的辦法就只有剛才說的,要是不行,那湯姆大人你便自己想好了……」

    思考了好一會,湯姆的為了不洩露自己的身份,很多方法也行不通,最後牠終於下了決定,雙眼變得閃閃發亮:「我現在是一頭眼中只有錢的貓了~喵~~來吧,行動代號,用可愛征服人類!!!!」

    ---------------------

    作者的話:

    希望喜歡的讀者留言like share!

    下一回:星期二晚上十點左右更新!

    延伸閱讀:

    小說《老婆最後的十二個難題》生者與逝者永別的交流【全本完】
    第一回傳送門:http://bit.ly/37UXIw5

    小說《弊傢伙,我女朋友有咗》結婚與生育的準備和考驗【全本完】
    第一回傳送門:https://bit.ly/38gDQU8

    小說《尋貓啟示》貓星人被人類俘虜的輕鬆故事【連載中】
    第一回傳送門:https://bit.ly/3cEOJQS

  • 比喻情況愈來愈好 在 Taipei Ethereum Meetup Facebook 的最佳貼文

    2020-12-26 15:57:24
    有 2 人按讚

    📜 [專欄新文章] [ZKP 讀書會] Trust Token Browser API
    ✍️ Yuren Ju
    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    Trust Token API 是一個正在標準化的瀏覽器 API,主要的目的是在保護隱私的前提下提供跨站授權 (Cross-domain authorization) 的功能,以前如果需要跨站追蹤或授權通常都使用有隱私疑慮的 Cookies 機制,而 Trust Token 則是希望在保護隱私的前提下完成相同的功能。

    會在 ZKP (Zero-knowledge proof) 讀書會研究 Trust Token 主要是這個 API 採用了零知識證明來保護隱私,這也是這次讀書會中少見跟區塊鏈無關的零知識證明應用。

    問題

    大家應該都有點了一個產品的網頁後,很快的就在 Facebook 或是 Google 上面看到相關的廣告。但是產品網頁並不是在 Facebook 上面,他怎麼會知道我看了這個產品的頁面?

    通常這都是透過 Cookie 來做跨網站追蹤來記錄你在網路上的瀏覽行為。以 Facebook 為例。

    當使用者登入 Facebook 之後,Facebook 會透過 Cookie 放一段識別碼在瀏覽器裡面,當使用者造訪了有安裝 Facebook SDK 來提供「讚」功能的網頁時,瀏覽器在載入 SDK 時會再度夾帶這個識別碼,此時 Facebook 就會知道你造訪了特定的網頁並且記錄下來了。如此一來再搭配其他不同管道的追蹤方式,Facebook 就可以建構出特定使用者在網路上瀏覽的軌跡,從你的瀏覽紀錄推敲喜好,餵給你 Facebook 最想給你看的廣告了。

    不過跨站追蹤也不是只能用在廣告這樣的應用上,像是 CDN (Content Delivery Network) 也是一個應用場景。CDN 服務 Cloudflare 提供服務的同時會利用 Captcha 先來確定進入網站的是不是真人或是機器人。而他希望使用者如果是真人時下次造訪同時也是採用 Cloudflare 服務的網站不要再跳出 Captcha 驗證訊息。

    雖然 Cloudflare 也需要跨站驗證的功能來完成他們的服務,但是相較於 Google 或 Facebook 來說他們是比較沒那麼想知道使用者的隱私。有沒有什麼辦法可以保護使用者隱私的狀況下還能完成跨站驗證呢?

    這就是今天要講的新 API: Trust Token。

    Trust Token API - The Chromium Projects

    Trust Token / Privacy Pass 簡介

    Trust Token 其實是由 Privacy Pass 延伸而來。Privacy Pass 就是由 Cloudflare 所開發的實驗性瀏覽器延伸套件實作一個驗證機制,可以在不透漏過多使用者隱私的前提下實作跨站驗證。而 Trust Token 則是標準化的 Privacy Pass,所以兩個運作機制類似,但是實作方式稍有不同。

    先看一下 Privacy Pass 是如何使用。因為這是實驗性的瀏覽器延伸套件所以看起來有點陽春,不過大致上還是可以了解整個概念。

    以 hCaptcha 跟 Cloudflare 的應用為例,使用者第一次進到由 Cloudflare 提供服務的網站時,網站會跳出一些人類才可以解答的問題比如說「挑出以下是汽車的圖片」。

    當使用者答對問題後,Cloudflare 會回傳若干組 blind token,這些 blind token 還會需要經過 unblind 後才會變成真正可以使用的 token,這個過程為 issue token。如上圖所示假設使用者這次驗證拿到了 30 個 token,在每次造訪由 Cloudflare 服務的網站時就會用掉一個 token,這個步驟稱為 redeem token。

    但這個機制最重要的地方在於 Cloudflare 並無法把 issue token 跟 redeem token 這兩個階段的使用者連結在一起,也就是說如果 Alice, Bob 跟 Chris 都曾經通過 Captcha 測試並且獲得了 Token,但是在後續瀏覽不同網站時把 token 兌換掉時,Clouldflare 並無法區分哪個 token 是來自 Bob,哪個 token 是來自 Alice,但是只要持有這種 token 就代表持有者已經通過了 Captcha 的挑戰證明為真人。

    但這樣的機制要怎麼完成呢?以下我們會透過多個步驟的例子來解釋如何達成這個目的。不過在那之前我們要先講一下 Privacy Pass 所用到的零知識證明。

    零知識證明 (Zero-knowledge proof)

    零知識證明是一種方法在不揭露某個祕密的狀態下,證明他自己知道那個秘密。

    Rahil Arora 在 stackexchange 上寫的比喻我覺得是相對好理解的,下面簡單的翻譯一下:

    假設 Alice 有超能力可以幾秒內算出樹木上面有幾片樹葉,如何在不告訴 Bob 超能力是怎麼運作並且也不告訴 Bob 有多少片葉子的狀況下證明 Alice 有超能力?我們可以設計一個流程來證明這件事情。

    Alice 先把眼睛閉起來,請 Bob 選擇拿掉樹上的一片葉子或不拿掉。當 Alice 睜開眼睛的時候,告訴 Bob 他有沒有拿掉葉子。如果一次正確的話確實有可能是 Alice 幸運猜到,但是如果這個過程連續很多次時 Alice 真的擁有數葉子的超能力的機率就愈來愈高。

    而零知識證明的原理大致上就是這樣,你可以用一個流程來證明你知道某個秘密,即使你不真的揭露這個秘密到底是什麼,以上面的例子來說,這個秘密就是超能力運作的方式。

    以上就是零知識證明的概念,不過要完成零知識證明有很多各式各樣的方式,今天我們要介紹的是 Trust Token 所使用的零知識證明:DLEQ。

    DLEQ (Discrete Logarithm Equivalence Proof)

    說明一下以下如果小寫的變數如 c, s 都是純量 (Scalar),如果是大寫如 G, H則是橢圓曲線上面的點 (Point),如果是 vG 則一樣是點,計算方式則是 G 連續相加 v 次,這跟一般的乘法不同,有興趣可以程式前沿的《橢圓曲線加密演算法》一文解釋得比較詳細。

    DLEQ 有一個前提,在系統中的所有人都知道公開的 G 跟 H 兩個點,此時以下等式會成立:

    假設 Peggy 擁有一個秘密 s 要向 Victor 證明他知道 s 為何,並且在這個過程中不揭露 s 真正的數值,此時 Victor 可以產生一個隨機數 c 傳送給 Peggy,而 Peggy 則會再產生一個隨機數 v 並且產生 r,並且附上 vG, vH, sG, sH:

    r = v - cs

    所以 Victor 會得到 r, sG, sH, vG, vH 再加上他已經知道的 G, H。這個時候如果 Victor 計算出以下兩個等式就代表 Peggy 知道 s 的真正數值:

    vG = rG + c(sG)vH = rH + c(sH)

    我們舉第二個等式作為例子化簡:

    vH = rH + c(sH) // 把 r 展開成 v - csvH = (v - cs)H + c(sH) // (v - cs)H 展開成 vH - csHvH = vH - c(sH) + c(sH) // 正負 c(sH) 消掉vH = vH

    這樣只有 Peggy 知道 s 的狀況下才能給出 r,所以這樣就可以證明 Peggy 確實知道 s。

    從簡易到實際的情境

    Privacy Pass 網站上透過了循序漸進的七種情境從最簡單的假設到最後面實際使用的情境來講解整個機制是怎麼運作的。本文也用相同的方式來解釋各種情境,不過前面的例子就會相對比較天真一點,就請大家一步步的往下看。

    基本上整個過程是透過一種叫做 Blind Signature 的方式搭配上零知識證明完成的,以下參與的角色分為 Client 與 Server,並且都會有兩個階段 issue 與 redeem token。

    Scenario 1

    如果我們要設計一個這樣可以兌換 token 來確認身分的系統,其中有一個方法是透過橢圓曲線 (elliptic curve) 完成。Client 挑選一個在橢圓曲線上的點 T 並且傳送給 Server,Server 收到後透過一個只有 Server 知道的純量 (scalar) s 對 T 運算後得到 sT 並且回傳給 Client,這個產生 sT 的過程稱為 Sign Point,不過實際上運作的原理就是橢圓曲線上的連續加法運算。

    SignPoint(T, s) => sT

    等到 Client 需要兌換時只要把 T 跟 sT 給 Server,Server 可以收到 T 的時候再 Sign Point 一次看看是不是 sT 就知道是否曾經 issue 過這個 token。

    Issue

    以下的範例,左邊都是 Client, 右邊都是 Server。 -> 代表 Client 發送給 Server,反之亦然。

    // Client 發送 T 給 Server, 然後得到 sT

    T -> <- sT

    Redeem

    // Client 要 redeem token 時,傳出 T 與 sT

    T, sT ->

    問題:Linkability

    因為 Server 在 issue 的時候已經知道了 T,所以基本上 Server 可以透過這項資訊可以把 issue 階段跟 redeem 階段的人連結起來進而知道 Client 的行為。

    Scenario 2

    要解決上面的問題,其中一個方法是透過 Blind Signature 達成。Client 不送出 T,而是先透過 BlindPoint 的方式產生 bT 跟 b,接下來再送給 Server bT。Server 收到 bT 之後,同樣的透過 Sign Point 的方式產生結果,不一樣的地方是情境 1 是用 T,而這邊則用 bT 來作 Sign Point,所以得出來的結果是 s(bT)。

    Client:BlindPoint(T) => (bT, b)

    Server:SignPoint(bT, s) => sbT

    而 Blind Signature 跟 Sign Point 具備了交換律的特性,所以得到 s(bT) 後可以透過原本 Client 已知的 b 進行 Unblind:

    UnblindPoint(sbT, b) => sT

    這樣一來在 Redeem 的時候就可以送出 T, sT 給 Server 了,而且透過 SignPoint(T, s) 得出結果 sT’ 如果符合 Client 傳來的 sT 就代表確實 Server 曾經簽過這個被 blind 的點,同時因為 T 從來都沒有送到 Server 過,所以 Server 也無法將 issue 與 redeem 階段的 Client 連結在一起。

    Issue

    bT -> <- s(bT)

    Redeem

    T, sT ->

    問題:Malleability

    以上的流程其實也有另外一個大問題,因為有交換律的關係,當 Client 透過一個任意值 a 放入 BlindPoint 時產生的 a(sT) 就會等於 s(aT):

    BlindPoint(sT) => a(sT), a// a(sT) === s(aT)

    此時如果將 aT 跟 s(aT) 送給 Server Redeem,此時因為

    SignPoint(aT, s) => s(aT)

    所以就可以兌換了,這樣造成 Client 可以無限地用任意數值兌換 token。

    Scenario 3

    這次我們讓 Client 先選擇一個純數 t,並且透過一種單向的 hash 方式來產生一個在橢圓曲線上的點 T,並且在 redeem 階段時原本是送出 T, sT 改成送出 t, sT。

    因為 redeem 要送出的是 t,上個情境時透過任意數 a 來產生 s(aT) 的方法就沒辦法用了,因為 t 跟 sT 兩個參數之間並不是單純的再透過一次 BlindPoint() 就可以得到,所以就沒辦法無限兌換了。

    Issue

    T = Hash(t) bT -> <- sbT

    Redeem

    t, sT ->

    問題:Redemption hijacking

    在這個例子裏面,Client 其實是沒有必要傳送 sT 的,因為 Server 僅需要 t 就可以計算出 sT,額外傳送 sT 可能會導致潛在的 Redemption hijacking 問題,如果在不安全的通道上傳輸 t, sT 就有可能這個 redemption 被劫持作為其他的用途。

    不過在網站上沒講出實際上要怎麼利用這個問題,但是少傳一個可以計算出來的資料總是好的。Client 只要證明他知道 sT 就好,而這可以透過 HMAC (Hash-based Message Authentication Code) 達成。

    Scenario 4

    步驟跟前面都一樣,唯一不一樣的地方是 redeem 的時候原本是傳 t, sT,現在則改傳 t, M, HMAC(sT, M),如果再介紹 HMAC 篇幅會太大,這邊就不解釋了,但可以是作是一個標準的 salt 方式讓 Hash 出來的結果不容易受到暴力破解。

    這樣的特性在這個情境用很適合,因為 Server 透過 t 就可以計算出 sT,透過公開傳遞的 M 可以輕易地驗證 client 端是否持有 sT。

    Issue

    T = Hash(t) bT -> <- sbT

    Redeem

    t, M, HMAC(sT, M) ->

    問題:Tagging

    這邊的問題在於 Server 可以在 issue 階段的時候用不一樣的 s1, s2, s3 等來發出不一樣的 sT’,這樣 Server 在 Redeem 階段就可以得知 client 是哪一個 s。所以 Server 需要證明自己每次都用同樣的 s 同時又不透漏 s 這個純亮。

    要解決這個問題就需要用到前面我們講解的零知識證明 DLEQ 了。

    Scenario 5

    前面的 DLEQ 講解有提到,如果有 Peggy 有一個 s 秘密純量,我們可以透過 DLEQ 來證明 Peggy 知道 s,但是又不透漏 s 真正的數值,而在 Privacy Pass 的機制裡面,Server 需要證明自己每次都用 s,但是卻又不用揭露真正的數值。

    在 Issue 階段 Client 做的事情還是一樣傳 bT 給 Server 端,但 Server 端的回應就不一樣了,這次 Server 會回傳 sbT 與一個 DLEQ 證明,證明自己正在用同一個 s。

    首先根據 DLEQ 的假設,Server 會需要先公開一組 G, H 給所有的 Client。而在 Privacy Pass 的實作中則是公開了 G 給所有 Client,而 H 則改用 bT 代替。

    回傳的時候 Server 要證明自己仍然使用同一個 s 發出 token,所以附上了一個 DLEQ 的證明 r = v - cs,Client 只要算出以下算式相等就可證明 Server 仍然用同一個 s (記住了 H 已經改用 bT 代替,此時 client 也有 sbT 也就是 sH):

    vH = rH + c(sH) // H 換成 bTvbT = rbT + c(sbT) // 把 r 展開成 v - csvbT = (v - cs)bT + c(sbT) // (v - cs)bT 展開成 vbT - csbTvbT = vbT - c(sbT) + c(sbT) // 正負 c(sbT) 消掉vbT = vbT

    這樣就可以證明 Server 依然用同一個 s。

    Issue

    T = Hash(t) bT -> <- sbT, DLEQ(bT:sbT == G:sG)

    Redeem

    t, M, HMAC(sT, M) ->

    問題:only one redemption per issuance

    到這邊基本上 Privacy Pass 的原理已經解釋得差不多了,不過這邊有個問題是一次只發一個 token 太少,應該要一次可以發多個 token。這邊我要跳過源文中提到的 Scenario 6 解釋最後的結果。

    Scenario 7

    由於一次僅產生一個 redeem token 太沒效率了,如果同時發很多次,每次都產生一個 proof 也不是非常有效率,而 DLEQ 有一個延伸的用法 “batch” 可以一次產生多個 token, 並且只有使用一個 Proof 就可以驗證所有 token 是否合法,這樣就可以大大的降低頻寬需求。

    不過這邊我們就不贅述 Batch DLEQ 的原理了,文末我會提及一些比較有用的連結跟確切的源碼片段讓有興趣的人可以更快速的追蹤到源碼片段。

    Issue

    T1 = Hash(t1) T2 = Hash(t2)T3 = Hash(t3)b1T1 ->b2T2 ->b3T3 -> c1,c2,c3 = H(G,sG,b1T1,b2T2,b3T3,s(b1T1),s(b2T2),s(b3T3)) <- sb1T1 <- sb2T2 <- sb3T3 <- DLEQ(c1b1T1+c2b2T2+c3b3T3:s(c1b1T1+c2b2T2+c3b3T3) == G: sG)

    Redeem

    t1, M, HMAC(sT1, M) ->

    結論

    Privacy Token / Trust Token API 透過零知識證明的方式來建立了一個不需要透漏太多隱私也可以達成跟 cookie 相同效果的驗證方式,期待可以改變目前許多廣告巨頭透過 cookie 過分的追蹤使用者隱私的作法。

    不過我在 Trust Token API Explainer 裡面看到這個協議裡面的延伸作法還可以夾帶 Metadata 進去,而協議制定的過程中其實廣告龍頭 Google 也參與其中,希望這份協議還是可以保持中立,盡可能地讓最後版本可以有效的在保護隱私的情況下完成 Cross-domain authorization 的功能。

    參考資料

    IETF Privacy Pass docs

    Privacy Pass: The Protocol

    Privacy Pass: Architectural Framework

    Privacy Pass: HTTP API

    Cloudflare

    Supporting the latest version of the Privacy Pass Protocol (cloudflare.com)

    Chinese: Cloudflare支持最新的Privacy Pass扩展_推动协议标准化

    Other

    Privacy Pass official website

    Getting started with Trust Tokens (web.dev)

    WICG Trust Token API Explainer

    Non-interactive zero-knowledge (NIZK) proofs for the equality (EQ) of discrete logarithms (DL) (asecuritysite.com) 這個網站非常實用,列了很多零知識證明的源碼參考,但可惜的是 DLEQ 這個演算法講解有錯,讓我在理解演算法的時候撞牆很久。所以使用的時候請多加小心,源碼應該是可以參考的,解釋的話需要斟酌一下。

    關鍵源碼

    這邊我貼幾段覺得很有用的源碼。

    privacy pass 提供的伺服器端產生 Proof 的源碼

    privacy pass 提供的瀏覽器端產生 BlindPoint 的源碼

    github dedis/kyber 產生 Proof 的源碼

    [ZKP 讀書會] Trust Token Browser API was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

  • 比喻情況愈來愈好 在 Passion Music Youtube 的最佳貼文

    2015-08-07 13:13:12

    《點揀》為Boyz Reborn第八首原創歌曲,內容是有關香港社會的發展日漸變得單一化,市民居於此選擇變得愈來愈少,歌曲以揀橙為比喻,表達百姓小至衣食住行、大事至政制發展、普選、社會發展等議題也欠缺自由度和開放選擇的情況。

    Facebook專頁: https://www.facebook.com/boyzreborn
    Boyz Reborn Instagram: http://instagram.com/boyz_reborn/
    Boyz Reborn官方播放清單:https://www.youtube.com/playlist?list=PLX24hlXlmFZ8RUsILOU4Oyx9AgaqYuCUw
    Boyz Reborn on iTunes: https://itunes.apple.com/hk/artist/boyz-reborn/id1040453639?l=zh

    歌詞:

    *是時侯讓我 有真正選擇  文明的選法 有自由抉擇
    民主的精髓 懇請你把握  不管是誰在自言自語編寫對白*

    有一日 屋企人同我落街食野 佢同我講 可以自己揀去食d咩
    大家活 大快樂 心美自己取捨 喂,咁都唔算好委屈你姐
    三間都係快餐店 餐牌多數無乜變 食物係咪算新鮮 查實有咩分別先
    屋企都有裝天線 淨係得啞視毛線 效果係咪咁正面 唉 咪咁膚淺選擇太少既得利益者 大條道理 公共交通減價機會 微乎其微
    想見到小商户士多? 你訓醒未 周圍得連鎖大牌子 避無可避

    REPEAT*

    如果今日老師俾我地選班長 最後選左個幾受歡迎既阿強
    老師嫌棄佢讀書成績唔夠優良 決定唔俾佢做 我地心會有幾傷?

    更何況我地講緊地區既首長 關乎香港既未來市民當然緊張
    係普選既議題上各人各有主張 一句我要真普選道出我地共同理想

    @這城市 己漸漸 變得單一化 再沒有 小店人情合理標價
    這樓價 使百姓 也許會變做無家 能揀我地址可以嗎
    這城市 己漸漸 變得僵化 已習慣 粉飾至繁榮愉快典雅
    厭倦了 眼前的一切 在虛構造假 能共議自決可以嗎

    REPEAT* @ *

你可能也想看看

搜尋相關網站