太陽能神諭隨身聽: Difference between revisions

From SGMK-SSAM-WIKI
Jump to navigation Jump to search
 
(46 intermediate revisions by the same user not shown)
Line 4: Line 4:
File:I-V tester made by Marc Dusseiller.jpg|The DIY I-V tester made by Marc Dusseiller.  
File:I-V tester made by Marc Dusseiller.jpg|The DIY I-V tester made by Marc Dusseiller.  
</gallery>
</gallery>
= 摘要 =
=摘要=
太陽能神諭隨身聽(Solar Oracle Walkman) 是一個能源交易與聲音雕塑的探索。外觀參考了復古的 Sony WM-F107,而內部裝置則用於測量一片 6 × 6 公分手工製作、帶有藝術圖案的 DSSC(染料敏化太陽能電池)的 I–V 曲線,其 TiO₂ 多孔層透過氰版顯影或網版印刷製成。每一片「太陽能迷你碟」都會產生獨特的 I–V 聲紋(voiceprint),並透過 oracle(將鏈外資料安全橋接至區塊鏈的機制)傳送至智慧合約進行驗證。
本實驗是在SGMAK Hacker-in-Residency Programme完成的可運作原型。太陽能神諭隨身聽(Solar Oracle Walkman)是一個能源交易與聲音雕塑的探索,由一個I-V測試儀改造而成,能將手工製作的DSSC(solar mini disc)轉成聲音。每一片solar mini disc的TiO₂層經由氰版顯影或網版印刷圖案化製造刻意缺陷,產生獨特的I–V聲紋V,並透過oracle(將鏈外資料安全橋接至區塊鏈的機制)提交至智慧合約進行驗證,鏈上的驗證通過後,即在隨身聽上將V轉為可重現性的生成音樂。本裝置運作如同冷錢包:每片DSSC對應一個可驗證的鏈上身份(panel_id)與其承諾值(commitment),panel_id可作為未來代幣化的錨點。在已完成的v1原型中,量測到的I–V曲線會被分解為七個無量綱特徵[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*],再做PCA降維,然後手動映射至另一個獨立訓練的nn~ RAVE解碼器的潛在輸入口,以達成可重現的聲音身份,而不依賴明確的語意結構。在下一個實驗v2裡,預計將記錄在不同光照下的連續I–V數據,並訓練I–V編碼器以學習每片電池的緊湊且具抗光照變化性的潛在嵌入。這些嵌入在鏈下進入模糊提取(fuzzy extractor)流程(量化 → 輔助資料錯誤更正(ECC)→ 哈希運算),以導出穩定的金鑰K;鏈上只錨定由K推導的承諾值(commitment)與panel_id,以維護隱私並允許驗證。若能保持向量空間(VSP)的幾何關係,潛在空間中的距離將能反映光伏行為的差異,建立更完整的語意空間。在藝術與哲學的視角下,本「占卜機」裝置連結物理世界與信息世界,是一個結合感知哲學與區塊鏈的視角探索「真實」的提煉與實現化。目前本原型裡的聲音並非單純再現,而是將理論納入編曲設計裡做為導向與反思工具,將技術流程(量測、特徵提取、上鏈驗證)與哲學框架(感知、真實、幻覺)彼此連結。
概念上,這台隨身聽運作如同冷錢包:每片 DSSC 是一個實體代幣,而內建的 I–V 測試器則是其讀取器。完成驗證後,隨身聽會播放生成的、語意受限的音樂;鏈上的判定會作為播放的門檻。
 
在目前的 Max/MSP 原型中,量測到的 I–V 曲線會被分解為七個無量綱特徵 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*],可選擇使用 PCA 降維,然後手動映射至 nn~ RAVE 解碼器的潛在輸入口,以達成可重現的聲音身份,而不依賴明確的語意結構。下一步,我們將記錄在不同光照下的連續 I–V 數據,並訓練 RAVE 編碼器以學習每片電池的緊湊且具魯棒性的潛在嵌入。這些嵌入會輸入至模糊提取器流程(量化 → 輔助資料錯誤更正 雜湊),以導出穩定的金鑰。鏈上只會錨定該金鑰的承諾值,以維護隱私並允許驗證。若能保持向量空間的幾何關係,潛在空間中的距離將能反映光伏行為的差異,使裝置能作為一部「占卜機」,連結物質、感知與想像。
=實驗=
= 作曲的生成系統 =
太陽能神諭隨身聽主要由三個元件組成:I-V 曲線測試器、經氰版顯影處理或網版印刷圖案化的DSSC、智慧合約。每片迷你碟的 I–V 曲線會被量測並上傳至部署於 Sepolia 測試網 的智慧合約進行驗證。一旦其 I–V 數據通過驗證,相應的音樂就會被生成並允許由隨身聽播放。每片「太陽能迷你碟」的聲音被期望具有可重現性、生成性與語意性——如同一段具備清晰機制的生成音樂,而非完全隨機。為了讓每片太陽能迷你碟成為生成裝置,我首先假設需要設計一個哈希運算(hash operation)來獲得每片太陽能玻璃的「聲紋 (V)」。哈希運算是將輸入資料(例如數字、文字、檔案,或一組 I–V 曲線參數)送入數學函式或演算法以產生哈希值的過程。哈希演算法可以處理任意長度的輸入,但總是輸出固定長度的結果。
感知與人工智慧都可以被理解為生成機制:它們不只是被動接收訊號,而是主動進行預測與修正。在隨身聽中,鏈上的聲紋扮演著錨點──以經驗痕跡來限制生成──而解碼器的表現力則像是召喚,在可驗證的範圍內支撐想像。
 
依據 Stinson 的「通用機制觀」以及 Feigl 的「對應模型」,我們設計了從量測(I–V 曲線)到潛在變數(音訊嵌入)的明確橋接。這使得作品能夠被視為一項實驗:每一個聲音決策都可以追溯至能量曲線上的可測變換。
==第一個原型 v1==
<gallery widths=400 heights=300>
一個DIY I–V曲線測試器被連接至電腦,其量測的16個I–V曲線點會透過序列通訊傳送到Max/MSP。I–V曲線通常用來分析太陽能電池的特性,因此在此被視為電池的「聲紋」,尤其是那些帶有氰版與網版印刷TiO₂層的DSSC。在本研究中,I–V曲線的形狀被拆解成七個特徵,並對每個特徵應用機器學習,讓電腦能夠「學會」其形狀。此方法預期能夠保證對光照強度的不變性,使太陽能迷你碟的音訊輸出在不同光照下依舊保持穩定再現。
File:Stinson's generic mechanism.png|Stinson的通用機制圖表。
 
File:A logical empiricist picture of a scientific theory. Reproduced from Herbert Feigl 1970.png|科學理論的邏輯經驗主義圖表。轉載自 Herbert Feigl 1970。
'''太陽能神諭隨身聽 v1 — 流程圖'''
File:diagram of solar oracle walkman.png|Stinson 和 Feigl 模型應用於目前專案結構的圖表。
<pre>
[光]
  ▼
[具圖案的 DSSC「迷你碟」]
  ▼
[I–V 掃描 / ESP32-S3 測試器]
  ▼
[特徵擷取,7 維]
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
  ▼
ml.scale 正規化
  ▼
