雫教你用婚姻理解比特幣閃電網路

吉田春(Yoshita Haru)和水谷雫(Mizutani Shizuku)在經歷多年的風風雨雨後,兩人終成眷屬,準備要結婚了。然而雫想起她那廢物老爸敗家的歷史,又考量春過去突然消失的不良紀錄,希望把兩人的財產算清楚,誰也不吃虧。想要阻止這一切的春就主張:「每次我們之間的轉帳都要經過銀行,手續費太貴了」。誰也想不到精明的雫竟然想到一個方法,可以讓兩人在不需信任彼此(又不用現金)的情況下,利用離婚協議書,完成無須手續費的離線轉帳。 雫:首先,我們在結婚的時候,要在結婚協議書上載明兩人「帶入多少資產進入婚姻」。 結婚同意書: 兩人於婚姻中財產: 吉田春:500000 水谷雫:300000 簽名:吉田春、水谷雫 2022.02.10 雫:接著將這張結婚證書提交到了戶政事務所,我們就會正式結婚了。 春:那要怎麼轉帳呢? 雫:當我們要轉帳時,就要簽一張離婚協議書,寫上新的財產分配。例如當我要轉給你 10000 元時,我們就簽一張離婚協議書: 離婚協議書: 兩人協議分配財產如下: 吉田春:510000 水谷雫:290000 簽名:吉田春、水谷雫 (尚無時間戳) 雫:當你要再給我 2000 時,我們再用上張協議書的金額,算出新的餘額。 離婚協議書: 兩人協議分配財產如下: 吉田春:508000 水谷雫:292000 簽名:吉田春、水谷雫 (尚無時間戳) 雫:透過這種方式,我們就可以用 0 手續費完成無限多筆交易。因為兩人都已經簽了名,兩人又各自有一份,因此只要任何一方想要,隨時都可以將離婚協議書交到戶政事務所,將財產結算。 春聽了之後毛骨悚然,知道自己随時有可能會被離婚,想要力挽狂瀾。 春:那我跟妳結婚之後,一次都不要簽離婚協議書,妳就拿我沒轍了吧!妳就得一輩子當我老婆! 雫:那可不行,所以你得先簽好第一份離婚協議書,我才會簽下結婚同意書。 春嚇了一跳,翻開雫剛才給他的結婚同意書下面,果真就附了一張離婚協議書。 離婚協議書: 兩人協議分配財產如下: 吉田春:500000 水谷雫:300000 簽名:吉田春、水谷雫 (尚無時間戳) 春:不行不行,妳這個作法有個 bug,如果結婚後都是妳給我錢,財產變成例如我 600000、妳 200000,但最後妳卻交了我們一開始的離婚協議書,妳不就淨賺 100000 嗎? 雫聽了後覺得有道理,低頭開始深思。正當春覺得應該可以安心的時候,雫抬起了頭。 雫:你說的有道理,所以我們要加入另外一個保險措施。 雫拿出兩張新的離婚協議書,拿出筆在上方加字。 離婚協議書(吉田春持有): 兩人協議分配財產如下: 水谷雫:300000 帳戶 1:500000 過了一個月後,將帳戶 1 的所有錢轉給吉田春 簽名:水谷雫 (尚無時間戳) 離婚協議書(水谷雫持有): 兩人協議分配財產如下: 吉田春:500000 帳戶 2:300000 過了一個月後,將帳戶 2 的所有錢轉給水谷雫...

February 11, 2022 · 2 分鐘 · wancat

Raspberry Pi 安裝 WordPress 教學

WordPress 是一套自由的網站系統,可以安裝在自己的伺服器,以下是我在 Raspberry Pi 上安裝 WordPress 的記錄。 請先安裝好 MariaDB / MySQL、PHP 7.3 以上、Caddy。 到官網複製壓縮檔連結(我偏好 tar.gz) cd Downloads wget https://wordpress.org/latest.tar.gz sudo tar -zxvf latest.tar.gz -C /var/www sudo chown -R www-data:www-data /var/www/wordpress 接著建立 MySQL 使用者: sudo mysql > create database wordpress; > create user 'wordpress'@'localhost' identified by 'password'; > grant all privileges on wordpress . * to 'wordpress'@'localhost'; > flush privileges; 接下來將域名綁定到 Web Server,這邊我們使用 Caddy yourhostname.com { root /var/www/wordpress gzip fastcgi / /var/run/php/php7....

May 17, 2020 · 1 分鐘 · wancat

在 Raspberry Pi 安裝 Nextcloud

