📜 [專欄新文章] ZKP 與智能合約的開發入門
✍️ Johnson
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
這篇文章將以程式碼範例,說明 Zero Knowledge Proofs 與智能合約的結合,能夠為以太坊的生態系帶來什麼創新的應用。
本文為 Tornado Cash 研究系列的 Part 2,本系列以 tornado-core 為教材,學習開發 ZKP 的應用,另兩篇為:
Part 1:Merkle Tree in JavaScript
Part 3:Tornado Cash 實例解析
Special thanks to C.C. Liang for review and enlightenment.
近十年來最強大的密碼學科技可能就是零知識證明,或稱 zk-SNARKs (zero knowledge succinct arguments of knowledge)。
zk-SNARKs 可以將某個能得出特定結果 (output) 的計算過程 (computation),產出一個證明,而儘管計算過程可能非常耗時,這個證明卻可以快速的被驗證。
此外,零知識證明的額外特色是:你可以在不告訴對方輸入值 (input) 的情況下,證明你確實經過了某個計算過程並得到了結果。
上述來自 Vitalik’s An approximate introduction to how zk-SNARKs are possible 文章的首段,該文說是給具有 “medium level” 數學程度的人解釋 zk-SNARKs 的運作原理。(可惜我還是看不懂 QQ)
本文則是從零知識證明 (ZKP) 應用開發的角度,結合電路 (circuit) 與智能合約的程式碼來說明 ZKP 可以為既有的以太坊智能合約帶來什麼創新的突破。
基本上可以謹記兩點 ZKP 帶來的效果:
1. 擴容:鏈下計算的功能。
2. 隱私:隱藏秘密的功能。
WithoutZK.sol
首先,讓我們先來看一段沒有任何 ZKP 的智能合約:
這份合約的主軸在 process(),我們向它輸入一個秘密值 secret,經過一段計算過程後會與 answer 比對,如果驗證成功就會改寫變數 greeting 為 “answer to the ultimate question of life, the universe, and everything”。
Computation
而計算過程是一個簡單的函式:f(x) = x**2 + 6。
我們可以輕易推出秘密就是 42。
這個計算過程有很多可能的輸入值 (input) 與輸出值 (output):
f(2) = 10
f(3) = 15
f(4) = 22
…
但是能通過驗證的只有當輸出值和我們存放在合約的資料 answer 一樣時,才會驗證成功,並執行 process 的動作。
可以看到有一個 calculate 函式,說明這份合約在鏈上進行的計算,以及 process 需要輸入參數 _secret,而我們知道合約上所有交易都是公開的,所以這個 _secret 可以輕易在 etherscan 上被看到。
從這個簡單的合約中我們看到 ZKP 可以解決的兩個痛點:鏈下計算與隱藏秘密。
Circuits
接下來我們就改寫這份合約,加入 ZKP 的電路語言 circom,使用者就能用他的 secret 在鏈下進行計算後產生一個 proof,這 proof 就不會揭露有關 secret 的資訊,同時證明了當 secret 丟入 f(x) = x**2 + 6 的計算過程後會得出 1770 的結果 (output),把這個 proof 丟入 process 的參數中,經過 Verifier 的驗證即可執行 process 的內容。
有關電路 circuits 的環境配置,可以參考 ZKP Hello World,這裡我們就先跳過去,直接來看 circom 的程式碼:
template Square() { signal input in; signal output out; out <== in * in;}template Add() { signal input in; signal output out; out <== in + 6;}template Calculator() { signal private input secret; signal output out; component square = Square(); component add = Add(); square.in <== secret; add.in <== square.out; out <== add.out;}component main = Calculator();
這段就是 f(x) = x**2 + 6 在 circom 上的寫法,可能需要時間去感受一下。
ZK.sol
circom 寫好後,可以產生一個 Verifier.sol 的合約,這個合約會有一個函式 verifyProof,於是我們把上方的合約改寫成使用 ZKP 的樣子:
我們可以發現 ZK 合約少了 calculate 函式,顯然 f(x) = x**2 + 6 已經被我們寫到電路上了。
snarkjs
產生證明的程式碼以 javascript 寫成如下:
let { proof, publicSignals } = await groth16.fullProve(input, wasmPath, zkeyPath);
於是提交 proof 給合約,完成驗證,達到所謂鏈下計算的功能。
最後讓我們完整看一段 javascript 的單元測試,使用 snarkjs 來產生證明,對合約的 process 進行測試:
對合約來說, secret = 42 是完全不知情的,因此隱藏了秘密。
publicSignals
之前不太清楚 publicSignals 的用意,因此在這裡特別說明一下。
基本上在產生證明的同時,也會隨帶產生這個 circom 所有的 public 值,也就是 publicSignals,如下:
let { proof, publicSignals } = await groth16.fullProve(input, wasmPath, zkeyPath);
在我們的例子中 publicSignals 只有一個,就是 1770。
而 verifyProof 要輸入的參數除了 proof 之外,也要填入 public 值,簡單來說會是:
const isValid = verifyProof(proof, publicSignals);
問題來了,我們在設計應用邏輯時,當使用者要提交參數進行驗證的時候,publicSignals 會是由「使用者」填入嗎?或者是說,儘管是使用者填入,那它需不需要先經過檢查,才可以填入 verifyProof?
關鍵在於我們的合約上存有一筆資料:answer = 1770
回頭看合約上的 process 在進行 verifyProof 之前,必須要檢查 isAnswer(publicSignals[0]):
想想要是沒有檢查 isAnswer,這份合約會發生什麼事情?
我們的應用邏輯就會變得毫無意義,因為少了要驗證的答案,就只是完成計算 f(42) = 1770,那麼不論是 f(1) = 7 或 f(2) = 10,使用者都可以自己產生證明與結果,自己把 proof 和 publicSignals 填入 verifyProof 的參數中,都會通過驗證。
至此可以看出,ZKP 只有把「計算過程」抽離到鏈下的電路,計算後的結果仍需要與鏈上既有的資料進行比對與確認後,才能算是有效的應用 ZKP。
應用邏輯的開發
本文主要談到的是 zk-SNARKs 上層應用邏輯的開發,關於 ZKP 的底層邏輯如上述使用的 groth16 或其他如 plonk 是本文打算忽略掉的部分。
從上述的例子可以看到,即使我們努力用 circom 實作藏住 secret,但由於計算過程太過簡單,只有 f(x) = x**2+6,輕易就能從 answer 反推出我們的 secret 是 42,因此在應用邏輯的開發上,也必須注意 circom 的設計可能出了問題,導致私密訊息容易外洩,那儘管使用再強的 ZKP 底層邏輯,在應用邏輯上有漏洞,也沒辦法達到隱藏秘密的效果。
此外,在看 circom 的程式碼時,可以關注最後一個 template 的 private 與 public 值分別是什麼。以本文的 Calculator 為例,private 值有 secret,public 值有 out。
另外補充:
如果有個 signal input 但它不是 private input,就會被歸類為 public。
一個 circuit 至少會有一個 public,因為計算過程一定會有一個結果。
最後,在開發的過程中我會用 javascript 先實作計算過程,也可以順便產出 input.json,然後再用 circom 語言把計算過程實現,產生 proof 和 public 後,再去對照所有 public 值和 private 值,確認是不是符合電路計算後所要的結果,也就是比較 javascript 算出來的和 circom 算出來的一不一樣,如果不一樣就能確定程式碼是有 bug 的。
參考範例:https://github.com/chnejohnson/circom-playground
總結
本文的程式碼展現 ZKP 可以做到鏈下計算與隱藏秘密的功能,在真實專案中,可想而知電路的計算過程不會這麼單純。
會出現在真實專案中的計算像是 hash function,複雜一點會加入 Merkle Tree,或是電子簽章 EdDSA,於是就能產生更完整的應用如 Layer 2 擴容方案之一的 ZK Rollup,或是做到匿名交易的 Tornado Cash。
本文原始碼:https://github.com/chnejohnson/mini-zkp
下篇文章就來分享 Tornado Cash 是如何利用 ZKP 達成匿名交易的!
參考資料
概念介紹
Cryptography Playground
zk-SNARKs-Explainer
神奇的零知識證明!既能保守秘密,又讓別人信你!
認識零知識證明 — COSCUP 2019 | Youtube
應用零知識證明 — COSCUP 2020 | Youtube
ZK Rollup
動手實做零知識 — circom — Kimi
ZK-Rollup 开发经验分享 Part I — Fluidex
ZkRollup Tutorial
ZK Rollup & Optimistic Rollup — Kimi Wu | Medium
Circom
circom/TUTORIAL.md at master · iden3/circom · GitHub
ZKP Hello World
其他
深入瞭解 zk-SNARKs
瞭解神秘的 ZK-STARKs
zk-SNARKs和zk-STARKs解釋 | Binance Academy
[ZKP 讀書會] MACI
Semaphore
Zero-knowledge Virtual Machines, the Polaris License, and Vendor Lock-in | by Koh Wei Jie
Introduction & Evolution of ZK Ecosystem — YouTube
The Limitations of Privacy — Barry Whitehat — YouTube
Introduction to Zero Knowledge Proofs — Elena Nadolinski
ZKP 與智能合約的開發入門 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有1部Youtube影片,追蹤數超過3萬的網紅孫在陽,也在其Youtube影片中提到,AI-ready是什麼?大數據結合統計方法,得到真實證據,解決問題,精準管理。然而現在遭遇到最大的瓶頸,就是沒有標準,數據合併須要不斷重做。 以函數為起點,使用哪些函數、提升效率的寫法是什麼、變數函數應用。 00:00:00 開場 00:03:00 認識F檢定,獨立樣本T檢定 00:10:00 ...
「f值寫法」的推薦目錄:
- 關於f值寫法 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於f值寫法 在 Pazu 薯伯伯 Facebook 的最讚貼文
- 關於f值寫法 在 倒立先生Mr. Candle Facebook 的最佳解答
- 關於f值寫法 在 孫在陽 Youtube 的最佳貼文
- 關於f值寫法 在 [問題]關於F值後的括號內數值標示- 看板Statistics - 批踢踢實業坊 的評價
- 關於f值寫法 在 第一部分FANUC-巨集變數入門簡介| Facebook 的評價
- 關於f值寫法 在 數學中常見的arg 和arg max/ min 是什麼? | 辛西亞的技能樹 的評價
- 關於f值寫法 在 [閒聊] 無限泡影比技剝效分都強 - PTT 熱門文章Hito 的評價
- 關於f值寫法 在 [閒聊] 無限泡影比技剝效分都強- 看板C_Chat | PTT動漫區 的評價
f值寫法 在 Pazu 薯伯伯 Facebook 的最讚貼文
請帖外交
文:薯伯伯
話說新華社聲稱,「多國人士認為香港推遲立法會選舉是高度負責選擇 」,而在一眾「多國人士」當中,除了典型的巴勒斯坦、肯雅等,還有法國。
有些香港讀者很疑惑,法國人怎麼會認同「香港推遲立法會選舉是高度負責選擇 」?
報道中原文是這樣寫:「法國中國問題專家索尼婭·佈雷斯萊表示,推遲香港特區立法會選舉反映了特區政府面對疫情的務實精神,即以保障人民福祉作為首要任務,避免廣大市民冒著被病毒感染風險而參加選舉。」(https://bit.ly/2EHOKWZ)
這個所謂的「中國問題專家」,在 2007 年她寫了《穿越西藏》,聲稱要讓西方瞭解「真正的西藏」。在2015年又出版了《新疆——絲綢之路的一千零一個奇跡》,說「我在新疆感受到各民族對這個國家的熱愛」。
類似的西方人,遠道而來唱好共產政權,在共產政權甚為普遍。我在這裡節錄一段《北韓迷宮》的章節,讓大家看看在被稱為「兄弟邦」的北韓,到底如何玩得出神入化。
* * *
節錄自《北韓迷宮》第十章〈南北分界線〉(薯伯伯著,香港天窗出版,2020年增訂版):
北韓人似乎真心相信主體思想就是世界最前衛的政治及哲學論述,對外國人「熱衷學習」這個似是而非的理論,絲毫不起疑心,不覺奇怪。我隨便翻開朝鮮勞動黨的機關報《勞動新聞》[1],置頂版位是最高領袖金正恩的指導和視察活動,其餘20則新聞,居然有18條都是跟外國有關,倒顯得極具國際視野。當中13條是外國團體如何仰慕朝鮮,2條是金永南[2]祝賀外國成就,另外3條則是批評聯合國及美國的對朝政策。
我把那15條所謂外國團體對北韓歌功頌德的新聞標題列出來,讓大家感受一下朝鮮的國際觀是怎樣煉成的:
* 瑞士團體贊揚金日成同志的業績
* 英國團體網站刊載金正恩同志著作
* 南非團體網站介紹金日成主席簡歷
* 德國成立2017年白頭山偉人稱頌大會籌委會
* 斯洛文尼亞成立2017年白頭山偉人稱頌大會籌委會
* 慶祝太陽節[3]籌委會在納米比亞成立
* 摩爾多瓦團體成立慶祝太陽節暨朝鮮勞動黨七大籌委會
* 哈薩克斯坦成立慶祝太陽節籌委會
* 慶祝太陽節津巴布韋籌委會成立
* 一些國家(羅馬尼亞、奧地利、幾內亞和尼日利亞)研究和普及金日成主席回憶錄和著作
* 一些國家(德國、波蘭和孟加拉國)舉辦金日成主席業績討論會
* 一些國家(巴基斯坦、埃及和墨西哥)舉行慶祝太陽節討論會
* 德國成立朝鮮文化研究小組
那些仰慕金日成理論或朝鮮政體的組織,分佈於歐美各國,連尼泊爾也有,起名大多是甚麼主體思想研究小組、先軍政治研究協會或金日成金正日主義研究會等[4]。尼泊爾的組織名叫記者協會[5],只有小貓三四隻,卻多次前往平壤朝聖。前蘇聯陣營國家或是今天的朝鮮,最愛這種國際上的「老朋友」,經常包飲包食邀請對方來朝,好收國際及國內宣傳輿論之效。不過這個尼泊爾記協也不是白來的,他們在2008年就曾給金正日頒發「尼泊爾國際和平獎」。
你敢想像嗎?金正日真的得過國際和平獎啊!只是這個獎狀的設計,頗像是在加德滿都買到的廉價乾果上面那張包裝貼紙而已。
***
北韓一向自視甚高,非常在意來訪的外國官員及訪客人數和級別。自從金日成那個年代起,就一直有所謂的「請帖外交」,歡迎外國名人前來平壤。受邀者除了政界人士,也有影視藝員。聽洪永城說,他在2015年為香港無綫電視在北韓拍攝節目,回到香港之後,居然收到北韓電影節主辦機構的邀請,想他出席這個朝鮮娛樂盛事,但洪永城對這個國家始終有點戒心,只好婉拒。
在1970年代,就有至少4位外國高級官員到來朝鮮訪問,分別來自東德、南斯拉夫、柬埔寨,當然也少不了中國共產黨的代表,他們一來,全受到金日成以宮廷的駕勢和排場的親切接待。
柬埔寨西哈努克親王被單獨安排在宮殿的住處,東德領導昂納克則受到了他「有生以來最隆重的歡迎」,而代表中方出席北韓1978年9月9日舉行的建國30周年大典,是當時中共實際上的最高領導人鄧小平[6]。小平同志訪問北韓五天,給足金日成面子,金主席非常高興,慶典期間,一直陪在鄧小平身邊[7]。
我跟中國民族問題專家王力雄談到「請帖外交」這一現象,他聯想到文革期間,中國也豢養了一堆西方的思想政黨,組織往往不到十人。其中一個著名例子,是荷蘭馬克思列寧主義黨,打著馬列旗號,到處招搖撞騙,該黨的總書記化名彼德森,跑到中國25次,踩著紅地氈過來,不單獲盛宴招待,還拿了不少紅包,更受到《人民日報》的祝福。這個荷蘭馬列黨的所謂總書記,其實只是一名數學老師,而更有甚者,如此耐人尋味的國際行騙計劃,居然是由美荷兩國的情報機關聯手炮製,用以刺探北京情況。北京由金主搖身一變,成了冤大頭[8]。
北韓的思想教育,其中一個重點,就是在大搞金家個人崇拜的造神運動外,再提升朝鮮民族主義。從所謂的大同江古文明,到現代的主體思想,均體現了外人難以理解的民族優越感。在妙香山設立的國際友誼展覽館,放置了老朋友送來讓人啼笑皆非的紀念品,其目的就是營造萬邦來朝的假象。王力雄說:「極端孤立的政權,下面的人為了向獨裁者表現工作成就,故意縱容這些山寨組織。」
古代中國跟現在朝鮮的情況雖然差異頗大,但倒有一個相似的賞貢心態。王力雄在其著作《天葬:西藏的命運》也有提到中國歷史裡的朝貢和賞賜現象[9]。按天朝的邏輯,前來上貢,即表臣服,自古以來,中國皇帝都把周邊的「蠻夷」上貢視為統領萬方的象徵,以此滿足天子心態。貢品多屬不值錢之物,但朝貢者一入中原,即派兵護送,沿途開銷全包,並厚往薄來,回賜甚豐。貢賜明顯有利可圖,上貢就成了合算的生意。
現代朝鮮所做的,其實就是中華思想[10]的平行時空,有著唯我獨尊、宇宙最強的共同心態。香港學者沈旭暉說,北韓的政治宣傳,也許就是恰如其分地混和著儒家哲學、民族主義[11]及一丁點的馬列思想。雖然在外人看來有點荒誕,但對朝鮮人而言,卻變成民族驕傲。
在行程當中,我經常會對小韓的講解內容充滿疑惑,但有一點我是非常肯定,就是她對主體思想是宇宙最中心的理論,真心堅信不移。小韓從來沒有向我們主動推銷主體思想,但只有團友問起,她總會非常積極地回答,聽到有遊客背得出一兩句,是由衷地欣喜兼欣賞。去到紀念品書店,她也會善意地提醒店裡的主體思想叢書,均有中文及其他語文的版本。
我總覺得,小韓跟我們聊起主體思想時,語氣不再是導遊,倒有點像是傳教士,對沒有受過主體思想感化的地球人民宣揚主體思想,就是她的神聖責任。
* * *
注釋:
[1] 我打開的那份《勞動新聞》,是2016年4月6日的中文版,這份官媒的網址為,http://www.rodong.rep.kp/cn/ 。
[2] 金永南曾任中央政治局常委和最高人民會議常任委員長,地位僅次於金正恩,在2019年正式退休。
[3] 太陽節即是金日成的誕辰紀念日(4月15日),是北朝鲜最重要的全國節假日。從1968年起金日成生日成了北韓節日,到了1997年此節日正名為太陽日。
[4] 黃長燁,《黃長燁回憶錄》,北京,華夏出版社,2008,第7章提到,世界各地開始對主體思想感興趣,先是第三世界的學者,後來是歐美各國,而東京在北朝鮮的支持下成立了主體思想國際研究所,但黃長燁跟那位日本人的理事長見過面,覺得他並沒有理解主體思想。
[5] 此記者協會的英文名為Nepal Journalists Association,網頁設計頗為「山寨」,http://www.nja.org.np/ 。在尼泊爾有另一個較為正式的記者協會,即Federation of Nepali Journalists,兩者應該沒有關係。
[6] 1978年12月18日,中共十一屆三中全會在北京開幕,正式確立了鄧小平實際最高領導者的地位。
[7] 傅高義(Vogel, Ezra F.),《鄧小平時代》,香港:中文大學,2012,第241至243頁。
[8] 更詳細的資料,可參看《華爾街日報》的文章〈In From the Cold: He Was a Communist For Dutch Intelligence〉,http://pazu.com/nk/nl
[9] 王力雄,《天葬:西藏的命運》,台北:大塊文化,2009,第一章〈主權問題出現以前的中藏關係〉。
[10] 在朝鮮半島上,還曾出現所謂的「小中華思想」,朝鮮的儒學家認為,朝鮮取得中華文明,以「小中華」自居,視他者為夷狄。參看,http://pazu.com/nk/huayi
[11] 這個觀點,在Lim, Jae-Cheon,《Kim Jong Il’s Leadership of North Korea》,倫敦: Routledge,2009,第7頁及57頁有更詳細的描述。當中寫道:「金正日在儒家思想及民族主義的社會環境成長……北韓媒體把他塑造成個忠誠孝子。」
* * *
《北韓迷宮》增訂版
作者:薯伯伯
出版:香港天窗
年份:2020年增訂版
在旺角序言、北角森記及各大書店,均有發售。
f值寫法 在 倒立先生Mr. Candle Facebook 的最佳解答
曹長青:口試通知書洩露蔡英文假博士?
蔡英文博士論文/證書等遭很多質疑。蔡本人不出面解釋,公器私用,由總統府開記者會,拿出一堆文件,博士證書就有不同的三份,而且是不同校長簽名(兩次補發),也是創了世界紀錄。
蔡英文被強烈質疑的一點是:如果她當年參加了論文答辯口試,那就應該有評審教授。按倫敦大學規定,至少是兩名教授評審。像當年用捐款獲政經學院博士的利比亞格達費的兒子,他的評審教授Meghnad Desai在英國《衛報》發文說,當時他是作為校外教授參加了對格達費兒子的口試評審。他說另一名是校內的,共兩名。
蔡英文如果有參加論文口試,兩位(至少)答辯教授是誰?蔡始終不提供。在其自傳《洋蔥炒蛋》中,蔡英文提到幾名評審教授討論兩個多小時,認為她的論文太精彩,要給她兩個博士學位,最後給她一個半(不是開玩笑,而是說真給了一個半)。且不說這是個已經讓所有人嘲笑的一目了然的謊言,因為哪裡都沒有讀一個專業給兩個或一個半博士的,既然蔡英文那麼清楚地記得評審教授的討論,怎麼卻連教授的名字一個都不記得呢?被問了千百遍了,為什麼至今一個都拿不出來?!
而且,那麼高度評價她的論文、讚賞到要給她兩個博士的評審教授,蔡英文居然在《自傳》中一個名字都不提,更無一個字的感謝,這太不合常情常理了吧。什麼事不符合常情常理,就必須打一個問號。是蔡英文把評審教授們的名字全忘掉了?如果真忘了,35年來哪天都可以馬上去學校查詢。這個問題的答案可能是:壓根就不存在要給蔡英文兩個博士的評審委員(口試委員)。
蔡英文根本沒有博士論文評審委員的另一個證明是:按照倫敦大學的規定,論文口試答辯通過後,評審委員要寫一份共同意見書,寫明通過的理由。而蔡英文為什麼到現在都拿不出這份意見書?35年都拿不出來!
在這次總統府記者會上,發言人黃重諺解釋說,不是每個博士論文(指遞交給圖書館的典藏本)上面都印有評審委員的意見書。但是,即使不印在博士論文上(其他很多人的論文上面都有這一頁),那麼起碼應該有這樣一份意見書吧?它在哪裡?為什麼從不見踪影?
倫敦政經學院的學位論文答辯有總共47條規定,非常詳細,其中第36、37、38條規定,論文答辯通過後,必須(必須!)有主持答辯的幾名評審委員的共同意見書、委員的各自簽名、答辯日期、答辯人名字等。然後這個答辯通過通知書,正式由該學院的學術註冊委員會(the Academic Registrar)寄給答辯人(即博士候選人)。請見這個規定:https://info.lse.ac.uk/…/…/Assets/Documents/guiConResExa.pdf
蔡英文沒有這份重要的評審委員共同意見書,說明她沒有通過論文口試,當然就沒有獲得這份口試通過的通知書(共同意見書)。或者她根本就沒有參加過論文口試。
但這次的總統府記者會上,發言人拿出一份文件,說是蔡英文的博士論文口試通過的通知信。請讀者注意,那不是有評審委員各自簽名的那份共同意見書,而是學院負責學位註冊事務的主管發出的通知信。
不管怎樣,有這樣一份通知信,也可證明當年有參加過論文口試,並獲得通過。但是,這張通知信又是一個複印件(不是原件)。這裡之所以強調複印件,是因為在電腦合成、複印技術高超的今天,什麼文件都可拼製出來。複印件是令人生疑的。
我們假定蔡英文提供的這個複印件是真實的,是出自當時的倫敦大學。但是,與該大學類似通知書比較,可很容易看出,這次蔡英文提供的通知書涉嫌偽造。
大家請看下面這張圖,左邊是總統府記者會拿出來的,聲稱是1984年蔡英文獲得口試通過的通知書,右邊是1991年該學院給一位先生發出的通知書,兩相比較,問題一目了然。我把這張圖上有人用紅色標記展示的不同,用文字再描述一次:
1,右邊那張,有personal 字樣;
左邊蔡英文的那張沒有。格式不一樣。
2,右邊那張,右上角的日期,是按英國正規日期寫法:3 July 1991;
左邊蔡英文那張是:8 February, 1984。多了一個逗號,不是英國常規日期寫法。
英國正規大學的行政部門,每天做這種事情的人,在這種細節上弄錯的可能性小到幾乎沒有。
本人上網查了一堆英國信件,除了有美國人寫的完全按美式的(February 8,1984),其它英式的,基本都是 8 February 1984 這種格式。雖然也找到一份有逗號的,那是1949年發出的,很早的時代。有英國的朋友提供了英美日期標準寫法的網頁,從中更可看出英美寫法不同:https://www.englishclub.com/vocabulary/time-date.htm。
蔡英文的通知書有這種差錯,是不是出自不高明的造假人之手?
3,右邊那張是:Dear Sir, 兩個字母是排得很齊的,顯示是一起打字的;
左邊蔡英文那張的 Dear 與 Madam卻不是一般齊,Madam比 Dear 低了一些,顯然不像是同時打字的。這就不排除,是把原來那個位置的 Sir 塗掉,換上了 Madam,可惜又是不高明,沒對齊,再次給出明顯的偽造痕跡。
4,右邊那張有這樣一行話: A copy of the Examiner’s report on your candidature is enclosed with this letter for your personal information.
(中譯:口試評審委員對你論文的報告(即共同意見書)副本隨此信一起附上給你個人存檔)。
左邊蔡英文那張,就沒有這段話。那這個涉嫌偽造的通知書上為什麼不加上同樣一段話呢?因為如果加上,就有個要提供口試評審委員共同意見書的問題。而蔡英文拿不出這個共同意見書,於是索性就不要這段話。
5,右邊那張,在學術註冊主任落款處有一句英文:「Yours faithfully」;
左邊蔡英文那張是:「Yours faithfully, 」,多了一個逗號,這是美式落款。
6,右邊那張有學術註冊主任 G. F. Roberts(Mrs.)的簽名;
左邊蔡英文的那張沒有任何人的簽名。沒有簽名的文件,等同一張廢紙,沒有法律效用。
7,右邊那張左下角的郵寄地址處「Road, 」,後面有個逗號;
左邊蔡英文的那張Road 後面沒有逗號,格式又不一致。
尤其是寄給蔡英文的地址,寫的是 Taiwan。在1984年時,蔣經國仍統治(1988年才解除黨禁報禁),郵信地址會寫Taiwan,而不是 Republic of China,或加上ROC?而Taiwan 的使用,好像是二千年台灣有了政黨輪替之後吧?這個要請有經驗的海外台灣人回憶、認證。
上述這些格式不同、日期寫法不同、英文單詞排列高低不同、尤其是沒有說隨信附上論文口試通過的評審委員共同意見書、更沒有學術註冊主任的簽名等等這麼多問題都展示,蔡英文拿出的這張口試通過的通知書可能是偽造的。如果最後證實這張是假的,那蔡英文的所有文件都不可信,也沒有任何意義;而且就這一紙假文書的嚴重性,已經足夠把蔡英文的全部誠信撕得粉碎。。
更何況,圍繞論文和博士學位,蔡英文的謊話已經多到數不過來了。簡直到了可怕程度。選舉是一時的,而誠信的價值是永恆的。如果為了選舉,就容忍撒謊欺騙,那台灣無論有多少次選舉,也跟對岸沒多少區別,因為他們都接受同樣欺騙的價值,都可以為了權力不擇手段。
2019年9月29日於美國
f值寫法 在 孫在陽 Youtube 的最佳貼文
AI-ready是什麼?大數據結合統計方法,得到真實證據,解決問題,精準管理。然而現在遭遇到最大的瓶頸,就是沒有標準,數據合併須要不斷重做。
以函數為起點,使用哪些函數、提升效率的寫法是什麼、變數函數應用。
00:00:00 開場
00:03:00 認識F檢定,獨立樣本T檢定
00:10:00 ETL與ELT的差別
00:20:00 F檢定:變異數差檢定
00:25:00 T檢定:平均數差檢定
00:30:00 F檢定:變異數差檢定
00:35:00 T檢定:平均數差檢定

f值寫法 在 第一部分FANUC-巨集變數入門簡介| Facebook 的推薦與評價
巨集指令是以輸入可以變動的變數值 ... 這單節的X值或是F值就是一變數下去執行但是變數該怎去宣告呢??? ... 這種寫法大致上是用在會有變化尺寸的加工物上. ... <看更多>
f值寫法 在 數學中常見的arg 和arg max/ min 是什麼? | 辛西亞的技能樹 的推薦與評價
常見的數學表示. $y = f(x)$ 一般的函式寫法,表給定一輸入值$x$,將該 ... ... <看更多>
f值寫法 在 [問題]關於F值後的括號內數值標示- 看板Statistics - 批踢踢實業坊 的推薦與評價
通常在F值旁會有括號,而括號內通常標示著自由度
我看到一個例子是利用ANOVA,實驗二十七隻魚在兩種環境下獵捕獵物的平均時間並分析
而他的結果寫F(1,26)=64.27, p<0.001,在兩種環境下所需時間是有顯著差異
我的問題就是在於括號內的值不是應該標示(組別數-1,總樣本數-組別數)=(1,25) ?
我看的書上例子,或以前看過的例子通常是這樣標,
想請問各位是我少考慮甚麼?還是這樣的寫法也是可以被接受的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.196.230
... <看更多>