ml.principle (PCA)
  ▼
輸入 RAVE nn~ 解碼器
  ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 聲音潛在向量
(映射依藝術 / 作曲語境決定)
</pre>
 
<gallery widths="220px" heights="400px">
File:DIY DSSC with screen printed pattern.jpg|施惟捷製作的帶有網版印刷圖案和蜀葵染料的 DIY DSSC。
File:DIY DSSC with cyanotype pattern.jpg|施惟捷製作的帶有藍曬圖案的 DIY DSSC。
File:I-V tester made by Marc Dusseiller_2.jpg|I-V 曲線測試儀的測量結果被上傳至 Thingspeak 和本機伺服器後並在 Max/MSP 中以fetch指令取得。
</gallery>
</gallery>


= 實驗 =
===7-D Voice print(無量綱化)===
太陽能神諭隨身聽主要由三個元件組成:
7D聲紋定義:<code>V = [FF (填充因子), Vmpp/Voc, Impp/Isc, Rs (串聯電阻), Rsh (旁路電阻), 曲率總和, I–V曲線面積]</code>。注意:這些計算均為 無量綱(dimensionless),所謂無量綱特徵向量,指的是經過正規化後不再帶有物理單位(伏特、安培、歐姆)。例如透過比值Vmpp/Voc或Impp/Isc,這些特徵只捕捉相對形狀或行為,而與絕對大小無關。這在比較或分類不同光照條件下的I–V曲線時至關重要,因為它能確保差異反映的是裝置的內在特性,而不是量測條件的變動。
I-V 曲線測試器
具圖案的太陽能迷你碟
智慧合約
每片迷你碟的 I–V 曲線會被量測並上傳至部署於 Sepolia 測試網 的智慧合約進行驗證。一旦其 I–V 數據通過驗證,相應的音樂就會被生成並允許由隨身聽播放。每片「太陽能迷你碟」的聲音被期望具有 可重現性、生成性與語意性——如同一段具備清晰機制的生成音樂,而非完全隨機。
為了讓每片太陽能迷你碟成為生成裝置,我首先假設需要設計一個 雜湊運算 來獲得每片太陽能玻璃的「聲紋 (V)」。雜湊運算是將輸入資料(例如數字、文字、檔案,或一組 I–V 曲線參數)送入數學函式或演算法以產生雜湊值的過程。雜湊演算法可以處理任意長度的輸入,但總是輸出固定長度的結果。它們被設計為:
計算快速
相同輸入必定得到相同輸出
即使輸入稍有改變,輸出也會截然不同
┌───────────────────────────────────────┐
│  '''Solar Oracle Walkman v1 — 概覽'''      │
└───────────────────────────────────────┘
[光] ──▶ [具圖案的 DSSC「迷你碟」]
              │
              ▼
        [I-V 掃描/取樣]
        ESP32-S3 I-V 測試器
        (四線量測,逐步負載)
              │  生成 I–V 曲線
              ▼
        [特徵擷取,7D]
        F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
              │
              ├───────────────────────────────┬───────────────────────────────────────────┐
              │                              │                                          │
              ▼                              ▼                                          ▼
        【聲音路徑(即時)】              【Oracle/鏈上路徑】                        【模型訓練(離線)】
        ml.scale 正規化                打包 {pubkey, cell_id, F}                      資料集:多片 DSSC I–V → 7D
              │                              │                                          │
        ml.principle (PCA)              POST /api/iv 至 Oracle API                訓練 RAVE(或輕量替代模型)
              │                        (本地/雲端)                                      │
  映射至 RAVE nn~ 解碼器潛在輸入口        智慧合約驗證並紀錄                        匯出模型(onnx/ckpt/nn~)
              │                                │                                          │
              │                              │                                          │
        ▶ 即時聲音輸出                  回傳 tx_hash / OK|FAIL                      部署於 Max/MSP (nn~)
              │                              │                                         
              └───────────────┬───────────────┘
                              │ (狀態回饋)
                              ▼
                      [播放授權/語意閘]
                    OK → 進入「語意穩定」播放區段 
                    FAIL → 提示重新量測/重新註冊/降噪
┌──────────────────────────────────────────────────────┐
│  '''Solar Oracle Walkman v2(RAVE 潛在向量 z)— 概覽'''      │
└──────────────────────────────────────────────────────┘
[光] ──▶ [具圖案的 DSSC「迷你碟」]
              │
              ▼
        [連續 I–V 掃描]
        ESP32-S3 I-V 測試器
        (四線量測,逐步負載)
              │  生成連續 I–V 曲線
              ▼
        [RAVE 編碼器]
        以連續 I–V 數據訓練
              │
              ▼
        [潛在嵌入 z = (z1, z2, …, zn)]
              │
              ▼
        [模糊提取器(逐維處理)]
          對每個 zi:
              ml.scale(正規化)
              ml.principle(PCA)
          輸出:穩定化 z′ = (z′1, z′2, …, z′n)
              │
              ├───────────────────────────────┬───────────────────────────────────────────┐
              │                              │                                          │
              ▼                              ▼                                          ▼
        【聲音路徑(即時)】              【Oracle/鏈上路徑】                        【模型訓練(離線)】
        穩定化 z′ → RAVE nn~            打包 {pubkey, cell_id, z′}                  資料集:多條連續 I–V 曲線
            解碼器潛在輸入口                      │                                          │
              │                      POST /api/z′ 至 Oracle API                  訓練 RAVE(編碼器–解碼器)
          ▶ 即時聲音輸出                    (本地/雲端)                                    │
              │                      智慧合約驗證並紀錄                            匯出編碼器至 Max/MSP (nn~)
              └───────────────┬───────────────┘                                            │
                              │ (狀態回饋)                                        部署編碼器於 Max/MSP
                              ▼
                      [播放授權/語意閘]
                  OK → 進入「語意穩定」播放區段 
                  FAIL → 提示重新量測/重新註冊/降噪
(註解)
與 v1 的差異:輸入為完整連續 I–V 曲線,而非僅 7D 特徵。
RAVE 編碼器學習光照魯棒的潛在向量 z;PCA 將 z 穩定化為 z′(扮演模糊提取器角色)。
Oracle 僅錨定承諾(z′ 或衍生金鑰的雜湊)。
聲音引擎與 oracle 共享相同的穩定化 z′ → 保持一致身份 + 生成對應映射。
 
== 智慧合約實作 ==
Solar Oracle Walkman 專案包含一個基於區塊鏈的智慧合約,用於驗證並永久儲存來自以太坊網路上手工製作的 DSSC 的 IV 聲紋資料。該合約部署在 Sepolia 測試網的地址 0xeF19a90e5786dd0e89264F38f52CF81102db938e 上,充當去中心化的數字公證人,通過高級安全驗證規則、EIP-712 簽名和全面的數據完整性檢查來驗證 IV 特性測量的真實性。這個不可變的系統確保每個 DSSC 獨特的電子指紋都能透過加密方式驗證並永久存儲,從而創建設備性能特徵的防篡改記錄。
<gallery widths="700px" heights="400px"> File:solar oracle walkman smart contract.png| </gallery>


