早安!
分享一篇不錯的演講給大家看看!
【中英雙語展示 ‧ 許國榮 Alex Hui 翻譯】
Ugandan President’s address to his nation. One of the best Covid-19 speeches till now, from anyone anywhere in this world.
以下是烏干達總統對他國民的致詞。 迄今為止,從來自世界各地對於有關Covid-19的演詞來說,被公認最佳演詞之一。
Uganda President KAGUTA MUSEVENI warns against people misbehaving during this COVID-19 period, "God has a lot of work, He has the whole world to look after. He cannot just be here in Uganda looking after idiots".
烏干達總統卡古塔·穆塞韋尼(KAGUTA MUSEVENI)告誡人們不要在COVID-19時期表現不佳,「上帝有很多工作需要做,整個世界都需要祂去照顧。他不能只是在烏干達這裡照顧你們這一班白痴。」
"In a war situation, nobody asks anyone to stay indoors. You stay indoors by choice. In fact, if you have a basement, you hide there for as long as hostilities persist.
在戰爭情況下,沒有人要求任何人呆在室內。你會選擇留在室內。實際上,如果你有地下室,只要戰火持續下去,你都會一直呆在那裡。
During a war, you don't insist on your freedom. You willingly give it up in exchange for survival.
在戰爭中,您不會堅持自己的自由。 您願意放棄它以換取生存。
During a war, you don't complain of hunger. You bear hunger and pray that you live to eat again.
在戰爭中,您不會抱怨飢餓。你會忍受飢餓,並祈求天父你能夠生存,有機會再次吃飯。
During a war, you don't argue about opening your business. You close your shop (if you have the time), and run for your life. You pray to outlive the war so that you can return to your business (that's if it has not been looted or destroyed by mortar fire).
在戰爭中,你不會為商店營業而爭論。你會趕快及時關閉門戶,你會為自己的活命而禱告;並且祈求這場戰爭早日過去,以便你可以重拾若果僥倖尚存的家園。
During a war, you are thankful to God for seeing another day in the land of the living.
在戰爭中,你會感恩上帝可以存活在有生命的地上,親眼看到新的一天。
During a war, you don't worry about your children not going to school. You pray that the government does not forcefully enlist them as soldiers to be trained in the school premises now turned military depot.
在戰爭中,你不會擔心孩子不上學。 你會禱告祈求政府不要強迫他們當兵,而這些士兵要在現已變成軍用倉庫的學校場地接受軍訓。
The world is currently in a state of war. A war without guns and bullets. A war without human soldiers. A war without borders. A war without cease-fire agreements. A war without a war room. A war without sacred zones.
世界目前正處於戰爭狀態:一場沒有槍支和子彈的戰爭;沒有人類士兵的戰爭;一場毫無國界的戰爭;沒有停火協議的戰爭;沒有作戰室的戰爭;沒有神聖地帶的戰爭。
The army in this war is without mercy. It is without any milk of human kindness. It is indiscriminate - it has no respect for children, women, or places of worship. This army is not interested in spoils of war. It has no intention of regime change. It is not concerned about the rich mineral resources underneath the earth. It is not even interested in religious, ethnic or ideological hegemony. Its ambition has nothing to do with racial superiority. It is an invisible, fleetfooted, and ruthlessly effective army.
這場戰爭中的軍隊毫不留情:它沒有任何人性。它是不分青紅皂白,它不會尊重兒童、婦女、或崇拜場所。 這支軍隊對戰利品毫不感興趣。毫無意願去改變政權,毫不關心地底下的豐富礦產資源。 它甚至對宗教,種族或意識形態霸權都不感興趣。 它的野心與種族優勢無關。它是一支看不見的,腳步輕盈,殘酷無情的軍隊。
Its only agenda is a harvest of death. It is only satiated after turning the world into one big death field. Its capacity to achieve its aim is not in doubt. Without ground, amphibious and aeriel machines, it has bases in almost every country of the world. Its movement is not governed by any war convention or protocol. In short, it is a law unto itself. It is Coronavirus. Also known as COVID-19 (because it announced its destructive presence and intention in the year of our Lord 2019).
它唯一的議程是去收穫死亡。 只有在把整個世界變成橫屍遍野的大屠場之後,它才會滿足。 它實現其目標的能力是毋庸置疑的。 這支軍隊並沒有陸戰、兩棲、或空戰設備,但它的基地卻幾乎遍布世界每一角落。 它的移動並不受任何戰爭公約或協議的約束。 簡而言之,這是一支橫行無忌的軍隊。 它是冠狀病毒。 也被稱為COVID-19(因為它是在主後2019年宣布了破壞性存在和意圖)。
Thankfully, this army has a weakness and it can be defeated. It only requires our collective action, discipline and forbearance. COVID-19 cannot survive social and physical distancing. It only thrives when you confront it. It loves to be confronted. It capitulates in the face of collective social and physical distancing. It bows before good personal hygiene. It is helpless when you take your destiny in your own hands by keeping them sanitized as often as possible.
不過,值得慶幸的好訊息是:這支軍隊都有弱點,它可以被擊敗。 只需要我們的集體行動,紀律和寬容。 COVID-19無法倖免於社交和軀體上的隔離。 它只有在你刻意面對它時才能蓬勃發展;牠喜歡被迎面對抗。 但面對集體性的社交和身軀上的距離,它投降了。它在保持良好個人衛生之前先鞠躬退役。 當你通過盡可能地掌握自己的命運,清潔雙手時,它更是無奈。
This is not a time to cry about bread and butter like spoilt children. After all, the Holy book tells us that man shall not live by bread alone. Let's obey and follow the instructions of the authorities. Let's flatten the COVID-19 curve. Let's exercise patience. Let's be our brothers' keeper. In no time, we shall regain our freedom, enterprise and socializing."
現今並不是哭泣之時,像被寵壞的孩童那樣,哭泣暫時肚飢的時候。 畢竟,聖經告訴我們,「人活著不是單靠食物」《馬太福音4:4》。 讓我們服從並遵循當局的指示。 讓我們展平COVID-19的曲線。 讓我們保持耐心。 讓我們成為兄弟互相的守護。 我們恢復自由、進取和社會交往,指日可待。
In the midst of EMERGENCY, we practice urgency of service and the urgency of love for others. God bless us all.
在緊急狀態中,好讓我們操練迫切性的互相服務,和迫切性的互相關懷。但願慈愛的天父上帝憐憫祝福各位。
The best and most intelligent public speech ever made during Covid-19.
以上是「新冠病毒」疫情中,被公認為曾經發表過的明智公開演講。
#防疫人人有責
同時也有2部Youtube影片,追蹤數超過2,510的網紅大王,也在其Youtube影片中提到,Warframe 死鎖協定/僵局協議 全外觀開箱 Protea外觀 合計共三頂頭盔 和鈴鼓披飾,還有遊戲內打得到的亡圖肩甲 「勢」護甲組合包 和 Garuda暴力組合包,恐鳥的新情感模組 這次同樣會作 色塊分配上的一些細節展示,讓你看完後能夠更明確的決定該不該買 Deadlock Protoc...
「protocol翻譯」的推薦目錄:
- 關於protocol翻譯 在 Velissa VJ Facebook 的最讚貼文
- 關於protocol翻譯 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於protocol翻譯 在 厭世工程師 Facebook 的精選貼文
- 關於protocol翻譯 在 大王 Youtube 的精選貼文
- 關於protocol翻譯 在 Ray Shen Youtube 的最佳貼文
- 關於protocol翻譯 在 [Chinese]ÐΞVp2p Wire Protocol中文翻译 - GitHub 的評價
- 關於protocol翻譯 在 【Vspo】得知英可能很有錢後Kamito的態度有點改變... 的評價
protocol翻譯 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] [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.
👏 歡迎轉載分享鼓掌
protocol翻譯 在 厭世工程師 Facebook 的精選貼文
捷克參議院議長柯佳洛去世前收到的威脅信 中英文翻譯
Prague, 10th January 2020
2020年1月10日,布拉格
►The Taiwan issue is highly sensitive. The One-China Policy serves as the political basis for China in order to preserve and develop friendly relations and cooperate with all countries in the world, including the Czech Republic.
台灣問題高度敏感。一中政策是中國與全球包括捷克共和國在內的所有國家維護和發展友好關係並合作的政治基礎。
►The Chinese government resolutely opposes any official contact between any country that maintains diplomatic relations with China and Taiwan (including any mutual visits between parliamentary representatives and deputies).
中國政府堅決反對中國之所有邦交國與台灣間有任何官方往來(包括議會代表與議員之間的任何互訪)。
►Top representatives of Western countries, including the USA, the United Kingdom, France and Germany, abide by the One-China Policy, and none of them has visited Taiwan (Jacques Brotchi, the then Chairman of the Belgian Senate, who visited Taiwan in May 2019, has already resigned from his office and received a lifetime ban from entering China).
西方國家(包括美國,英國,法國和德國)的最高代表都遵從一中政策,且沒有一個人訪問過台灣(當時的比利時聯邦參議院議長 Jacques Brotchi 曾於 2019年5月訪問台灣,其現已辭職,並令終身禁止進入中國)。
►The joint declaration on the establishment of the strategic partnership between the People’s Republic of China and the Czech Republic states that “the Czech Republic has again confirmed its observance of the One-China Policy, as well as its respect towards the sovereignty and territorial integrity of the People’s Republic of China”.
在中華人民共和國與捷克共和國建立戰略夥伴關係的聯合聲明中寫道:“捷克共和國再次確認其遵守一個中國政策,並尊重中華人民共和國領土與主權的完整”。
►Whatever its form and purpose, a visit to Taiwan by Jaroslav Kubera, the Chairman of the Senate of the Parliament of the Czech Republic and as such the second highest representative of the Czech Republic, bears the marks of an official visit. That would constitute a grave violation of the recognition of the One-China principle.
捷克共和國國會參議院議長 Jaroslav Kubera 作為捷克共和國第二層級的最高政治代表,若訪問台灣,無論其形式及目的為何,此舉都將被視為是官方正式的外交出訪,具有不可逆的政治意義。此舉將嚴重違反對於 “一中原則” 的承認。 **(bears the marks of 留下印記這裡我試試看有別於字面上的翻法!不知道有沒有更好地翻法?)**
►The Chinese-Czech strategic partnership has been continuously developing over the last few years, thus bringing tangible benefits to Czech enterprises. China has already become the largest foreign market for many Czech companies, such as Škoda Auto, Home Credit Group, Klavíry Petrof and others.
近年來,中捷戰略夥伴關係不斷發展,為捷克企業帶來了實質的利益。對於許多捷克公司(例如 汽車製造商 Škoda Auto,捷信集團 Home Credit Group,佩卓夫鋼琴 Klavíry Petrof 等),中國已經成為最大的國外市場。
►A potential visit to Taiwan by Chairman Kubera would seriously hurt the feelings of the Chinese people, damage the friendly atmosphere of cooperation between China and the Czech Republic, the Czech Republic’s reputation among the Chinese public and the interests of the Czech Republic.
Kubera 議長可能對台灣進行的訪問將嚴重損害中國人民的感情,損害中國與捷克共和國之間的友好合作氣氛、捷克共和國在中國公眾中的聲譽以及捷克共和國的利益。
►Czech enterprises whose representatives visit Taiwan with Chairman Kubera will not be welcome in China or by the Chinese people. Czech enterprises with economic interests in China will have to pay for Chairman Kubera’s visit to Taiwan.
與 Kubera 議長一起訪問台灣的捷克企業代表,將不被中國與中國人民歡迎。在中國具有經濟利益的捷克企業將為 Kubera 議長對台灣的訪問付出代價。
►Chairman Kubera’s visit to Taiwan will not benefit anyone. We hope that the Czech side will observe the One-China policy and cancel this visit, thus avoiding damaging Chinese-Czech relations.
Kubera 議長對台灣的訪問將不會使任何人受益。我們希望捷克方面遵守一中政策並取消此次訪問,以免破壞中捷關係。
►Attn.: Office of the President of the Czech Republic
收信者:捷克共和國總統辦公室
►Prague
布拉格
►[Seal of the Office of the President in Czech Republic confirming receipt on 13th January 2020]
[捷克共和國總統辦公室印章,確認於2020年1月13日收到]
►[Seal of the Embassy of the People’s Republic of China in the Czech Republic]
[中華人民共和國駐捷克共和國大使館印章]
══════════════════════
-
https://sinopsis.cz/en/embassy-threats/… (★ 接下來有這個星號的都是這個連結裡的內容)
一直找不到全信的中文內容,有點煩躁,所以我在上面那個網址找到了這封捷克語威脅信的全文英文翻譯,然後就自己努力地翻成中文了(本人非外交或外文專業,翻譯內容可能有誤,請多指教😓),如果大家需要的話可以直接轉發。
★ 連結中寫道:“The threatening letter eschews diplomatic protocol; it is written as a series of “bullet points”, lacking even a salutation. It appears to have been translated by a non-native speaker, from a Chinese original into nearly flawless Czech.”
此封威脅信不以外交禮儀寫成;而是使用條列式列出了一系列要點,信中甚至沒有收信人的稱呼(一般書信在開頭會有 Dear xx)。它似乎是由非母語人士翻譯而成的,從原本的中文翻譯成了近乎完美的捷克語。
★ “In 2019, the chairman of the Czech Senate, Jaroslav Kubera, announced a trip to Taiwan as head of a business delegation. Various voices in local politics criticised these plans out loud, most notably the country’s CCP-friendly president Miloš Zeman, who said Kubera’s Taiwan visit would mean the end of their friendship. The PRC’s direct attempt to prevent the visit was not, however, made through public channels.”
2019年,捷克參議院主席 Jaroslav Kubera 宣布作為商務代表團團長前往台灣。地方政治上出現了各種聲音大聲批評了此計劃,最值得注意的是捷克的親中總統 Miloš Zeman,他表示,柯佳洛議長對台灣的訪問將意味著中捷兩國友誼的終結。然而,中國嘗試阻止訪問的直接方法並不是透過公開透明的管道。
★ 據捷克媒體 Aktuálně 於2/19的報導(source: https://zpravy.aktualne.cz/…/r~3602b9ba51a711eaa5e40cc47ab…/)
重點節錄:這封信經過了捷克總統府,並隨信附有捷克總統府對外辦公室主任 *Rudolf Jindrák* 的評論,最後轉交給了柯佳洛。信件發出後的第七天,柯佳洛去世了,這封信在他的辦公室裡被發現。
*(💥 查資料的過程中不小心翻到這位 Rudolf Jindrák 似乎有過共產黨背景...... https://taiwantrc.org/捷克駐德大使被指曾是共黨軍情系統同路人/ 這篇是2010年的...不確定現在的情形,但我google到的時候真的有覺得不太對勁...)
(然後請大家不要曲解意思,我沒有說是這封信害死了柯佳洛,只寫了這是他去世之前收到的威脅信,這裡的威脅指的是對於捷克外交和經濟上的。)
文章來源:柳子賢
protocol翻譯 在 大王 Youtube 的精選貼文
Warframe 死鎖協定/僵局協議 全外觀開箱
Protea外觀 合計共三頂頭盔 和鈴鼓披飾,還有遊戲內打得到的亡圖肩甲
「勢」護甲組合包 和 Garuda暴力組合包,恐鳥的新情感模組
這次同樣會作 色塊分配上的一些細節展示,讓你看完後能夠更明確的決定該不該買
Deadlock Protocol all skin. Protea skin&Garuda Hinsa collection unboxing
MUSIC:
Astronomia (Coffin Dance song) [Future Funk Remix]
Parov Stelar - Booty Swing [Odd Chap's Club Fix]
SayMaxWell - Helltaker - Apropos [Remix]
歡迎留下你的心得意見
追隨FACEBOOK,獲得更多開台資訊和遊戲、玩具情報https://www.facebook.com/LordgameStream
實況備份、各種翻譯情報影片、書籍玩具周邊開箱請訂閱YOUTUBE連結
追隨Twitch直播https://www.twitch.tv/lordzephyrhs
protocol翻譯 在 Ray Shen Youtube 的最佳貼文
徹夜未眠直到早晨,再度走向那度過童年的公園。
公園旁的道路仍然有些許車輛穿梭著,車尾的霓虹燈劃過了四下無人的街道。
我在以往一同玩樂的那個盪鞦韆坐了下來,拿出了手機。
我想傳訊息向妳道早安,但現在說似乎還太早。
「不論未來會怎麼樣,我們大家都會一起面對的」
你們的話語再度出現在我的腦海。
但我做不到呀。
長大後的道路已經跟小時候所見的不再相同了。
我找不到離開這裡的出路,不斷地回到同樣的地方。
當你們全都走出去後,我還在原地打轉。
我從鞦韆上坐起,躺在一旁的草地上。
"還有什麼好失去的呢? 畢竟我早就已經放棄了"
時間回溯到9年前,
那個躺在地上的男孩被其他朋友的圍繞著,
大家將手伸出要將他拉起。
「人生還沒有結束,要繼續前進不能放棄呀!」
還不能放棄。
千萬不能放棄。
-------
MR.BLACK & Teamworx - We Are Lost 遺失路途
Listen here: http://prot.cl/we-are-lostSo
▼ Follow MR.BLACK:
https://instagram.com/mr_black_music
https://facebook.com/mrblackmusic
https://twitter.com/MR_BLACK_music
▼ Follow Teamworx:
https://instagram.com/teamworx
https://twitter.com/teamworxmusic
https://facebook.com/teamworxmusic
▼ Follow Protocol Recordings:
https://protocol-recordings.com
https://instagram.com/protocolrecordings
https://facebook.com/protocolrecordings
https://twitter.com/protocolrec
http://prot.cl/spotify
http://prot.cl/apple-music
http://prot.cl/deezer
▼ Follow Ray Shen:
https://www.facebook.com/djRayShen/
https://www.youtube.com/RayShen0429
https://soundcloud.com/ray-shen-3
https://twitter.com/98Ray0429
We are lost on the sidewalk
我們在人行道遺失人生的道路
Traffic lights are painting the street
車陣的光芒在街道上作畫
It's too early in the morning to talk
在此刻和你道早安還太早
Silence, it's nice to meet
所以轉身邁向寂靜
Fast cars are passing by
車流仍在不斷穿梭
As time decided to move
隨著時間不停地流逝
We have been down and up high
我們經歷過大風大浪
I've got nothing left to lose
早已沒什麼好失去了
When you look at me
當你望向我
Seeking for the answer
尋覓著人生的解答
Falling on your knees
倒臥在地上
I just surrender
我早就放棄了
We are lost, lost, lost, lost, lost
我們早已迷失了
We are lost, lost, lost, lost, lost, lost
迷失在人生道路上
We are lost, lost, lost, lost, lost
大家都迷失自我
We are lost, lost, lost, lost, lost, lost
迷失在人生的路途
We are lost, lost, lost, lost, lost
我們早已迷失了
We are lost, lost, lost
迷失在人生道路上
I just surrender
我就這樣投降了
We are lost, lost, lost, lost, lost
我們早就迷失了
We are lost, lost, lost, lost, lost, lost
迷失在人生道路上
We are lost, lost, lost, lost, lost
大家都迷失自我
We are lost, lost
迷失在人生路途
We are lost on the sidewalk
我們在人行道遺失人生的道路
Traffic lights are painting the street
車陣的光芒在街道上作畫
It's too early in the morning to talk
在此刻和你道早安還太早
Silence, it's nice to meet
所以轉身邁向寂靜
Fast cars are passing by
車流仍在不斷穿梭
As time decided to move
隨著時間不停地流逝
We have been down and up high
我們經歷過大風大浪
I've got nothing left to lose
早已沒什麼好失去了
When you look at me
當你望向我
Seeking for the answer
尋覓著人生的解答
Falling on your knees
跪坐在地上
I just surrender
我早就放棄了
We are lost, lost, lost, lost, lost
我們全都迷失了
We are lost, lost, lost, lost, lost, lost
迷失在人生道路上
We are lost, lost, lost, lost, lost
大家都迷失自我了
We are lost, lost, lost, lost, lost, lost
遺失人生方向路途
We are lost, lost, lost, lost, lost
我們都已迷失了
We are lost, lost, lost
迷失在人生道路上
I just surrender
我就這樣投降了
We are lost, lost, lost, lost, lost
我們迷失方向了
We are lost, lost, lost, lost, lost, lost
迷失在人生道路上
We are lost, lost, lost, lost, lost
大家都迷失自我
We are lost, lost
迷失在人生路途
I just surrender
我就這樣投降了
歌詞翻譯by Ray
#MRBLACK
#Teamworx
#WeAreLost
#歌詞翻譯
protocol翻譯 在 【Vspo】得知英可能很有錢後Kamito的態度有點改變... 的推薦與評價
原配信 • 【BLUE PROTOCOL 】釣り... … Show more. Show more ... 頂樓切片市集_屋上の切り抜き屋【精華剪輯 翻譯 】. 頂樓切片市集_屋上の切り抜き ... ... <看更多>
protocol翻譯 在 [Chinese]ÐΞVp2p Wire Protocol中文翻译 - GitHub 的推薦與評價
Specific information about the wire protocol can be found at ethereum.org/zh. Contents. ÐΞVP2P 通讯协议. 2.负载内容; 3.P2P通信. 3.1 hello; 3.2 Disconnect ... ... <看更多>