Nextcloud 是一套自由的雲端硬碟系統,可以讓你自己架設像 Google Drive、One Drive 一般的雲端硬碟,將資料掌握在自己手中,本篇紀錄如何在樹梅派安裝 Nextcloud。 安裝 到官方網站下載壓縮檔 sudo unzip -d /var/www nextcloud-18.0.0.zip sudo chown www-data:www-data /var/www/nextcloud PHP 安裝 PHP 依賴模組 sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip 參閱 官方文件 檢查依賴的 PHP 模組,或是擴充功能像是 smb、ldap 等等。 MySQL 建立 Nextcloud 的資料庫和使用者 $ sudo mysql > create database nextcloud; > create user 'nextcloud'@'localhost' identified by 'password'; > grant all privileges on nextcloud . * to 'nextcloud'@'localhost'; > flush privileges; Caddy 複製 Caddy 提供的 Nextcloud Caddyfile 到 /etc/caddy/Caddyfile,接著修改成你自己的域名、PHP 路徑。我的設定檔如下:...

February 11, 2020 · 3 分鐘 · wancat

用 TOTP 擺脫簡訊驗證碼:安全好用的兩步驟驗證

兩步驟驗證 隨著數位身份在生活中的影響力愈來愈大,只靠著一組密碼來保護我們的帳戶已經不夠安全,而且記密碼實在是違反人腦天性的行為,因此大部分人總是使用重複的、好記的脆弱密碼。要解決這個問題,除了使用密碼管理工具來幫你記密碼,還可以透過設定兩步驟驗證(2FA:Two-Factor Authentication),大大提昇帳戶的安全性。 兩步驟驗證就是在密碼之外,多用一個資訊來驗證你是本人,主流的作法有像 Email、簡訊驗證信,但用過的人可能都會覺得登入時要開信箱收信很麻煩,信箱也會被這些信件給弄亂,更別提當人在國外時,簡訊收不到害你無法登入。 今天要介紹的 TOTP: Time-based One-Time Password algorithm,就是一種公開的標準,讓你透過手機上的 APP 產生一組 6 位數的一次性驗證碼進行登入,而且在沒有網路的情況下還能使用! TOTP 如何運作? TOTP 的概念,就是網站與你事先約定好一組金鑰,並以當下的時間作為參數,運算出一個雜湊值,並取最後 6 位數作為一次性密碼。 然而如果網站和使用者的時間不同的話,就無法計算出相同的結果,因此通常會以 30 秒作為一個單位,來避免使用者與網站的時間差。網站為了良好的使用者體驗,通常也會允許前一次的一次性密碼。 TOTP 的優點 TOTP 它是一個公開標準,你不需要依賴單一企業或組織,各種客戶端都能相容;它的安全性基於密碼學,而非第三方機構的信用;它是去中心化驗證,整個驗證流程只有要驗證身份的雙方而已。 Google 可以讀你的 Gmail,簡訊也可以被政府或通訊業者攔截,然而 TOTP 不需要依賴中介機構,甚至在離線的情況下也仍然可用。 同時對於服務提供者而言,TOTP 也很容易實做,不需要花錢去發簡訊或是寄 Email 被當成垃圾郵件,也不需要跟第三方機構申請,是個省錢又安全的好方法。 開始使用 TOTP 儘管目前懂得使用 TOTP 的使用者並不多,但其實已經有相當多網站支持以 TOTP 作為驗證方式,例如 Google、Facebook、Apple、Amazon、GitHub、PayPal 等,我管理伺服器需要用到的 CloudFlare、Linode、Porkbun 也都有設定 TOTP 來提高安全性。 開始使用的第一步是下載一個 TOTP 的應用程式,有非常多的選項,我自己使用的是 Authy,界面簡單易用,提供加密的雲端備份,此外還有 Google Authenticator、Microsoft Authenticator,自由軟體則有 Red Hat 開發的 FreeOTP,先前在密碼管理工具提到的 Bitwarden 的付費版也有提供 TOTP 的功能。 安裝好驗證器後,到你要登入的網站或 APP 的帳號設定中,啟動兩步驟驗證,在不同網站中,可能會以「驗證應用程式」、「谷歌驗證器」、「代碼產生器」等名稱出現,但背後都是 TOTP 這套標準,流程也很簡單,網站會將金鑰以 QR Code 的方式顯示,打開手機上的驗證器程式掃描就可以加入帳號,並輸入產生的一次性密碼供網站確認,就可以完成綁定。網站若是在手機上,則可以用「複製金鑰」的方式來手動輸入金鑰。...

February 7, 2020 · 1 分鐘 · wancat

Caddy 安裝教學

Caddy 是一個由 Go 撰寫的 Web Server,其主要賣點是簡單的設定檔,適合在開發環境中快速架設,還有自動 HTTPS 的功能,相當方便。 我之前在 Linode 上就使用 Caddy,覺得體驗相當好,因此這次也選擇使用它。 安裝 到 Caddy 網站的下載頁面,複製 One-step installer script 就可以一鍵安裝。 curl https://getcaddy.com | bash -s personal 如果是要拿來當開發環境中的 Web Server,這樣就足夠了,但我要讓它在背景執行,因此還需要設定好它的 systemd。 Systemd 請參考官方的安裝教學,照著做就行了,比較容易踩雷的是取得憑證的部份,首先 Let’s Encrypt 會對你做 DNS challenge,所以如果是使用 CloudFlare 的,要把 Proxy 關掉(雲朵)。再來是寫設定檔,Caddy 的設定檔相當簡單,不過用 systemd 就是很難除錯(看 log 麻煩),所以建議先自己用 sudo caddy -conf /etc/caddy/Caddy 測試設定檔,等到沒問題再用 systemd 開。 設定檔範例 以下是我網站使用的設定檔 matomo.wancat.cc { root /var/www/matomo gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } lincalvino.me/narcissism { root /var/www/narcissism } lincalvino....