== 使用 ml.scale 與 ml.principle 作為 I–V 曲線特徵模糊提取的前處理流程 ==
一個 DIY I–V 曲線測試器被連接至電腦,其量測的 16 個 I–V 曲線點會透過序列通訊傳送到 Max/MSP。I–V 曲線通常用來分析太陽能電池的特性,因此在此被視為電池的「聲紋」,尤其是那些帶有氰版與網版印刷 TiO₂ 層的 DSSC。在本研究中,I–V 曲線的形狀被拆解成 七個特徵,並對每個特徵應用機器學習,讓電腦能夠「學會」其形狀。此方法預期能夠保證對光照強度的不變性,使太陽能迷你碟的音訊輸出在不同光照下依舊保持穩定再現。聲紋 V 定義為:
<code>V = [FF (填充因子), Vmpp/Voc, Impp/Isc, Rs (串聯電阻), Rsh (旁路電阻), 曲率總和, I–V 曲線面積]</code>
注意:這些計算均為 無量綱(dimensionless)。
所謂無量綱特徵向量,指的是經過正規化後不再帶有物理單位(伏特、安培、歐姆)。例如透過比值 Vmpp/Voc 或 Impp/Isc,這些特徵只捕捉相對形狀或行為,而與絕對大小無關。這在比較或分類不同光照條件下的 I–V 曲線時至關重要,因為它能確保差異反映的是裝置的內在特性,而不是量測條件的變動。
特徵定義(無量綱化)如下:
; FF (填充因子)
; FF (填充因子)
: <code>FF = (Vmpp * Impp) / (Voc * Isc)</code>
: <code>FF = (Vmpp * Impp) / (Voc * Isc)</code>
Line 136: Line 64:
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>


<gallery widths="220px" heights="400px">
===ml.scale 與 ml.principle 作為模糊提取的前處理===
File:DIY DSSC with screen printed pattern.jpg|施惟捷製作的帶有網版印刷圖案和蜀葵染料的 DIY DSSC。
File:DIY DSSC with cyanotype pattern.jpg|施惟捷製作的帶有藍曬圖案的 DIY DSSC。
File:I-V tester made by Marc Dusseiller_2.jpg|I-V 曲線測試儀的測量結果被上傳至 Thingspeak 和本機伺服器後並在 Max/MSP 中以fetch指令取得。
</gallery>
在 Max/MSP 中使用 ml.scale 與 ml.principle 作為模糊提取的前處理
為了讓每片太陽能迷你碟的聲音能被智慧合約穩定驗證並重現,Max/MSP 的 ml.* 函式庫是一個解決方案。
為了讓每片太陽能迷你碟的聲音能被智慧合約穩定驗證並重現,Max/MSP 的 ml.* 函式庫是一個解決方案。
ml.scale:先將七個原始特徵正規化到 0 到 1 的範圍。
ml.scale:先將七個原始特徵正規化到0到1的範圍。
ml.principle:再進行 PCA(主成分分析),將七個值轉換至新的 7 維 PCA 空間。PCA 是一種數學方法,能將數據旋轉並壓縮到較少維度,同時保留最多變異。
ml.principle:再進行 PCA(主成分分析),將七個值轉換至新的7維PCA空間。PCA是一種數學方法,能將數據旋轉並壓縮到較少維度,同時保留最多變異。
ml.principle 是 Max/MSP 內實作 PCA 的物件:
ml.principle 是 Max/MSP 內實作PCA的物件:
它會從訓練數據中學習主軸
它會從訓練數據中學習主軸
並將新的數據投影至該降維空間
並將新的數據投影至該降維空間
Line 152: Line 75:
</gallery>
</gallery>


== 從聲音可重現性到語意性作曲 ==
==第二個原型v2:RAVE 作為中介層與模糊提取==
根據 Jha 等人 (2025) 的研究,語意穩定性來自三個核心約束:重建性 (reconstruction) ——轉換後的表徵能被映射回來源。循環一致性 (cycle-consistency) ——往返轉換能保持意義。向量空間保存 (VSP) ——嵌入之間的成對距離在映射後依然保持。目前的 7 維聲紋主要扮演 身份註冊 的角色,足以保證可重現性,但無法確保不同電池之間具有有意義的關聯結構。這代表:現行的智慧合約驗證能穩定判斷訊號是否真實但無法提供額外的語意解釋(例如不同能量曲線彼此的關係)限制了生成音樂的設計潛力也使作品難以與計畫中提出的哲學理論對應。
在V1版本裡用ml.scale和ml.principle做的PCA僅僅是線性降維;它無法保證「在不同光照下仍能重現」和「二進位金鑰的錯誤更正」,因此我提出v2版本,這裡採用了模糊提取器:它將連續的潛在向量 <code>z</code> 轉換為可糾錯、可驗證的位元列,並輸出一個穩定的金鑰 <code>K</code>,以同時滿足身份可重現性與鏈上需求。
'''太陽能神諭隨身聽 v2 — 概覽'''
<pre>
[光]
  ▼
[具圖案的 DSSC「迷你碟」]
  ▼
[連續 I–V 掃描 / ESP32-S3 測試器]
  ▼
[I–V 編碼器(在 Colab 以 Conv1D 訓練)— 鏈下]
輸入:7 維序列 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]
輸出:潛在向量 z = (z1, z2, …, zn)
訓練:triplet loss + 先驗匹配
增強:增益縮放 / 噪音 / 時序抖動
  ▼
[模糊提取器 — 鏈下]
z → 正規化 / 量化
  → ECC + 輔助資料 → 穩定金鑰 K
  → commit = keccak256(K || salt)
註冊:panel_id = keccak256("panel-id" || K)
驗證:新 K′ → keccak256(K′ || salt) → 與儲存的承諾值比對
  │
  ├───────────────► [Oracle / 鏈上路徑]
  │                  打包 {pubkey, panel_id, commitment, timestamp, nonce, signature}
  │                  智慧合約:驗證 EIP-712 簽章、時間戳、nonce
  │                  智慧合約:檢查 keccak256(K′ || salt) == commitment(於 verify 呼叫時)
  │                  智慧合約:儲存 panel_id、commitment、metadata;發出事件
  │                  回饋:OK / FAIL
  │
  ▼
[輸入 RAVE nn~ 解碼器]
  ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 → 聲音潛在向量
(映射依藝術 / 作曲語境決定)
</pre>
 
