雖然這篇scenario翻譯鄉民發文沒有被收入到精華區:在scenario翻譯這個話題中,我們另外找到其它相關的精選爆讚文章
在 scenario翻譯產品中有9篇Facebook貼文,粉絲數超過0的網紅,也在其Facebook貼文中提到, 『There are, however, dangers associated with doing this, as it could cause damage and even unbalance the ship. [但是,這樣做會帶來危險,因為這可能會導致損壞甚至使船舶失衡。] It w...
同時也有3部Youtube影片,追蹤數超過6萬的網紅粒方不插電,也在其Youtube影片中提到,這次要來跟 @旅行YJ @諾斯Nox @後撤步 一起來玩密室逃脫桌遊《大搜查》! 真的是被這個遊戲搞到腦細胞死一堆啦! 以下介紹來自https://kknews.cc/zh-tw/news/oane6rp.html 謎題,從人類文明誕生之際開始一直延續至今。比如經典的斯芬克斯之謎:「什麼動物...
「scenario翻譯」的推薦目錄
- 關於scenario翻譯 在 TeenyMunchies - Kids Meals 兒童餐 Instagram 的最讚貼文
- 關於scenario翻譯 在 國際內世鏡|Insight Into Issues Instagram 的最佳貼文
- 關於scenario翻譯 在 傅予謙(傅顯濬) Instagram 的最讚貼文
- 關於scenario翻譯 在 Facebook 的最佳解答
- 關於scenario翻譯 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於scenario翻譯 在 揪咪代購-BIGBANG YG日韓周邊代購 Facebook 的最佳貼文
- 關於scenario翻譯 在 粒方不插電 Youtube 的最佳解答
- 關於scenario翻譯 在 賓狗單字Bingo Bilingual Youtube 的最讚貼文
- 關於scenario翻譯 在 Crescent Lament Youtube 的最佳貼文
scenario翻譯 在 TeenyMunchies - Kids Meals 兒童餐 Instagram 的最讚貼文
2021-04-04 18:46:56
中文請往下▼ ⠀⠀ #latergram meal served to A at 13 months #舊照 小哲13個月大時吃的一餐 ⠀ Today A was jealous when I went to look for my husband and was sitting on his la...
scenario翻譯 在 國際內世鏡|Insight Into Issues Instagram 的最佳貼文
2021-04-04 18:30:19
根據一份洩漏的計畫,黎巴嫩政府將向外界尋求100億至150億美元的外部融資,並在2024年之後正式將其貨幣幣值貶為現在的一半,用以解決該國有史以來最嚴重的金融危機。目前,其債務負擔佔全球經濟總量百分比的第三位。 - 該計畫內容表示,政府將尋求「大量外部財政支持,以維持經濟,但前提是要實施能夠恢復信心...
scenario翻譯 在 傅予謙(傅顯濬) Instagram 的最讚貼文
2020-05-03 22:50:09
[完整版在FACEBOOK喔!] 哈囉! 因為姊姊是他們的鐵粉,所以我也很喜歡這首歌 原曲是韓文歌曲,這幾天推出了中文版 我跟我姐姐就一起練習了這首歌 希望你們喜歡啦~~ 、 韓文歌詞翻譯:http://b23985099.pixnet.net/blog/post/221172327-%5B%E6%...
-
scenario翻譯 在 粒方不插電 Youtube 的最佳解答
2020-03-08 20:00:11這次要來跟 @旅行YJ @諾斯Nox @後撤步 一起來玩密室逃脫桌遊《大搜查》! 真的是被這個遊戲搞到腦細胞死一堆啦!
以下介紹來自https://kknews.cc/zh-tw/news/oane6rp.html
謎題,從人類文明誕生之際開始一直延續至今。比如經典的斯芬克斯之謎:「什麼動物早晨用四條腿走路,中午用兩條腿走路,晚上用三條腿走路?腿最多的時候,也正是他走路最慢,體力最弱的時候。」從公元前400年左右被創作出來至今依然為人們所津津樂道。而到了21世紀,這個人類最為傳統的興趣愛好也與時俱進的以遊戲的姿態再次出現在我們的眼前。在當代,解謎遊戲一直是遊戲中的一個重要分類。從網際網路萌芽時代的《逃離紅色房間》,到剛推出不久的《銹湖》系列遊戲,雖然表現的形式稍有改變,但一直占有自己的角落,靜靜的發出璀璨的光輝。
在桌遊的世界當然也不會缺少解謎遊戲的身影。比如最近在摩點大熱並籌得了超過兩千萬人民幣的話題作品《迷宮·如意琳琅圖籍》就是一個圖書的形式將謎題呈獻到玩家眼前的桌遊。不過他並不是今天筆者要介紹的遊戲(畢竟還沒正式發貨並沒有辦法介紹)。今天真正要介紹的桌遊是另一個頗受推崇的解謎遊戲,也就是近期剛剛推出中文版的《大搜查(Unlock)》
《大搜查》是一個推出於2017年的系列作品,遊戲由一系列的卡牌組成。玩家在遊戲中的最終目標是在一個小時的時間內得出一個四位數的密碼逃離「密室」。在不同的劇本中密室所代表的意義也有所不同可能是個封閉住的房間也可能是一個荒島。這根據劇本的不同而不同——每一個劇本都是一個獨立的小故事。目前推出了中文版的是大搜查的第一季。打開遊戲外盒就可以看到作為劇本象徵的整整齊齊的三刀牌,但這其實還並不全部的遊戲配件。
《大搜查》在實際的遊戲進行中,除了需要這些卡牌之外,還有一個不在遊戲盒子中,但地位舉足輕重的額外配件,也就是APP,大搜查的遊戲無法脫離這個APP來完成。APP在這個遊戲中扮演的角色遠遠大於一個單純的計時器,他除了用於記錄一個小時的時間經過了多少之外,還負責驗證密碼正確與否,機關的破解方法是否正確,玩家錯誤嘗試扣除時間以及玩家提示。
這個提醒的作用要比想像中大很多,解謎遊戲中出現卡關再正常不過了,如果只是需要時間還好,但很多時候玩家卡關的原因是與設計師的腦迴路對不上,或者說沒有理解到設計師的用意,因為這種原因而造成的卡關往往無法通過時間來解決。比如《時間守望》基礎劇本的最終謎題筆者就因為這層原因卡了一個多小時,如果不是看了網上大神的攻略恐怕就要強行開門了。但在《大搜查》遊戲中,因為有了這個提示功能,雖然失去了些許懸念,但至少遊戲能順利的進行下去。
遊戲規則
遊戲中的主要卡牌分為四類:地點,物品,機關,密碼。
地點即是遊戲中的我們所處在的密室,在遊戲中起始卡背面必然是地點卡,地點卡上會有許多數字和字母代表著在遊戲中我們可以調查的事物(當然有些會隱藏起來,如果不仔細觀察是找不到的)。物品卡就很直接的是遊戲中我們獲得的物品了。物品的頂端通常會分為紅藍兩種,如果你覺得兩件物品組合在一起可能會發生奇妙的效果時,可以將這兩張卡的編號相加並打開對應的卡牌。機關卡意味著一個機關,我們需要在APP中輸入對應的號碼來開始挑戰機關,機關的正確解法可能就在機關自身之中,但也可能是需要在其他卡牌上尋找線索。密碼卡的意義就簡單了,它代表了這個地方有一道鎖,當玩家獲得了正確的密碼之後輸入APP,就會得到相對應的內容,如果這就是最終要打開的門的話,玩家也就通關了,遊戲會根據玩家在遊戲中的表現(耗時,錯誤嘗試,尋求提示次數等)給玩家得出一個最終得分,當然對於筆者這樣的體驗向玩家來說,只要能通關就好了(笑)
遊戲劇本
遊戲的第一季里包含了四個劇本,一個教學劇本和三個正式劇本。教學劇本由十張卡組成,但包含了正式遊戲中的所有內容,它會手把手帶著玩家了解這個遊戲如何進行,實際上可以起到一個代替說明書的作用——當然正式的說明書還是存在的。
遊戲的其他三個劇本就是正式的遊戲內容了,他們分別出自三個作者之手,每個作品的風格各不相同,劇情上也沒有什麼連貫性,應該算是獨立的。因為作者不同的原因,謎題的傾向也有所不同,比如第二個劇本「香腸鼠俠」就和其他兩個劇本迥然不同,不僅畫風無厘頭,很多謎題也十分的無厘頭。不過為了保證玩家的體驗我就不多講了,此間真意就留給玩家朋友們自己去體會吧。
作為一款A社漢化的劇本類遊戲,就不得不順便聊一聊它的翻譯,畢竟A社再翻譯上有著很多不光彩的過去。不過這次A社的翻譯還是做的不錯的,至少在筆者遊玩的時候並沒有遇到什麼嚴重影響遊戲進行的BUG,大家可以安心購買。不過倒是有一個非翻譯問題帶來的BUG嚴重影響了遊戲。那就是教學任務中的67指的實際上是69,這個問題是英文一版就有的,並且在二版進行了糾正。而A社在推出中文版時是根據英文一版來的,這個錯誤並沒有糾正,而是完美的繼承了下來,讓大家可以體驗「原汁原味的錯誤冒險」。大家在進行遊戲的時候千萬要多留意一下。
小結
《大搜查》是我目前玩過的最好的劇情向遊戲之一,他在遊戲體驗上十分靠近電子遊戲的解謎遊戲和真人的密室逃脫。和電腦上的解謎遊戲相比在一些設定上還是有不同的,比如隱藏數字。在卡片上沒找到就是沒找到,可不存在靠亂點矇混過關的可能性哦(笑)。另一個不同在於可以和小夥伴們互動,小夥伴們群策群力逃出生天的感覺是電子遊戲里無法獲得的。
而且在《大搜查》的後期一些劇本中甚至還會出現一些需要兩組人通力合作才能完成的謎題,實際上已經超過了電子遊戲的能力範圍里,充分發揮了桌遊的優勢(雖然這個劇本真的很難)。而相比與真人的密室逃脫相比,《大搜查》的最大特點就在於體量,遊戲的本體只是一刀牌,攜帶方便,開局也方便。不過這三類遊戲體驗各不相同,難分伯仲,各種取捨還是要看玩家自己的傾向了。
《大搜查》比較創新的採用了APP來輔助遊戲,這個模式曾經很少見,但隨著時代的發展也漸漸變的多了起來,比如《瘋狂詭宅》第二版就也採用了APP輔助遊戲的這個模式。不過實際上最初看到這個模式筆者是不太喜歡的,畢竟桌遊的一大特點在於可以不插電的進行遊玩,用插電的設備來輔助本應不插電的桌遊讓人不由得覺得有些失去本心。但是實際體驗下來,APP的表現確實非常好,讓筆者不由得說一句真香。APP的加入能提供很多一般桌遊配件很難給予玩家的東西,比如時限步步逼近的緊張感,比如說用聲畫和遊戲的配合,不採用這種模式的話是絕難做到的。另一方面還可以封印一個玩家的手機讓他專心投入到桌遊當中,更是妙不可言(笑)。
《大搜查》的外文版目前總共推出了五個季度十五個劇本,這對於一個2017年推出的遊戲來說算是比較誇張了,不過作為一個以劇情為賣點的遊戲,擴展多意味著玩家可以體驗到的內容多,實際上也是一件好事。雖然目前中文只推出了第一季度的中文版,但是開坑的畢竟是A社,至少應該不會出現挖坑不填的現象。如果你是一個密室愛好者,又或者是一個愛好思考愛好解謎的玩家,這都是極為合適的遊戲,不妨趕快去入手吧。
原文網址:https://kknews.cc/news/oane6rp.html
Unlock! is a cooperative card game inspired by escape rooms that uses a simple system which allows you to search scenes, combine objects, and solve riddles. Play Unlock! to embark on great adventures, while seated at a table using only cards and a companion app that can provide clues, check codes, monitor time remaining, etc.
Unlock! Escape Adventures includes three separate scenarios for you to explore:
In The Formula, you enter a secret laboratory to recover a mysterious serum that has been developed by a scientist. Will you solve all the riddles and get out in less than an hour?
In Squeek & Sausage, you need to thwart the plans of the despicable Professor Noside!
In The Island of Doctor Goorse, you must visit the island of an eccentric antique collector billionaire and overcome its traps!
An included ten-card tutorial allows you to learn how to play without reading the game rules.
Use the link below in order to download the Tutorial and a demonstration scenario, both in print-and-play!
This box is not distributed in the U.S
Note: Unlock! requires a free application to be downloaded from the App Store or Google Play. Once downloaded, an internet connection is not required during game play. -
scenario翻譯 在 賓狗單字Bingo Bilingual Youtube 的最讚貼文
2019-09-11 21:00:03#記得打開CC字幕
《夢中夢》官方翻譯由我們提供 🎉🎉🎉
熊仔創作及演唱的夢中夢,意境深遠
他用細膩的文字及旋律,捕捉出光鮮亮麗的藝人心中的惆悵和困惑
一起來解析這首好歌,同時用我們的翻譯來學英文吧!
👇最下面還有歌詞翻譯全文喔👇
❤️💛💚💙💜
Facebook 讓你下載單字卡:https://www.facebook.com/bingobilingual/
Instagram 讓你看 Bingo 私生活:https://instagram.com/bingobilingual_bb/
➡️ 金曲譯者的其他影片:
《玫瑰少年 Womxnly》蔡依林 | 歌詞解析及翻譯
https://youtu.be/lGG_BBFNsf0
絕美翻譯!! 郁可唯 路過人間 cover 用英文唱
https://youtu.be/VEKxfu-4C8g
兩秒學5個單字 | 周湯豪 兩秒終 歌詞翻譯
https://youtu.be/cb1I1u3R9LE
綠茶婊翻成 green tea bxtch?! | 波霸奶茶 陳瑾緗 歌詞翻譯及解析
https://youtu.be/1aZp8z2avq0
【夢中夢歌詞翻譯】
不同的城市 同個故事
Different cities, same story
不同的粉絲 同種注視
Different fans, same gaze
不同的音軌 重複錄製
Different soundtracks recorded over and over
不同的巡迴 演無數次
Different tours performed again and again
不同的光芒 同樣刺眼 像把我穿透
Numerous rays of light, dazzling alike, all try to pierce through me
不同的訪綱 同樣嗜血 等著我犯錯
Numerous interview outlines, sinister alike, are all filled with traps
不同的房號 同樣失眠 和夢魘纏鬥
Numerous hotel rooms, unsleepable alike, all give me nightmares
不同處方藥 同樣制約 暫時性挽救
Numerous prescriptions, inhibiting alike, all cure only the symptoms
不同人知道我 但沒人認識我
People know me, but no one understands me
不同人需要我 沒人敢正視我
People need me, but no one looks at me directly
不同的治療後 沒人能根治我
After receiving different therapies, I’m still not cured
不同的包裝粉飾後 我感到更赤裸
After putting on different masks, I feel more naked
當這loop重複
As the loop repeats itself
靈魂和肉體逐漸不同步
My soul and body gradually fall out of sync
不同的佈景 上演同個劇情 不同幕
Different settings, same scenario, different acts
抽離後 看著自己變麻木
Looking at myself from a distance, I feel more and more apathetic
it’s just like déjà vu
it’s just like déjà vu
當我又被陌生眼神圍繞
When I’m yet again surrounded by unfamiliar people
鎂光燈聚焦
Flashlights from the paparazzi
浮躁的喧鬧
Noise of the crowd
skr 煞車聲伴隨刺耳尖叫
skr car brake sounds and shrill screams
man you‘re sick as hell
man you‘re sick as hell
有人拿著麥克風在宣告
Into the mic someone speaks
man you’re sick as hell
man you‘re sick as hell
回憶閃過像音樂劇前導
Memories flash before my eyes like a teaser of a musical
is it real?
is it real?
注定的人生 像由人編造
My life is predestined like a script already written
is it real?
is it real?
宿命都成真 是否是圈套
Can't escape my destiny. Is this all a trap?
is it real?
is it real?
當畫面顛倒
When the screen goes upside down
顏色被抽離只剩線條
The colors are sucked out; only lines are left
一瞬間忘記我在追夢中 還是睡夢中
Suddenly, I’m not sure whether I’m chasing my dream or dreaming a dream
我像是身處一場很真實的夢中夢
It’s like a vivid dream within a dream
造神 毀神 標準 流程
Being put on and then knocked off a pedestal; what a standard procedure
掌聲 噓聲 一轉身 鴉雀無聲
Cheering and criticism both disappear as I turn around
俯瞰山腳下的城市沈睡
I look at the city in the foothills of the mountains while it’s fast asleep
那曾是珍貴的人事物 驀然回首人事已非
There used to be people and things I cherished, but they’re all gone now
everything fading away
everything fading away
已沒有了退路 只能向上奮力的推
There’s no turning back; all I can do is push the rock uphill
推著我的罪惡感
That rock is my guilt
每個晚上 質問著我會不會扼腕
Every night, I feel guilty and ask myself whether I feel regret
為了短暫的歡愉
For my temporary pleasure
讓那業障不斷堆砌 積沙成塔
My karmic debts accumulate day after day
已無法急剎車 像邁向註定結局希臘神話
There’s no stopping now; I’m like a tragic hero in Greek mythology
然而當我達到山頂 I’ll be recognized
But I'll be recognized once I reach the summit
悲劇夠經典也會永遠被記載 right?
And my tragic story will be remembered, right?
and I’ll never rest
and I’ll never rest
Til I’m higher than Everest
Til I’m higher than Everest
a legend that will never die
a legend that will never die
I’ll never die!
I’ll never die!
而當熱潮逐漸退散
As the fame fades
人群減半
Half of the fans disappear
失去新鮮感
Interest on the wane
娛樂版 追尋下個天團
The paparazzi start looking for the next superstar
man your end has come
man your end has come
有人拿著診斷書在宣判
Someone is reading my diagnosis
man your end has come
man your end has come
回憶閃過像漫畫格片段
Memories flashes before my eyes like comic strips
is it time?
Is it time?
夢想的成真 永遠最璀璨
A dream looks the most beautiful the moment it comes true
is it time?
Is it time?
陪葬的純真 鮮少人揭穿
But few talk about the innocence sacrificed
is it time?
is it time?
當畫面旋轉
When the screen rotates
顏色被抽離只剩黑暗
The colors are sucked out; only darkness is left
一瞬間忘記我在追夢中 還是睡夢中
Suddenly, I’m not sure whether I’m chasing my dream or dreaming a dream
我像是身處一場很真實的夢中夢
It’s like a vivid dream within a dream
造神 毀神 標準 流程
Being put on and then knocked off a pedestal; what a standard procedure
掌聲 噓聲 一轉身 鴉雀無聲
Cheering and criticism both disappear as I turn around
大石頭大石頭
Big rock, big rock
爬坡爬坡
Uphills, uphills
夢中曾經有人承諾我將獲得解脫
In my dream, someone once promised me freedom
作為交換條件 某部分的我被奪走
As long as I give up some parts of me
究竟為何 在夢中卻已渾濁
Which parts? The memory is too vague now
夢醒後 內容回想起總是荒謬
The dream always feels ridiculous when I’m awake
迴盪的殘響隱約聽見終將再次重逢
But somehow I still hear the voice saying we’ll meet again
帶著參悟 帶著困惑 一步步邁向業果
With enlightenment and bewilderment, my efforts will culminate in my karmic fruits
大石頭大石頭
Big rock, big rock
爬坡爬坡
Uphills, uphills -
scenario翻譯 在 Crescent Lament Youtube 的最佳貼文
2017-02-28 10:23:07從2007/02/28成立至今,Crescent Lament 恆月三途正式走過十個年頭。感謝一路陪伴的各個夥伴與聽眾,也感謝無數貴人的相助,我們幸運的在音樂的道路上,一直向前行。
身為台灣本土的樂團,我們想要將台灣的故事傳唱下去;在歷經2008年的兩張EP & 2011年的首張專輯 “Behind the Lethal Deceit / 末路之召”,我們逐漸摸索出明確的定位,以成為台語歌德/民謠金屬樂團為目標,並於2015年發行了第二張專輯 “花殤 / Elegy for the Blossoms”。在今年啟動的第三張專輯計畫中,我們將繼續以台灣歷史文化為主軸,唱阮台灣人的歌。
在歷經大大小小的表演後,我們在成軍的第十年 – 2016年,踏上了比利時音樂祭Metal Female Voices Fest的舞台。在這個歐洲的大舞台上,我們用台語歌唱著台灣藝妲的故事,用台灣藝妲的故事感動著不同文化的聽眾。是的,在滿場熱情的歐洲聽眾前,我們以身為台灣樂團感到無比光榮!
接下來,我們會繼續承接這個責任,繼續向前邁進。
謝謝你,一起十年。
--------------------------------------------------------------
Crescent Lament’s “10th Anniversary Documentary” is a visual review recording the most exciting moments we experienced in the past 10 years. Thanks to all friends and fans, without your support and encouragement, we wouldn’t be able to have so many beautiful memories.
As an indigenous band of Taiwan, our creations are greatly inspired by Taiwan’s history and culture, both musically and lyrically. After releasing 2 EPs in 2008 and debut album “Behind the Lethal Deceit” in 2011, we began to integrate traditional Taiwanese instruments with metal music. The result was “Elegy for the Blossoms” (2015), a conceptual album recounting the story of Taiwanese geisha in ancient Taiwan. Such a gothic/folk metal style will remain the principal theme in our future creations.
It is always a huge pleasure and honor to attend a gig or a festival. Through these domestic and foreign performances, we are deeply touched by the genuine enthusiasm from the audience. Here, we must show our immense gratitude to each organizers/staff of performance, cooperative band, photographer/videographer, and audience. Among those unforgettable performances we've attended, the Belgian festival "Metal Female Voices Fest" in October of 2016 is particularly worth mentioning. It was truly an amazing experience to play our Taiwanese-style songs on a famous European stage. We saw joy on people's faces, and were deeply flattered by their passions. It was a memorable milestone to celebrate the 10th year of Crescent Lament. Many thanks to Helcanen Val and everyone of MFVF to create this beautiful memory with us!
The journey of Crescent Lament will be continued.
Thank you all for being with us for these 10 years.
—【十周年全記錄】影音製作 / Making of this documentary —
★ 影像 / Video
- 腳本 / Scenario:周慕姿 Muer Chou
- 素材挑選 / Footage selection:許至維 Wick Hsu
- 影片剪輯 / Film editing:邱振華 Wat Chiu
- 英文翻譯 / English translation:周岳弘 Komet Chou
*特別感謝下列攝影師提供素材 / Special thanks to the photographers who providing the footage:Bongsoo Lee, Brian Chen, Ekim Lu, Hendrik Schroeder, Juergen Bardong, Kunio Huang, Lily Hsu, Nathan Lin, Rudi Marina Wauters, Rainer Kerber, Ton van Moll, 林布朗, 林峻, 吳旭曜(氫酸鉀), 周承翰, 周劭儒, 侯政宏 Horace Hou, 陳采瑩, 陳沐新
★ 音樂 / Audio
1.「煙花易寒」演奏版 / Once Blossomy (instrumental)
- 作曲 / Music:周岳弘 Komet Chou
- 編曲 / Arrangement :周岳弘 Komet Chou & Jedi Yeh
- 客座演出 / Guest appearance:楊子儀
2.「十年一瞬」/ 10th
- 作曲 / Music:周岳弘 Komet Chou
- 編曲 / Arrangement:恆月三途Crescent Lament
- 錄音 / Recording:邱振華 Wat Chiu & Jedi Yeh
- 混音 / Editing & Mixing:Jedi Yeh
追蹤我們的最新消息 / Stay up to date on Crescent Lament
Facebook - https://www.facebook.com/crescentlament
Website - http://crescentlament.site44.com/
scenario翻譯 在 Facebook 的最佳解答
『There are, however, dangers associated with doing this, as it could cause damage and even unbalance the ship.
[但是,這樣做會帶來危險,因為這可能會導致損壞甚至使船舶失衡。]
It would also be a delicate and time-consuming operation.
[這也是一個微妙且耗時的操作。]
"You would have to bring large floating cranes - but anything you do right now you would have to calculate the stability of the vessel, you have to determine how it would affect the stability," says Dr Mercogliano.
[Mercogliano博士說:“您將不得不攜帶大型浮吊-但是現在您要做的任何事情都必須計算船舶的穩定性,必須確定它將如何影響穩定性。”]
"Worst case scenario is that she breaks in half because of [uneven] weight distributions."
[“最糟糕的情況是,由於體重分佈不均,她會減半。”]
Also, trying to remove freight containers using floating cranes could be tricky given how high they are stacked up on the ship.
[而且,鑑於它們在船上堆積的高度,嘗試使用浮動起重機卸下貨運集裝箱可能很棘手。]
Draining fuel from the ship's tanks would be an easier operation, but may well not reduce the weight sufficiently.
[從船上的油箱中排出燃料是比較容易的操作,但可能無法充分減輕重量。]』
#難得分享英文網頁
#先幫大家翻譯一小段
scenario翻譯 在 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.
👏 歡迎轉載分享鼓掌
scenario翻譯 在 揪咪代購-BIGBANG YG日韓周邊代購 Facebook 的最佳貼文
181219 Yonhap News TV更新iKON相關
在今年大眾音樂市場中最受歡迎的歌曲是組合iKON的LOVE SCENARIO。
很容易跟唱的旋律,LOVE SCENARIO創造了今年最長的一位記錄。
小朋友們都會唱的旋律,LOVE SCENARIO這首歌讓iKON獲得了「小學生統領」的稱號。
35天的榜單一位保持記錄,證明瞭iKON的人氣。流媒體一位,下載也是一位。
(我們小學生統領😂👏🏻👏🏻👏🏻)
By Fish
翻譯來源 iK47•狙擊站
cr syh_bae