我們一起回想一下,當我們在 PubMed 上搜尋的時候,是怎麼評估一篇論文的?是不是看看標題,然後直接跳到 conclusion。真有時間,就看一下完整的摘要,然後看能不能連到 PDF,快速看一下圖表?
⠀⠀
如果你是這樣看的話,reviewer 也是人,他們當然也是這樣看;再進一步,editor也是這樣看。
⠀⠀
所以,一篇論文,如果標題、摘要、結論、圖表,做得不夠好,很可能 reviewer 根本還沒看到你的全文,就已經準備退稿了。
⠀⠀
並不是說要各位只把這幾個部分寫好就行,而是如果你有不錯的資料,也願意花時間完成整篇文章,那麼這些地方,特別值得花心思優化,以爭取更大的完整審閱機會,也讓 reviewer 帶著期待跟正面的心情,去看你的全文。
⠀⠀
吳昭慶醫師,將以超過百篇 SCI 的寫作與指導經驗,加上在國際頂尖期刊擔任 editor 與 reviewer 的經驗,歸納整理,跟你清楚說明,到底這些關鍵部分,應該怎麼寫。
⠀⠀
▪怎樣的寫法才是好標題?怎樣的不好?
▪結論應該怎麼下?怎樣的結論會讓審閱者皺眉頭?
▪摘要可以抄 Introduction 跟 Discussion 的內文嗎?怎樣的錯誤會直接讓審閱者警鈴大作?
▪怎樣的圖表才清楚?怎樣的圖表是浪費彼此時間?
⠀⠀
國際期刊的審閱者很忙,順順的引導他們進入你的研究,就能走向勝利之路,有很高的機率被接受。
⠀⠀
--
⠀⠀
如果你……
想知道 editor 怎麼分稿、reviewer 怎麼審稿、revision 怎麼回覆?
⠀⠀
㊙ 這堂課以初學者為核心,提供各位走到國際學術舞台上的重點。
⠀⠀
全新改款 ➠ 10/17(日)臨床研究與發表工作坊
立即報名 ➠ https://clip2014.innovarad.tw/event/
⠀⠀
#2020年新思惟之友共689篇論文
#現在平均每月超過60篇論文發表
#下一個傑出校友就是你
⠀⠀
⠀⠀
👉 課程特色
⠀⠀
#以初學者為核心:課程設計核心,就是讓初學者能完成自己的第一篇 SCI 論文。直接告知許多起步者常掉進去的坑,協助避開。多年教學經驗,知道同學們卡關在哪邊,提供加速與避開陷阱建議,節省大量時間。
⠀⠀
#實際親手跑統計:用實際的例題,讓同學們親手操作,確定在自己的電腦上,用自己的滑鼠,能做出 SCI 等級的投稿用數據圖。並有新思惟講師與資深助教群,協助排解疑難雜症,卡關馬上能夠解決,立刻搞懂。
⠀⠀
#課後回饋再提升:現場互動實作,打通統計任督二脈後,回家繼續練習,在周三前上傳自己完成的數據圖,以及問題,由蔡校長一一看過,並個別回饋。假設統計數據圖,上課當天第一次做,能有 80 分,回家練五次,繼續進步到 95 分,由我們的快速提點與建議,能告訴各位到 100 分,還有哪些細節。用心把製圖學好,日後投稿不煩惱。
⠀⠀
🚩 SCI 天天有,讓國際級學者教你投稿重點!
https://clip2014.innovarad.tw/event/
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「introduction寫法」的推薦目錄:
- 關於introduction寫法 在 新思惟國際 Facebook 的最讚貼文
- 關於introduction寫法 在 Taipei Ethereum Meetup Facebook 的精選貼文
- 關於introduction寫法 在 新思惟國際 Facebook 的最讚貼文
- 關於introduction寫法 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於introduction寫法 在 大象中醫 Youtube 的最佳解答
- 關於introduction寫法 在 大象中醫 Youtube 的精選貼文
- 關於introduction寫法 在 [作文] Issue 寫作Introduction 段寫作法- 看板GRE - 批踢踢實業坊 的評價
- 關於introduction寫法 在 ReactJS 與Component 設計入門介紹 - GitHub 的評價
- 關於introduction寫法 在 「玩轉DSE英文」2016 DSE 作文Q9 示範introduction (2nd of 2 ... 的評價
introduction寫法 在 Taipei Ethereum Meetup Facebook 的精選貼文
📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
introduction寫法 在 新思惟國際 Facebook 的最讚貼文
#自己很會寫文章,
#也想知道怎麼教學。
(亞洲大學 健康產業管理學系 楊尚育 助理教授)
⠀
我從博士生開始就在撰寫學術論文,大部分的學習都是來自課堂上聽老師們說著自己已發表的論文。聽著老師們說著他們的大作,心中暗暗覺得我跟他們好像差距很遠。當時在老師們的指導下也發表了幾篇 SCI 的文章。
⠀
在博士畢業後,撰寫論文似乎是靠著一種「經驗」,可能因為閱讀的文章變多,慢慢也統整出一套自己慣用的寫法。雖然對於發表在國際期刊並不覺得特別難,可是如何有系統教導自己的研究生,讓他們也能快速、有效的學習,是令我深思的一件事。
⠀
#清楚論文不應該寫什麼,
#才是避免出局的關鍵。
⠀
在我的經驗中,對論文新手而言,最難的就是去清楚了解每一段落應該要「出現什麼」與「不應該出現什麼」。
⠀
陳一銘醫師很精要地在 30 分鐘解構論文的寫作,而最重要的就是提醒我們「什麼不應該出現」。我們很容易在 PubMed 上找出各種 high Impact 的論文,也很容易模仿其寫作風格,但我們無法找出被 reject 的文章,更不會了解它為何被 reject(只有我們被 reject 了,才看得到被 reject 的文章><)。
⠀
因此,避免自己的論文在一開始就出局的關鍵點,除了要知道怎麼寫之外,就是知道不應該寫些什麼。舉例來說,陳一銘醫師提醒我們,避免在第一段 introduction 大篇幅撰寫過去已知的事,不要考古,要點出重點,應立足過去看未來。因此,透過課程避免自己的論文進入雷區,就很重要了。
⠀
#突破盲點,
#快速學習製圖的方法。
⠀
論文圖表一直以來都是我的盲點,過去發表論文往往都是靠著共同作者協助完成。在過去發表的經驗中,部分 reviewer 確實喜歡看圖,因此回覆意見就喜歡要求作者將 table 的結果改成 figure 來呈現。
⠀
而在工作坊中利用 MedCalc,很簡單快速地就完成圖的製作,非常有效率,是個很直覺使用的統計軟體,多練習幾次就能夠快速上手了。在
⠀
⠀
🚩 7 / 10(六)醫學論文與寫作工作坊
➠ https://mepa2014.innovarad.tw/event/
➠ 讓 PubMed 查詢頁與 Google 查詢頁,展示出我們的深度與廣度。
⠀
⠀
▌ 四種寫論文一定會碰到的問題一次解決
⠀
☑ 入門稿件寫作與準備要訣。
☑ 不再害怕統計,讓你親手畫出數據圖。
☑ 投稿期刊選擇策略,研究計畫申請。
☑ 還是寫不出來?過來人時間安排建議!⠀
⠀
🚩疫情會過去,論文技能會留下。
➠ 2021 / 7 / 10(六)醫學論文與寫作工作坊
➠ https://mepa2014.innovarad.tw/event/
➠ 讓名字出現在 PubMed 上才是自己的。
introduction寫法 在 コバにゃんチャンネル Youtube 的最讚貼文
introduction寫法 在 大象中醫 Youtube 的最佳解答
introduction寫法 在 大象中醫 Youtube 的精選貼文
introduction寫法 在 ReactJS 與Component 設計入門介紹 - GitHub 的推薦與評價
reactjs101/reactjs-introduction.md at master · kdchang/reactjs101. ... 使用Functional Component 寫法(單純地render UI 的stateless components,沒有內部狀態、 ... ... <看更多>
introduction寫法 在 「玩轉DSE英文」2016 DSE 作文Q9 示範introduction (2nd of 2 ... 的推薦與評價
「玩轉DSE英文」2016 DSE 作文Q9 我示範一個5** 主流、規規矩矩(非讚賞)嘅寫法早前my style - 我有個摯愛嘅出位 introduction 寫法,, ... ... <看更多>
introduction寫法 在 [作文] Issue 寫作Introduction 段寫作法- 看板GRE - 批踢踢實業坊 的推薦與評價
我是謝忠理,看到網友 wuyujen 提出關於 issue 第一段的寫作心得
,以自己的個人經驗幫助其他考生,這種熱心值得推崇。
我個人從 2002 年 GRE 開始考作文起,就擔任 GRE 作文教學工作,
至今也累積了一些經驗,因此寫出這篇文章,補充一下關於 issue
第一段 (introduction) 的寫作方法。
■ Introduction 很重要,寫法也多元,不要劃地自限
我先列出我在上作文課時講到 introduction 與 conclusion 的寫作
選擇:我在上課講義中整理出論說文的 introduction 可以試著運用
的 10 種方法
4 Selecting an Opening Strategy
4.1 Open with an Anecdote
4.2 Open with a Background Story
4.3 Open with an Opinion
4.4 Open with a Question
4.5 Open with a Short Quotation
4.6 Open with a Direct Address
4.7 Open with a Brief Vivid Description
4.8 Open with an Example
4.9 Open with a Definition
4.10 Open with an Image
以及 conclusion 中可以發揮的 11 種方式
5 Selecting a Closing Strategy
5.1 Close with a Summary
5.2 Close with a Question
5.3 Close with a Call to Action
5.4 Close with a Compelling Example
5.5 Close with a Quotation
5.6 Close with an Interpretation or Evaluation
5.7 Close with Despair
5.8 Close with Hope
5.9 Close with Facts or Details
5.10 Close with an Echo of the Introduction
5.11 Close with an Image
上面這些方法是從多本作文教科書當中整理出來的,我另外再從時代
雜誌中找到相對應的範文,一一示範各種方式的文字鋪陳與句型變化
。另外,還有其他可能的 introduction 與 conclusion 寫法,不過
考慮到上課的時間安排,我並沒有放在教學內容裡。
提出這麼多的可能選擇,為的是告訴同學,有太多的方法可以開頭,
可以結尾。我們不需要什麼想像力,只要依照課本上說的方法,依樣
畫葫蘆就能夠寫出精彩的文章。
對於 issue 的 introduction, 我給同學的最明確建議是,不要在最
開頭就說「我贊成/反對……,原因是……」。這樣幾乎就斷送了
issue 文章拿到 5 分以上的機會,除非你後面的 body 段夠強,能
夠將文章救回來。(關於文章 introduction 寫法與最後分數間的關
係,可以從官方提供的範文裡看得出)
■萬變不離其宗的漏斗法 (Funnel Introduction)
下面這段文字,取自作文教科書,我在上課時,會再三提醒大家:
The Funnel Introduction
One reliably effective introduction forms a kind of
funnel. The writer starts with a statement or question
about the subject, a hook that forms a transition
between readers' experience or knowledge and the subject
of the essay. Then the writer clarifies or narrows the
subject in one or more sentences. And finally, in the
thesis statement, the writer asserts the central idea of
the essay.
任何學過英文寫作的人都看過類似的文字。簡單說,introduction
分為三個部分:
1. the hook
一開始有個 hook,將讀者從他的所處世界,帶到作者準備好要
發揮的環境裡來,給讀者一個論述的可能發展方向。
2. the narrowing part
然後,作者要將討論方向逐步限縮,將論述導向主旨。
3. the thesis
而最後,要寫出明確的主旨句 (thesis)。主旨句一般會放在
introduction 的最後一句,特別時會放在第一句,但是就不會
放在中間。
為了說明清楚,我拿一段我講義上的範例出來當參考:
The Declaration of Independence is so widely regarded as
a statement of American ideals that its origins in
practical politics tend to be forgotten.
Thomas Jefferson's draft was intensely debated and then
revised in the Continental Congress.
Jefferson was disappointed with the result.
However, a close reading of both the historical context
and the revisions themselves indicates that the Congress
improved the document for its intended purpose.
這段 introduction 總共用了 4 個句子,分別功能標示如下:
The Declaration of Independence is so widely regarded as
a statement of American ideals that its origins in
practical politics tend to be forgotten.
第一句:這是 hook,告訴讀者,我們這篇文章要討論獨立宣言
的相關事項。
Thomas Jefferson's draft was intensely debated and then
revised in the Continental Congress.
Jefferson was disappointed with the result.
第二、三句:限縮主題,告訴讀者,起草人 Jefferson 對修正
結果不高興。
However, a close reading of both the historical context
and the revisions themselves indicates that the Congress
improved the document for its intended purpose.
第四句:主旨句。告訴讀者,事後來看,大陸會議的修正版本是
正確的方向。
而此時,讀者就明確瞭解:「本文將要針對美國憲法的草案,與
後來的修正版本做出比較,以證明憲草修正改善了原本的草案,
而達到了預期的目標」
這樣的漏斗方式,配合前方所說的 anecdote, backgroud story 等
就可以產生出結構完整、內容精彩的 introduction 了。
再提醒一次,除非你沒有辦法了,不要在一開頭就寫「我贊成/反對
……,原因是……」。
■想自修學好寫作,該怎麼做?
1. 先看作文教科書,看書上說的原理原則,不要自以為是的亂想亂
寫。
以練功夫來說,就是看拳譜,看懂一招一式要怎麼放,怎麼擺。
2. 看懂書上說的各種原則後,找有聲譽的文章檢視(比方時代雜誌
、紐約時報),一一去審查作者用了哪些寫作的方法。這個時期
(至少半年)只要看,不需要寫,看透作者的手法,放在心裡揣
摩。
以練功來說,就是看別人怎麼打拳,怎麼出招,如何接招。不要
急著下去打,不然一不小心,連小命都送掉。
3. 有了理論基礎,也看過名家實做,有了相當確信之後,才下筆寫
。
從練功來說,就是有了把握,再上場打擂臺。這時需要跟能人
切磋,也就是需要找比自己厲害的人來批改自己的文章,以便能
夠精益求精。
■寫作是用時間換實力的事,不必心急
我自己是化工系出身,一路念到化工博士,但意外當了留學補教
老師。而過程當中幫讀者文摘以及時代雜誌等刊物當編輯,整理
文章、翻譯文字,前後加起來快 20 年,才有一點點的經驗,也
深知寫作這件事比起閱讀、填充等選擇題不知道難上多少倍。但
是,只要目標、方法正確,成功是指日可待的。
以上跟有志提昇自己寫作能力(不是只是應付考試而以)的同學
共勉。
謝忠理 [email protected]
https://oketw.blogspot.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.75.155
※ 文章網址: https://www.ptt.cc/bbs/GRE/M.1428604872.A.025.html
... <看更多>