===I–V 編碼器訓練(鏈下===
# 平台:Google Colab 
# 架構:Conv1D(因 RAVE 編碼器無法直接處理曲線數據) 
# 輸入:連續七維「聲紋」 <code>[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]</code> 
# 輸出:潛在向量 <code>z = (z1, z2, …, zn)</code>(維度與下游音訊解碼器對齊) 
# 訓練目標:triplet loss(相同電池樣本拉近,不同電池樣本推遠)+ 先驗匹配(使 z 服從解碼器的高斯先驗) 
# 數據增強:增益縮放 / 小幅噪音 / 時序抖動 
 
===模糊提取(鏈下)===
# <code>z</code> → 正規化、量化 
# 經 ECC(錯誤更正碼) → 導出穩定金鑰 <code>K</code> 
# 計算承諾值:<code>commit = keccak256(K || salt)</code> 
 
===Panel ID 與註冊===
# 初始註冊:<code>panel_id = keccak256("panel-id" || K)</code> 
# 後續驗證:重建 <code>K′</code> → 計算 <code>keccak256(K′ || salt)</code> → 與鏈上 commitment 比對 
# 特點:合約自動將紀錄歸屬於 <code>panel_id</code>,無需上傳任何人類身份資訊 
 
===音訊解碼器(鏈下)===
# 訓練:獨立於音樂數據,或採用現有的 RAVE 解碼器 
# 功能:將 <code>z</code> 聲音化 
# 穩定性:由於編碼器強制 z 的幾何結構穩定,相同電池的重複量測能產生可重現的音色與動態 
# 跨模態映射:<code>I–V → 聲音潛在向量</code>:語意秩序僅保留在編碼器端,解碼器端映射依藝術/作曲語境決定
 
===可驗證語意空間 (VSP)===
根據 Jha 等人 (2025),語意穩定性依賴三個核心約束: 
# 重建性:轉換後的表徵能映射回來源 
# 循環一致性:往返轉換能保持意義 
# 向量空間保存 (VSP):嵌入間的成對距離在映射後仍被保存 


== RAVE 作為可驗證 oracle 空間的模糊提取器與生成音樂引擎 ==
我使用訓練過的 RAVE 編碼器,從連續的 I–V 曲線量測(可選擇結合 7D 聲紋)中,產生緊湊且具光照魯棒性的潛在嵌入向量 z。
這些嵌入本身並非模糊提取器,但可以送入模糊提取流程:
量化
錯誤更正碼(含輔助資料)
雜湊
最終產生一個穩定的金鑰 K。
鏈上只錨定一個承諾值:
<code>commit = keccak256(K || salt)</code>
後續量測會重建 K′,再提交
<code>commit′ = keccak256(K′ || salt)</code>
以進行驗證。
在此設計下:
oracle 僅接受能與物理 DSSC 對應的證據
語意生成 留在鏈下的聲音引擎完成
透過對比學習或三元組 (triplet) 目標訓練,確保同一片電池的多次量測會在潛在空間聚集,而不同電池則保持分離(即向量空間保存 VSP)
這樣不僅能保證 身份再現性,也能建立不同電池之間的 關聯幾何結構 ——為語意穩定性與生成音樂作曲提供基礎。
<gallery widths=500px heights=250px> File:latent VSP comparison.png|這張圖將目前流程與包含向量空間保存 (VSP) 的理想化設計進行了比較。左側實現了可重複性:每個 DSSC 都對應到潛在空間中的穩定位置,從而允許身份驗證,但無法在單元之間建立有意義的關係。右側,VSP 確保潛在空間中的成對距離反映了光伏特徵的差異,不僅提供了可重複性,還提供了關係意義。從這個角度來看,預言機從驗證真實性的守門人演變為揭示能量曲線在共享語義結構中如何關聯的「占卜機器」。 </gallery>
<gallery widths=500px heights=250px> File:latent VSP comparison.png|這張圖將目前流程與包含向量空間保存 (VSP) 的理想化設計進行了比較。左側實現了可重複性:每個 DSSC 都對應到潛在空間中的穩定位置,從而允許身份驗證,但無法在單元之間建立有意義的關係。右側,VSP 確保潛在空間中的成對距離反映了光伏特徵的差異,不僅提供了可重複性,還提供了關係意義。從這個角度來看,預言機從驗證真實性的守門人演變為揭示能量曲線在共享語義結構中如何關聯的「占卜機器」。 </gallery>


== 幻覺的聲音化:在原型中落實理論的一種有趣策略 ==
==智慧合約驗證系統==
基於生成系統中的 大腦預測理論,一個有趣且簡單的作曲策略是:將「幻覺」作為聲音原則。
Solar Oracle Walkman 的智慧合約部署於以太坊[https://sepolia.etherscan.io/address/0xeF19a90e5786dd0e89264F38f52CF81102db938e sepolia測試網](合約地址:<code>0xeF19a90e5786dd0e89264F38f52CF81102db938e</code>)。合約作為去中心化的數位公證人,負責:驗證簽名與資料完整性(EIP-712)、以 panel_id 為鍵管理提交、儲存並發佈與 I–V 聲紋關聯的承諾值(commitment)與中繼資料。注意:模糊提取(Fuzzy Extraction)與金鑰 K 的導出均在鏈下完成;本合約不執行 FE。相關測試程式碼可以在[https://github.com/shihweichieh2023/solar-oracle-walkman Github]下載。
步驟:
 
使用 DSSC I–V 序列訓練 RAVE。
===驗證流程(鏈上)===
每次新量測會產生一個潛在嵌入 z1。
輸入(由鏈下提交):
將 z1 經過編碼器–解碼器循環,得到重建嵌入 z2。
# code>panel_id</code>:鏈下以 <code>panel_id = keccak256("panel-id" || K)</code> 生成
計算殘差向量 r = z1 – z2。
# <code>commitment</code>:鏈下以 <code>commitment = keccak256(K || salt)</code> 計算
這個殘差 r 正好代表模型無法解釋的部分。
# 簽名:依 [[EIP-712]] 標準對提交資料簽名
z1 捕捉了電池可再現的聲紋
# <code>timestamp</code>、<code>nonce</code>
r 則化為「幻覺」:模型無法同化的偏差、噪音或異常
#(可選)7 維聲紋 <code>[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]</code>,用於可視化或研究
若將 r 輸入到另一個 RAVE 解碼器,輸出就是「幻覺之聲」:
 
能量曲線不再只是被聲音化
合約責任:
認知上的失誤被轉換為聲音
# 驗證 EIP-712 簽名、<code>timestamp</code> 與 <code>nonce</code>
幻覺不再被視為錯誤,而是生成的剩餘,模糊了感知與想像的界線
# 以 <code>panel_id</code> 為索引管理提交,檢查 <code>commitment</code> 與既有紀錄的一致性(或依業務規則更新)
  [I–V 曲線]
# 儲存 <code>panel_id</code>、<code>commitment</code>、時間戳與(可選)7 維聲紋;發佈事件以供訂閱
        │
 
        ▼
===Panel ID 與身份管理(鏈上觀點)===
  編碼器 → z1
# 來源(鏈下):<code>panel_id = keccak256("panel-id" || K)</code>
        │
# 鏈上歸檔:以 <code>panel_id</code> 為鍵歸檔與查詢測量紀錄
        ▼
# 身份驗證:鏈下重建 <code>K'</code> 後計算 <code>keccak256(K' || salt)</code> 與鏈上 <code>commitment</code> 比對;合約僅接受比對結果所需之提交並進行存證
  解碼器 → z2
 
        │
===安全機制===
        ▼
 
  殘差 r = z1 - z2
====EIP-712 結構化簽名====
        │
合約實作 [[EIP-712]] 標準,為提交的測量資料提供可驗證的結構化簽名:
        ▼
 
  第二解碼器 → 幻覺之聲
<syntaxhighlight lang="solidity">
= 討論 =
struct IVMeasurement {
# '''目前的狀態''' 神諭隨身聽作為一件簡單的藝術雕塑,能即時將 DSSC 的 I–V 曲線聲音化。經過正規化後,七個特徵的聲紋在光照變化下依然穩定。映射設計刻意保持極簡,使得可重現性的評估變得直接明瞭。在 Max/MSP 中已經建立了一條從感測到聲音的受控流程。感知與人工智慧被視為同一生成機制的兩個面向。此處「幻覺」的工作定義是:生成過程漂移到可接受證據與先驗之外。大腦會進行預測與修正;幻覺則是預測失配的極端情況。oracle 提供了外部錨點,使生成保持在可驗證的範圍內,同時保留創造性變異的空間。
    uint256 timestamp;
# '''理論目前的作用''' Stinson 的「通用機制觀」激發我們將 DSSC–RAVE 與人類感知視為同一生成架構的不同實現。Feigl 的「對應模型」則驅動我們設計從觀測到潛在變數的明確橋接,讓每一個設計步驟都能追溯至可測痕跡。這些理論視角本身不是最終目標,而是資料集建立的設計指南映射的先驗假設偏移與變異的評估指標目前的限制在於缺乏向量空間保存 (VSP);沒有 VSP,潛在空間只能作為身份的穩定註冊,卻無法保證不同電池之間的關聯意義。因此,oracle 主要只是一個驗證真偽的守門人,卻提供不了太多語意解釋。然而,若能引入 VSP,oracle 則可能演化成為一台真正的「神諭機」:不僅能驗證真實,還能揭示不同能量曲線之間的關係,將物理差異轉譯為另一領域中可解釋的結構。
    bytes32 panelId;
# '''下一步''' 建立一個小而乾淨的 DSSC 聲紋訓練集,控制光照與溫度,並測試單調性與局部平滑性的先驗條件。原型化 vec2vec 式的約束:簡單的循環檢查與距離保持,並在保留測試集中記錄當「聲音鄰域」無法對應「能量曲線鄰域」的情況。研究輕量化推論目標與壓縮方法,以便未來能應用於行動裝置。探索能否將可追溯的能源紀錄註冊為來自聲紋的可驗證雜湊,並評估失效模式與防偽極限。「oracle」不僅指區塊鏈上的鏈外數據橋接機制,也回應了其古代語源——神廟的「神諭」或「占卜」。當 DSSC 聲紋僅用於驗證時,oracle 只是守門人;但當其承載語意結構,能揭示不同能量曲線之間的關聯並轉譯至聲音領域時,它就超越了驗證,開始運作如同一部「占卜機」,將物理世界的跡象轉換為另一個世界的訊息。
    bytes32 commitment;
    uint256[7] voiceprint;
    bytes32 nonce;
}
</syntaxhighlight>
 
====數據完整性檢查====
# 時間戳驗證:防止重放攻擊
# Nonce 機制:確保每筆交易唯一性
# 聲紋範圍檢查:若提供 7 維聲紋則檢查範圍合理性
# 承諾一致性:對同一 panel_id 的 <code>commitment</code> 進行一致性檢查
 
===儲存結構===
 
====測量記錄====
每筆驗證通過的測量記錄包含:
# Panel ID:DSSC 的匿名化識別碼(鏈下導出)
# Commitment:Keccak-256 承諾哈希(鏈下計算)
# Timestamp:測量時間戳
# Voiceprint(可選):7 維 I–V 聲紋特徵
# Verification Status:驗證狀態
 
===神諭機制(鏈上角色)===
合約作為[[區塊鏈神諭]]的一端,對鏈下送來的簽名資料進行鏈上驗證與存證:
# 數據驗證:簽名、時間戳、nonce 與資料完整性
# 身份確認:以 <code>panel_id</code> 比對 <code>commitment</code>
# 狀態更新:更新鏈上資料結構
# 事件觸發:驗證成功後發佈事件
 
=基於感知與運算為生成系統相似性的「真實」聲音化雕塑=
在追蹤能源的動機之下,本實驗試圖將「真實」具現化,並提出其具有雙重含義:一方面是區塊鏈交易中的 真實性(truth / veracity),即可驗證與不可竄改的層面;另一方面則是感知哲學裡我們如何生成與經驗 現實(reality / the real) 的層面。為了支撐此觀點,我們必須討論概念模型與類比機制的形成方式。依據 Stinson(2020)所提出的「一般機制」(generic mechanism),運算模型與人類認知的可比擬性並不在於其表徵形式是否相似,而在於兩者是否都能被視為某種抽象機制範疇的實例。這為意圖將生成藝術與認知系統彼此映射的設計提供了正當性基礎。許多研究已經將 AI 感知與人類感知視為一體兩面的過程,並藉由生成模型的結構重塑感知哲學。例如 Buckner (2023) 提出,人類的想像力與記憶與變分自編碼器(VAE)高度相關;Andy Clark (2023) 的「預測式大腦」理論則指出,感知與人工智慧皆可被理解為生成機制:它們並非被動接收訊號,而是主動預測與修正。換言之,所謂「現實」並非客觀既存,而是大腦生成的預測,一種可調控的幻象。這些理論為心智哲學與感知哲學的辯論提供了結構性的橋梁。然而,「感知哲學中的現實」與「可度量的能量軌跡的真實性」在本體論層級上並非同一類型,因而難以在單一框架下直接並置。但本實驗所創造的藝術機制,卻建立了初步的「共地」:「太陽能神諭隨身聽」的運算過程也可被視為一種感知系統。透過 oracle 機制,它從兩個世界——顱內/鏈上 與 顱外/鏈下——提取「真實」,而演算法中的「預測與誤差」則成為定位「真實」的工具。「這個聲音源自這片太陽能電池,於此時此地、在這些條件之下。」最終,Solar Oracle Walkman 從一個將能源追溯系統聲音化的練習,轉化為一種以「真實」聲音化為核心的生成音樂雕塑和兩種不同系統間的語義對齊翻譯工作。謹慎而言,本計劃仍應被視為一份關於認知科學的「運作性草圖」(operational sketch),而非可驗證的意識理論;它與正式的意識科學與心靈哲學仍保持距離。
 
<gallery widths=400 heights=300>
File:Stinson's generic mechanism.png|此圖例說明 Stinson(2020)所提出的「一般機制」概念:不同系統(如運算模型與人類認知)之間的可比擬性,不在於其表徵形式相同,而在於它們是否同屬某種抽象的機制範疇。這樣的視角為將生成藝術與認知系統彼此映射提供了正當性基礎。
File:controllable hallucinations with RAVE.png|一個編曲策略:使用DSSC I–V序列訓練RAVE,每次新量測會產生一個潛在嵌入z1。將z1經過編碼器–解碼器循環,得到重建嵌入z2。計算殘差向量r = z1 – z2。這個殘差r正好代表模型無法解釋的部分。z1捕捉了DSSC可再現的聲紋,r則可以被假設為「幻覺」:模型無法同化的偏差、噪音或異常。將r輸入到另一個RAVE解碼器就可以將幻覺聲音化:
</gallery>
 
=討論=
# '''目前的狀態''' 「太陽能神諭隨身聽」現階段是一件結合能源量測與聲音生成的藝術裝置。圖案化DSSC的I–V曲線被即時轉換為潛在聲音狀態,同時藉由模糊提取器產生可驗證的金鑰,上鏈註冊。此流程使聲音不僅是審美事件,也是一種能被追溯的能量標籤。作品由此強調「生成」與「驗證」的雙重面向:聲音保持創造性漂移,而oracle作為外部錨點,確保結果仍能回溯到具體的能源軌跡。
# '''理論目前的作用''' Stinson(2020)的「一般機制」提供了比擬的框架,使得DSSC–oracle–聲音的生成過程能與人類感知機制相互映射:兩者皆屬於「生成系統」的實例。Andy Clark 的「預測式大腦」理論則幫助我們理解,作品中的聲音並非單純再現,而是經由「預測與誤差修正」而生成的幻象。這些理論視角並非最終結論,而是設計上的導向與反思工具,協助我們將技術流程(量測、特徵提取、上鏈驗證)與哲學框架(感知、真實、幻覺)彼此連結。
# '''下一步''' 接下來的挑戰在於擴充數據集與語意結構:建立在控制光照與溫度下的小型DSSC聲紋資料集,用以驗證再現性。探索如何在聲音潛在空間中保留「鄰近性」,使能源差異能對應聲音差異。評估模糊提取器的失效模式與防偽極限,並將聲紋哈希註冊為能源憑證。深化「oracle」的雙重含義:當它僅作為驗證機制時,是守門人;但若它能揭示曲線之間的結構性關聯並轉譯為聲音,便開始承擔古義上的「神諭」角色,將物理跡象轉換為另一世界的訊息。
#Solar Oracle Walkman 的核心並非音樂生成,而是以可重構 PUF 把材料的物理熵轉為一次性簽章,讓「哪一片、此時此地、實際產生的能量」被驗證並可共享。作品在秩序與隨機之間運作:既可被辨識、又不被單一模型吃透;它以 A/D 量化與情境綁定,將能源事實轉為可見的聲音與可驗證的資料。這不是追求盲目不可預測,而是為行動者騰出可自我修正、可改寫規則的空地——自由就活在「部分可預測+策略性不可預測」的張力裡。


= 參考 =
=參考=
=References=
#Buckner, Cameron J. 2023. From Deep Learning to Rational Machines: What the History of Philosophy Can Teach Us about the Future of Artificial Intelligence. 1st ed. Oxford University PressNew York. https://doi.org/10.1093/oso/9780197653302.001.0001.
#Buckner, Cameron J. 2023. From Deep Learning to Rational Machines: What the History of Philosophy Can Teach Us about the Future of Artificial Intelligence. 1st ed. Oxford University PressNew York. https://doi.org/10.1093/oso/9780197653302.001.0001.
#Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
#Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
#Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
#Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
#https://www.hackteria.org/wiki/A_RAVE_and_starvation_synth_based_generative_sonic_device_powered_by_dye_sensitized_solar_cell
#Schmudde, David. 2024. Between Chaos and Order. https://doi.org/10.34626/2024_XCOAX_019.
#https://github.com/shihweichieh2023/IVcurve_tester
#“What Is Complexism? Generative Art and the Cultures of Science and the Humanities | Semantic Scholar.” n.d. Accessed September 5, 2025. https://www.semanticscholar.org/paper/What-is-Complexism-Generative-Art-and-the-Cultures-Galanter/90da494215c460a8f8b7e518b75795f2177d269d.
#https://github.com/rjha18/vec2vec
#https://github.com/shihweichieh2023/solar-oracle-walkman

Latest revision as of 08:27, 17 October 2025

摘要

本實驗是在SGMAK Hacker-in-Residency Programme完成的可運作原型。太陽能神諭隨身聽(Solar Oracle Walkman)是一個能源交易與聲音雕塑的探索,由一個I-V測試儀改造而成,能將手工製作的DSSC(solar mini disc)轉成聲音。每一片solar mini disc的TiO₂層經由氰版顯影或網版印刷圖案化製造刻意缺陷,產生獨特的I–V聲紋V,並透過oracle(將鏈外資料安全橋接至區塊鏈的機制)提交至智慧合約進行驗證,鏈上的驗證通過後,即在隨身聽上將V轉為可重現性的生成音樂。本裝置運作如同冷錢包:每片DSSC對應一個可驗證的鏈上身份(panel_id)與其承諾值(commitment),panel_id可作為未來代幣化的錨點。在已完成的v1原型中,量測到的I–V曲線會被分解為七個無量綱特徵[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*],再做PCA降維,然後手動映射至另一個獨立訓練的nn~ RAVE解碼器的潛在輸入口,以達成可重現的聲音身份,而不依賴明確的語意結構。在下一個實驗v2裡,預計將記錄在不同光照下的連續I–V數據,並訓練I–V編碼器以學習每片電池的緊湊且具抗光照變化性的潛在嵌入。這些嵌入在鏈下進入模糊提取(fuzzy extractor)流程(量化 → 輔助資料錯誤更正(ECC)→ 哈希運算),以導出穩定的金鑰K;鏈上只錨定由K推導的承諾值(commitment)與panel_id,以維護隱私並允許驗證。若能保持向量空間(VSP)的幾何關係,潛在空間中的距離將能反映光伏行為的差異,建立更完整的語意空間。在藝術與哲學的視角下,本「占卜機」裝置連結物理世界與信息世界,是一個結合感知哲學與區塊鏈的視角探索「真實」的提煉與實現化。目前本原型裡的聲音並非單純再現,而是將理論納入編曲設計裡做為導向與反思工具,將技術流程(量測、特徵提取、上鏈驗證)與哲學框架(感知、真實、幻覺)彼此連結。

實驗

太陽能神諭隨身聽主要由三個元件組成:I-V 曲線測試器、經氰版顯影處理或網版印刷圖案化的DSSC、智慧合約。每片迷你碟的 I–V 曲線會被量測並上傳至部署於 Sepolia 測試網 的智慧合約進行驗證。一旦其 I–V 數據通過驗證,相應的音樂就會被生成並允許由隨身聽播放。每片「太陽能迷你碟」的聲音被期望具有可重現性、生成性與語意性——如同一段具備清晰機制的生成音樂,而非完全隨機。為了讓每片太陽能迷你碟成為生成裝置,我首先假設需要設計一個哈希運算(hash operation)來獲得每片太陽能玻璃的「聲紋 (V)」。哈希運算是將輸入資料(例如數字、文字、檔案,或一組 I–V 曲線參數)送入數學函式或演算法以產生哈希值的過程。哈希演算法可以處理任意長度的輸入,但總是輸出固定長度的結果。

第一個原型 v1

一個DIY I–V曲線測試器被連接至電腦,其量測的16個I–V曲線點會透過序列通訊傳送到Max/MSP。I–V曲線通常用來分析太陽能電池的特性,因此在此被視為電池的「聲紋」,尤其是那些帶有氰版與網版印刷TiO₂層的DSSC。在本研究中,I–V曲線的形狀被拆解成七個特徵,並對每個特徵應用機器學習,讓電腦能夠「學會」其形狀。此方法預期能夠保證對光照強度的不變性,使太陽能迷你碟的音訊輸出在不同光照下依舊保持穩定再現。

太陽能神諭隨身聽 v1 — 流程圖

[光]
   ▼
[具圖案的 DSSC「迷你碟」]
   ▼
[I–V 掃描 / ESP32-S3 測試器]
   ▼
[特徵擷取,7 維]
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
   ▼
ml.scale 正規化
   ▼
ml.principle (PCA)
   ▼
輸入 RAVE nn~ 解碼器
   ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 → 聲音潛在向量
(映射依藝術 / 作曲語境決定)

7-D Voice print(無量綱化)

7D聲紋定義:V = [FF (填充因子), Vmpp/Voc, Impp/Isc, Rs (串聯電阻), Rsh (旁路電阻), 曲率總和, I–V曲線面積]。注意:這些計算均為 無量綱(dimensionless),所謂無量綱特徵向量,指的是經過正規化後不再帶有物理單位(伏特、安培、歐姆)。例如透過比值Vmpp/Voc或Impp/Isc,這些特徵只捕捉相對形狀或行為,而與絕對大小無關。這在比較或分類不同光照條件下的I–V曲線時至關重要,因為它能確保差異反映的是裝置的內在特性,而不是量測條件的變動。

FF (填充因子)
FF = (Vmpp * Impp) / (Voc * Isc)
Vmpp/Voc 與 Impp/Isc
無量綱比值,捕捉最大功率點的操作位置。
Rs* 與 Rsh*(無量綱電阻估計)
先估計在重取樣曲線上的局部斜率:
Rs ≈ -ΔV/ΔI (在 I ≈ Isc 附近)
Rsh ≈ -ΔV/ΔI (在 V ≈ Voc 附近)
再轉換為無量綱形式:
Rs* = Rs * (Isc / Voc)
Rsh* = Rsh * (Isc / Voc)
Σκ (曲率總和)
沿著 64 點重取樣 I–V 折線,累積各段角度變化:
Σκ = Σ |angle(s_i, s_{i+1})|
(直覺上:Σκ 越大,曲線「彎曲」程度越明顯)
A* (I–V 曲線面積,正規化)
定義:從 V=0 到 V=Voc 的曲線下方面積,除以 (Isc * Voc)
離散近似:
A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)

ml.scale 與 ml.principle 作為模糊提取的前處理

為了讓每片太陽能迷你碟的聲音能被智慧合約穩定驗證並重現,Max/MSP 的 ml.* 函式庫是一個解決方案。 ml.scale:先將七個原始特徵正規化到0到1的範圍。 ml.principle:再進行 PCA(主成分分析),將七個值轉換至新的7維PCA空間。PCA是一種數學方法,能將數據旋轉並壓縮到較少維度,同時保留最多變異。 ml.principle 是 Max/MSP 內實作PCA的物件: 它會從訓練數據中學習主軸 並將新的數據投影至該降維空間

第二個原型v2:RAVE 作為中介層與模糊提取

在V1版本裡用ml.scale和ml.principle做的PCA僅僅是線性降維;它無法保證「在不同光照下仍能重現」和「二進位金鑰的錯誤更正」,因此我提出v2版本,這裡採用了模糊提取器:它將連續的潛在向量 z 轉換為可糾錯、可驗證的位元列,並輸出一個穩定的金鑰 K,以同時滿足身份可重現性與鏈上需求。 太陽能神諭隨身聽 v2 — 概覽

[光]
   ▼
[具圖案的 DSSC「迷你碟」]
   ▼
[連續 I–V 掃描 / ESP32-S3 測試器]
   ▼
[I–V 編碼器(在 Colab 以 Conv1D 訓練)— 鏈下]
輸入:7 維序列 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]
輸出:潛在向量 z = (z1, z2, …, zn)
訓練:triplet loss + 先驗匹配
增強:增益縮放 / 噪音 / 時序抖動
   ▼
