【用可以代替不可以】更好的說不可以
用可以代替不可以,相信大家都已經不陌生,蒙特梭利所提倡的「正向語言」,就是希望成人能將否定的語句,改為正向的語句,使孩子能夠清楚明白的知道應該怎麼做,而不只是感受到一味的被禁止。我記得培訓的時候,培訓師還帶著大家一起做改寫練習,說實在很不容易,不是改得怪怪的,就是覺得很憋扭。但是透過不斷地練習,漸漸的也習慣了,能將大部分的語句都改成正向語言了,不過僅僅對於孩子而已,要對身邊的大人也使用正向語言,又是另一個更大的挑戰。
☘️ 舉兩個改寫練習的例子(範例僅供參考)
狀況一:小孩在桌上跳舞
否定句➡️ 不要在桌上跳舞,趕快下來。
正向語言➡️ 你可以在地上跳舞,桌子是用來工作的地方,你想要自己下來,還是我抱你下來呢?(如果孩子沒有下來,那就溫和堅定地抱他下來)
狀況二:小孩A想要做小孩B正在做的工作
否定句➡️ 不可以動B的工作,那是他的工作。
正向語言➡️ 你可以用眼睛看B工作,等他做完放回櫃子上,你可以拿來做。
\
我最近觀察到兩個孩子,一個是朋友的孩子,一個是我家附近公園經常遇到的孩子,他們的年紀跟我們家弟弟一樣都是兩歲。在公園玩的時候,他們經常嘗試觸碰一些大人覺得實在難以容忍的東西,特別是疫情期間,比方說:髒水攤、別人留下的食物或杯子、垃圾桶。又或者做出一些挑戰的行為,例如有人正在溜滑梯,但是硬要從滑梯下方爬上去。當這些情況發生的時候,其實家長都在旁邊努力的說不可以、不行、不要摸!但是他們像是聽不見似的,繼續勇往直前,直到家長強行把他們抱走,然後一陣哭天搶地。這到底是為什麼呢?
根據我的觀察,這兩個孩子在做其他合理的探索行為時,或者雖然行為不恰當,但是可以透過正向語言來提醒時,大人因為擔心或保護心態,也一直在跟孩子說不可以、不要、不行。因此不管是符合兒童發展需求的探索,或者是真正的危急時刻,他們聽見的,都是一樣的負向語言,想當然,聽久了也就麻痺了,即便再危急,他們也不會停下來。
我幫這篇文章訂了一個繞口令般的標題,是想跟大家釐清,我們的確應當在大多情境下使用正向語言,但是在真正危急的時刻,是需要使用「不可以」的!並且那樣會使得不可以真正的奏效。我在學習正向語言時,培訓師跟我們強調,「真正危急的時刻,可以使用NO and STOP!」 ,但是唯有在平常不濫用「不」的前提下才會奏效。
在養育兩個孩子的過程,我一直很努力的把我的語句改成正向語句,所以在真正危急的時刻,我說出的NO and STOP 他們都能聽進去,因為他們知道,媽媽說出那些話的時候,就是真正危急的時候,因而停止行為。我曾經很懷疑正向語言到底有沒有用,幾年後我在孩子身上看見這樣的成果時,明白了自己的辛苦沒有白費,並再次對我的女神蒙特梭利女士肅然起敬。
使用正向語言,會讓孩子的情緒穩定許多,因為他們天生喜愛探索環境、對世界好奇的心,如果被一味的被禁止,自然會出現反抗。經常有家長說,每次跟小孩說不可以,小孩就愈要,講了幾百遍,小孩就是故意跟我過不去。其實,他們不是要跟大人做對,他們是在滿足自己未被滿足的需求而已,因為,生命會自己找出口。
\
「在日常中落實正向語言,關鍵時刻勇敢說出不可以。 」
———————————
相關文章:
帶孩子一起體驗正向語言的力量
https://reurl.cc/R0enyz
#正向語言
#positivelanguage
\
——————————————
🕯蒙特梭利相關文章:
【家,是最蒙特梭利的地方】
https://reurl.cc/ogKoN5
【在家如何蒙特梭利】日常生活教育
https://reurl.cc/YOkN70
【在家如何蒙特梭利】感官教育
https://reurl.cc/rgKGdr
【在家如何蒙特梭利】語文教育
https://reurl.cc/Akbmn3
【在家如何蒙特梭利】數學教育
https://reurl.cc/KAOYKq
【蒙特梭利教室的慶生】
https://reurl.cc/GmGRMG
【蒙特梭利選書原則】
https://reurl.cc/NrNmz9
【用可以代替不可以】更好的說不可以
https://reurl.cc/3abErl
【不完美,才完美】經驗中學習
https://reurl.cc/KAOnVM
【相信孩子】只幫一點點
https://reurl.cc/a9Mj63
🌱正向教養相關文章:
【頂嘴、唱反調)】歡迎光臨
https://reurl.cc/R09lAg
【新來的鄰居】孩子之間
https://reurl.cc/yEKj22
【不需要教孩子畫畫】
https://reurl.cc/pgKjQQ
【吼弟弟vs不吼弟弟】意外的體驗
https://reurl.cc/dGqjdV
【自然/邏輯後果的魔力】白內裝椅背教她的事
https://reurl.cc/eEV40Q
【小手和大手】跟孩子道歉(一)
https://reurl.cc/EnbMq0
【河東獅吼過後】跟孩子道歉(二)
https://reurl.cc/zeKRgy
【鹿的耳朵掉了】你相信你的孩子嗎
https://reurl.cc/kZ8YNL
「文章改寫範例」的推薦目錄:
- 關於文章改寫範例 在 Facebook 的精選貼文
- 關於文章改寫範例 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於文章改寫範例 在 Facebook 的最佳解答
- 關於文章改寫範例 在 當在撰寫論文或Essay時,若想改寫別人的句子,而非直接引用時 的評價
- 關於文章改寫範例 在 文章改寫技巧在PTT/Dcard完整相關資訊| 星星公主-2021年12月 的評價
- 關於文章改寫範例 在 文章改寫技巧在PTT/Dcard完整相關資訊| 星星公主-2021年12月 的評價
- 關於文章改寫範例 在 改寫範例在PTT/Dcard完整相關資訊| 健康急診室-2021年10月 的評價
- 關於文章改寫範例 在 改寫範例在PTT/Dcard完整相關資訊| 健康急診室-2021年10月 的評價
- 關於文章改寫範例 在 改寫技巧在PTT/Dcard完整相關資訊 的評價
- 關於文章改寫範例 在 改寫技巧在PTT/Dcard完整相關資訊 的評價
- 關於文章改寫範例 在 paraphrasing技巧的推薦與評價,FACEBOOK、GITHUB、PTT 的評價
- 關於文章改寫範例 在 paraphrasing技巧的推薦與評價,FACEBOOK、GITHUB、PTT 的評價
- 關於文章改寫範例 在 paraphrasing技巧的推薦與評價,FACEBOOK、GITHUB、PTT 的評價
- 關於文章改寫範例 在 課堂essay或研究論文的改寫技巧 - 留學板 | Dcard 的評價
文章改寫範例 在 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.
👏 歡迎轉載分享鼓掌
文章改寫範例 在 Facebook 的最佳解答
荷蘭在台辦事處 Netherlands Office Taipei 對 香草騎士 Vanilla Knight 訪談文侵權案件道歉賠償(內容工作者請千萬看到最後)/ Netherlands Office Taipei apologizes and compensates for copyright infringement of the Vanilla Knight interview article
.
半年了,距離我在巴黎家中發現自己的文章被抄襲、改寫成英文,並在荷蘭農業處網站發表已經半年。這半年中無論是全球疫情、還是我的個人生活都宛如雲霄飛車,上下起伏之多,讓人一方面很難想像半年已經過去、另一方面卻總有煙塵籠罩的不真實感。
.
今天上午在台北地方法院調解庭,我和荷蘭辦事處的當事人與律師同意就「建立文化、建立價值,建立產業間的連結 - 香草騎士創辦人味正琳師傅訪談筆記」侵犯著作權法一案達成和解,以下是雙方協議內容:
.
1. #荷蘭在台辦事處於該處網站首頁刊登中英文版道歉啟事,內文包含「未經授權挪用 / We did not obtain Ms. Chen's consent and our usage of Ms. Chen's article was without Ms. Chen's authorization.」、「致歉 / we apologize」等文字,自 4/6 下午 4 時至 4/16 下午 5 時止,共計 10 日。
.
📌 刊登網址:
https://www.nl.org.tw/index_zh.html(中文)、
https://www.nl.org.tw/index.html(英文)
.
2. #荷蘭在台辦事處提供雙方同意的侵權賠償,款項已於 4/7 匯入我的個人銀行帳戶。
.
3. 我將於 4/17 道歉啟事刊登時間結束後,撤銷對當事人的民事與刑事訴訟,並承諾不再追訴。
.
事件即將告一段落,但我其實並沒有任何欣喜之感。過程之反覆、瑣碎,讓我極為疲憊;為此奔波的好友之多,讓我在感受盛意之餘,始終有一絲歉疚。上回調解庭裡,看到當事人確實打從心裡感到後悔的表情,也使我相當難受。
.
我選擇將這件事刊登周知,是認為這個案件極為重要,#希望這件事能夠成為所有內文工作者的範例_鼓勵大家看重自己的作品_保護自己的權益,同時 #呼籲公眾尊重著作權_共同打造一個更健康的創作環境。
.
#所謂公理_其實不去爭取就不是你的。
過去一年因為過於勞累,我暫停撰寫中英雙語文章,只以中文為主,我到現在還不時自責,「如果當時中英文都寫了,是否會警惕抄襲的意圖?」、「如果當時有英文版,是否在報案時,更容易證明哪些段落是來自我的文章?」我也記得當事人的長官,荷蘭在台辦事處農業處處長那封令人瞠目結舌、甚至讓我幾乎要為所有內容工作者感到悲哀的來信;更難忘當我把事件始末轉錄在「台灣人在荷蘭」群組後,底下一片都是「荷蘭人是不會道歉的」的留言。
.
侵權告訴非常冗長,但並不困難。許多好朋友一開始就試圖勸退我,因為擔心過程中身心的折磨會與結果不成比例。但我還是想告訴大家,如果你認為自己做的事是正確的,就堅持下去。
.
#所有的創作都有價值_願意分享不代表歡迎抄襲
#就算只是爭一口氣_同樣會鼓舞很多人_帶來更多正面效益_減少同樣事情再次發生
我非常感激所有留言支持我捍衛自己權益,為我提供法律諮詢、心理支持的朋友,特別是從頭到尾大力協助,在我從法國回台隔離期間,代為公證證據、前往警局報案,並陪我出席調解庭,為我爭取到理想和解結果的 Eatpire - 風格美食指南 創辦人吳威賦(William),謝謝你們陪我一路走來、沒有退縮。
以下簡要列出發現文章被侵權後建議採取的行動給大家參考:
.
1. 立即蒐證,如侵權行為發生在網路上,除網頁截圖外,務必以螢幕錄影程式錄下造訪該網頁的紀錄,證實網頁確實存在的證據,以防網頁事後被移除。如果目前已被移除,可以嘗試用 Google cache 的方式取得快取頁面。
.
2. 蒐證完成,將證據印出、檔案存檔後立即前往公證人處公證。
.
3. 如果願意給對方機會,可寄出存證信函通知對方即將報案,否則直接帶著公證好的證據與個人身分證明,前往最近的警察局報案製作筆錄,筆錄中需載明侵權處。在我的案件中,對方雖是將文章改寫成英文版,但仍然涉嫌觸犯著作權法中的「改作」一項,因此我將明顯翻譯自我文章的段落摘出,與原文對照,放入筆錄中。
.
4. 接下來警方會通知對方到案說明,對方也可能試圖聯繫,取得和解。若不願和解,就靜候法院調解庭開庭通知。在此期間整理所有文件,並估算損失。記得,#不要低估自己的價值,除了文字內容可以比照發稿的稿費標準外,不要忘記還有自己的時薪,為寫作該篇文章付出的所有交通費、講習費、採訪、編輯費用等;若被侵權的部分還有照片,也要一同估計攝影師的費用、攝影器材租借費。若文章有商業用途,商業損失如廣告費、點擊率等也須一併估算在內。訴訟期間發生的所有相關費用如交通費、公證費、文件印刷、光碟印製費等也可計算其中。
.
5. 確認調解時間後,出席調解庭,帶好所有的證據、通訊往來,整理好論點,在調解委員前陳述,並提出和解條件,與對方協調。若調解成立,須確認同意的執行方案被妥善記錄至調解庭筆錄中,才有執行約束力。此時可選擇撤回告訴。若調解不成立,則該案件將直接進入法院審理程序。注意著作權侵權包含民事與刑事責任,因此若最後侵權行為確認,侵權行為人將會留下刑事案底。
.
再次感謝大家的支持,也希望這篇文章對提升整體創作環境有所幫助。現行的法規制度讓受害者非常疲憊,竊取者付出的代價很低,但我希望大家不要因為爭取自己該有的權益而自責,只有自己站起來保護自己的權益,現況才有改變的可能。衷心希望以後不再看到抄襲者理所當然,用「疏忽」、「遺漏」掩飾錯誤;也希望不再聽說有人受害,卻被大家勸退,理由是「爭一口氣很麻煩划不來」。
.
🔖 相關連結:
前情提要:https://tinyurl.com/ztykf69z
味師傅訪談原文:https://tinyurl.com/n7kuvmj8 (FB) 、https://tinyurl.com/hhh88uf7(網站)
文章改寫範例 在 文章改寫技巧在PTT/Dcard完整相關資訊| 星星公主-2021年12月 的推薦與評價
提供文章改寫技巧相關PTT/Dcard文章,想要了解更多改寫抄襲、改寫技巧、改寫英文 ... 品質並降低抄襲率的好技能,本篇文章與影片提供詳細的技巧和範例來教你如何改寫。 ... <看更多>
文章改寫範例 在 文章改寫技巧在PTT/Dcard完整相關資訊| 星星公主-2021年12月 的推薦與評價
提供文章改寫技巧相關PTT/Dcard文章,想要了解更多改寫抄襲、改寫技巧、改寫英文 ... 品質並降低抄襲率的好技能,本篇文章與影片提供詳細的技巧和範例來教你如何改寫。 ... <看更多>
文章改寫範例 在 當在撰寫論文或Essay時,若想改寫別人的句子,而非直接引用時 的推薦與評價
適當的使用Paraphrasing不僅可縮減字數,使文章能夠專注於研究重點, ... 降低抄襲率的好技能,本篇文章與影片提供詳細的技巧和範例來教你如何改寫。 ... <看更多>