February 4, 2020 · 1 分鐘 · wancat

CloudFlare 設定 DDNS 教學

最近剛入手一個 Raspberry Pi,用來作為一個省電的伺服器,本來困擾自己家裡的固定 IP 已經給了其他台伺服器,但找到方法用 CloudFlare 實現 DDNS。 CloudFlare DDNS CloudFlare 本身沒有官方的 DDNS 支援,但可以用 CloudFlare API 實做,我找了一個別人做好的 CloudFlare-ddns,折騰一會兒就設定好了。 首先安裝 cloudflare-ddns 和其依賴,然後以我要設定 pi.wancat.cc 為例,建立 site_pi.yaml 設定檔,填入以下內容: %YAML 1.2 # CloudFlare DDNS updater script config. --- # CloudFlare API key # You can find this under Account > My account after logging into CloudFlare. cf_key: 'your key' # Email address for your CloudFlare account. cf_email: 'your email' # Domain you're using CloudFlare to manage....

February 4, 2020 · 2 分鐘 · wancat

Google Analytics 替代方案 Matomo 安裝教學

因為實在不想再讓 Google 拿到資料了,所以我到 No More Google 網站上找 Google Analytics 的替代方案,第一名就是 Matomo。 Matomo 是一個自架的流量分析程式,是自由軟體,也有提供付費的 Cloud hosting 服務。我在試用後覺得還不錯,就決定自行在 Raspberry Pi 上安裝。因為是自架的,所以資料都在自己手上,不會被 Google 拿去利用。 安裝方式參考官方文件。 環境需要 PHP、MySQL or MariaDB PHP 安裝: sudo apt-get install php7.0 php7.0-curl php7.0-gd php7.0-cli mysql-server php7.0-mysql php-xml php7.0-mbstring 資料庫我比較偏好社群維護的 MariaDB: sudo apt install mariadb-server sudo mysql_secure_installation 建議在執行 mysql_secure_installation 來強化安全性。 由於我使用 Caddy,所以 Caddyfile 中要加入以下程式: matomo.wancat.cc { root /var/www/matomo # 換成你的 matomo 位置 gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } 然後打開網頁,就可以看到安裝程式了。接著要幫 Matomo 設定好 SQL User 和 Database,...

February 4, 2020 · 1 分鐘 · wancat

Hugo 安裝 LikeCoin 教學

取代 Hexo 我使用 Hexo 作為靜態網站生成器已經一年半,然而它有些我越來越難忍受的缺點,加上認識了由 Go 寫成的 Hugo,我在使用 Hugo 建立了幾個網站作為練習後,決定將自己的部落格改到 Hugo。 Hexo 仍然是一套很棒的工具,我主要是覺得它每次執行都要等大約十秒的時間,讓我很不耐煩;另外它的 server 功能有些缺陷,有時候改變內容會讓它變成 Untitled Post,不過我也沒有很認真的想要解決就是了。 Hugo 是 Go 寫的工具,所以是編譯好的,效能很高,server 功能也很棒,content 的管理更有彈性,整個網站也有更高的配置空間,但使用難度較高,每個 theme 的差異度很大,必須依據使用的 theme 去調整。 我覺得對新手來說 Hexo 是比較好的選擇,一開始就有預設 theme,整個架構也比較固定,內建的 deploy 指令能支援大部分平台,但如果想要有更高的自訂化,我覺得 Hugo 比較合適。 Theme 這次我選了 CleanWhite 這套主題,功能強大,設計的很好,非常感謝作者 Huabing Zhao。因為 Hexo 跟 Hugo 都是使用 Markdown 作為文章格式,連標頭格式都差不多,所以基本上是無痛轉移,只有圖片的部份需要重新插入,因為 Hexo 的「資產資料夾」是使用其特殊語法,所以轉移後需要自己手動改成標準的格式。 插入 LikeCoin Hugo 可以使用自訂 Layout 的方式,在不改變主題的情況下改變網站設計,我透過這個方式在每個文章下放了 LikeButton。 我們先 overwrite 文章的模板,將 theme 的 layouts 資料夾複製到專案目錄下。 cp -r theme/YOUR_THEME/layouts/ . Hugo 中的 Partial 功能,可以讓你建立小模板,嵌入在頁面中。參考文件。在 layouts 的 partials 資料夾建立 likecoin....

February 3, 2020 · 2 分鐘 · wancat