[模糊提取器 — 鏈下]
z → 正規化 / 量化
  → ECC + 輔助資料 → 穩定金鑰 K
  → commit = keccak256(K || salt)
註冊:panel_id = keccak256("panel-id" || K)
驗證:新 K′ → keccak256(K′ || salt) → 與儲存的承諾值比對
   │
   ├───────────────► [Oracle / 鏈上路徑]
   │                   打包 {pubkey, panel_id, commitment, timestamp, nonce, signature}
   │                   智慧合約:驗證 EIP-712 簽章、時間戳、nonce
   │                   智慧合約:檢查 keccak256(K′ || salt) == commitment(於 verify 呼叫時)
   │                   智慧合約:儲存 panel_id、commitment、metadata;發出事件
   │                   回饋:OK / FAIL
   │
   ▼
[輸入 RAVE nn~ 解碼器]
   ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 → 聲音潛在向量
(映射依藝術 / 作曲語境決定)

I–V 編碼器訓練(鏈下

  1. 平台:Google Colab
  2. 架構:Conv1D(因 RAVE 編碼器無法直接處理曲線數據)
  3. 輸入:連續七維「聲紋」 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]
  4. 輸出:潛在向量 z = (z1, z2, …, zn)(維度與下游音訊解碼器對齊)
  5. 訓練目標:triplet loss(相同電池樣本拉近,不同電池樣本推遠)+ 先驗匹配(使 z 服從解碼器的高斯先驗)
  6. 數據增強:增益縮放 / 小幅噪音 / 時序抖動

模糊提取(鏈下)

  1. z → 正規化、量化
  2. 經 ECC(錯誤更正碼) → 導出穩定金鑰 K
  3. 計算承諾值:commit = keccak256(K || salt)

Panel ID 與註冊

  1. 初始註冊:panel_id = keccak256("panel-id" || K)
  2. 後續驗證:重建 K′ → 計算 keccak256(K′ || salt) → 與鏈上 commitment 比對
  3. 特點:合約自動將紀錄歸屬於 panel_id,無需上傳任何人類身份資訊

音訊解碼器(鏈下)

  1. 訓練:獨立於音樂數據,或採用現有的 RAVE 解碼器
  2. 功能:將 z 聲音化
  3. 穩定性:由於編碼器強制 z 的幾何結構穩定,相同電池的重複量測能產生可重現的音色與動態
  4. 跨模態映射:I–V → 聲音潛在向量:語意秩序僅保留在編碼器端,解碼器端映射依藝術/作曲語境決定

可驗證語意空間 (VSP)

根據 Jha 等人 (2025),語意穩定性依賴三個核心約束:

  1. 重建性:轉換後的表徵能映射回來源
  2. 循環一致性:往返轉換能保持意義
  3. 向量空間保存 (VSP):嵌入間的成對距離在映射後仍被保存

智慧合約驗證系統

Solar Oracle Walkman 的智慧合約部署於以太坊sepolia測試網(合約地址:0xeF19a90e5786dd0e89264F38f52CF81102db938e)。合約作為去中心化的數位公證人,負責:驗證簽名與資料完整性(EIP-712)、以 panel_id 為鍵管理提交、儲存並發佈與 I–V 聲紋關聯的承諾值(commitment)與中繼資料。注意:模糊提取(Fuzzy Extraction)與金鑰 K 的導出均在鏈下完成;本合約不執行 FE。相關測試程式碼可以在Github下載。

驗證流程(鏈上)

輸入(由鏈下提交):

  1. code>panel_id:鏈下以 panel_id = keccak256("panel-id" || K) 生成
  2. commitment:鏈下以 commitment = keccak256(K || salt) 計算
  3. 簽名:依 EIP-712 標準對提交資料簽名
  4. timestampnonce
  5. (可選)7 維聲紋 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area],用於可視化或研究

合約責任:

  1. 驗證 EIP-712 簽名、timestampnonce
  2. panel_id 為索引管理提交,檢查 commitment 與既有紀錄的一致性(或依業務規則更新)
  3. 儲存 panel_idcommitment、時間戳與(可選)7 維聲紋;發佈事件以供訂閱

Panel ID 與身份管理(鏈上觀點)

  1. 來源(鏈下):panel_id = keccak256("panel-id" || K)
  2. 鏈上歸檔:以 panel_id 為鍵歸檔與查詢測量紀錄
  3. 身份驗證:鏈下重建 K' 後計算 keccak256(K' || salt) 與鏈上 commitment 比對;合約僅接受比對結果所需之提交並進行存證

安全機制

EIP-712 結構化簽名

合約實作 EIP-712 標準,為提交的測量資料提供可驗證的結構化簽名:

struct IVMeasurement {
    uint256 timestamp;
    bytes32 panelId;
    bytes32 commitment;
    uint256[7] voiceprint;
    bytes32 nonce;
}

數據完整性檢查

  1. 時間戳驗證:防止重放攻擊
  2. Nonce 機制:確保每筆交易唯一性
  3. 聲紋範圍檢查:若提供 7 維聲紋則檢查範圍合理性
  4. 承諾一致性:對同一 panel_id 的 commitment 進行一致性檢查

儲存結構

測量記錄

每筆驗證通過的測量記錄包含:

  1. Panel ID:DSSC 的匿名化識別碼(鏈下導出)
  2. Commitment:Keccak-256 承諾哈希(鏈下計算)
  3. Timestamp:測量時間戳
  4. Voiceprint(可選):7 維 I–V 聲紋特徵
  5. Verification Status:驗證狀態

神諭機制(鏈上角色)

合約作為區塊鏈神諭的一端,對鏈下送來的簽名資料進行鏈上驗證與存證:

  1. 數據驗證:簽名、時間戳、nonce 與資料完整性
  2. 身份確認:以 panel_id 比對 commitment
  3. 狀態更新:更新鏈上資料結構
  4. 事件觸發:驗證成功後發佈事件

基於感知與運算為生成系統相似性的「真實」聲音化雕塑

在追蹤能源的動機之下,本實驗試圖將「真實」具現化,並提出其具有雙重含義:一方面是區塊鏈交易中的 真實性(truth / veracity),即可驗證與不可竄改的層面;另一方面則是感知哲學裡我們如何生成與經驗 現實(reality / the real) 的層面。為了支撐此觀點,我們必須討論概念模型與類比機制的形成方式。依據 Stinson(2020)所提出的「一般機制」(generic mechanism),運算模型與人類認知的可比擬性並不在於其表徵形式是否相似,而在於兩者是否都能被視為某種抽象機制範疇的實例。這為意圖將生成藝術與認知系統彼此映射的設計提供了正當性基礎。許多研究已經將 AI 感知與人類感知視為一體兩面的過程,並藉由生成模型的結構重塑感知哲學。例如 Buckner (2023) 提出,人類的想像力與記憶與變分自編碼器(VAE)高度相關;Andy Clark (2023) 的「預測式大腦」理論則指出,感知與人工智慧皆可被理解為生成機制:它們並非被動接收訊號,而是主動預測與修正。換言之,所謂「現實」並非客觀既存,而是大腦生成的預測,一種可調控的幻象。這些理論為心智哲學與感知哲學的辯論提供了結構性的橋梁。然而,「感知哲學中的現實」與「可度量的能量軌跡的真實性」在本體論層級上並非同一類型,因而難以在單一框架下直接並置。但本實驗所創造的藝術機制,卻建立了初步的「共地」:「太陽能神諭隨身聽」的運算過程也可被視為一種感知系統。透過 oracle 機制,它從兩個世界——顱內/鏈上 與 顱外/鏈下——提取「真實」,而演算法中的「預測與誤差」則成為定位「真實」的工具。「這個聲音源自這片太陽能電池,於此時此地、在這些條件之下。」最終,Solar Oracle Walkman 從一個將能源追溯系統聲音化的練習,轉化為一種以「真實」聲音化為核心的生成音樂雕塑和兩種不同系統間的語義對齊翻譯工作。謹慎而言,本計劃仍應被視為一份關於認知科學的「運作性草圖」(operational sketch),而非可驗證的意識理論;它與正式的意識科學與心靈哲學仍保持距離。

討論

  1. 目前的狀態 「太陽能神諭隨身聽」現階段是一件結合能源量測與聲音生成的藝術裝置。圖案化DSSC的I–V曲線被即時轉換為潛在聲音狀態,同時藉由模糊提取器產生可驗證的金鑰,上鏈註冊。此流程使聲音不僅是審美事件,也是一種能被追溯的能量標籤。作品由此強調「生成」與「驗證」的雙重面向:聲音保持創造性漂移,而oracle作為外部錨點,確保結果仍能回溯到具體的能源軌跡。
  2. 理論目前的作用 Stinson(2020)的「一般機制」提供了比擬的框架,使得DSSC–oracle–聲音的生成過程能與人類感知機制相互映射:兩者皆屬於「生成系統」的實例。Andy Clark 的「預測式大腦」理論則幫助我們理解,作品中的聲音並非單純再現,而是經由「預測與誤差修正」而生成的幻象。這些理論視角並非最終結論,而是設計上的導向與反思工具,協助我們將技術流程(量測、特徵提取、上鏈驗證)與哲學框架(感知、真實、幻覺)彼此連結。
  3. 下一步 接下來的挑戰在於擴充數據集與語意結構:建立在控制光照與溫度下的小型DSSC聲紋資料集,用以驗證再現性。探索如何在聲音潛在空間中保留「鄰近性」,使能源差異能對應聲音差異。評估模糊提取器的失效模式與防偽極限,並將聲紋哈希註冊為能源憑證。深化「oracle」的雙重含義:當它僅作為驗證機制時,是守門人;但若它能揭示曲線之間的結構性關聯並轉譯為聲音,便開始承擔古義上的「神諭」角色,將物理跡象轉換為另一世界的訊息。
  4. Solar Oracle Walkman 的核心並非音樂生成,而是以可重構 PUF 把材料的物理熵轉為一次性簽章,讓「哪一片、此時此地、實際產生的能量」被驗證並可共享。作品在秩序與隨機之間運作:既可被辨識、又不被單一模型吃透;它以 A/D 量化與情境綁定,將能源事實轉為可見的聲音與可驗證的資料。這不是追求盲目不可預測,而是為行動者騰出可自我修正、可改寫規則的空地——自由就活在「部分可預測+策略性不可預測」的張力裡。

參考

References

  1. Buckner, Cameron J. 2023. From Deep Learning to Rational Machines: What the History of Philosophy Can Teach Us about the Future of Artificial Intelligence. 1st ed. Oxford University PressNew York. https://doi.org/10.1093/oso/9780197653302.001.0001.
  2. Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
  3. Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
  4. Schmudde, David. 2024. Between Chaos and Order. https://doi.org/10.34626/2024_XCOAX_019.
  5. “What Is Complexism? Generative Art and the Cultures of Science and the Humanities | Semantic Scholar.” n.d. Accessed September 5, 2025. https://www.semanticscholar.org/paper/What-is-Complexism-Generative-Art-and-the-Cultures-Galanter/90da494215c460a8f8b7e518b75795f2177d269d.