pineforge
開始使用
市集設計

策略「編譯二進位」授權:設計空間

賣原始碼風險高,純託管 SaaS 又太重;以「可編譯二進位 + 賣方自訂授權邊界」為核心是 PineForge 市集的路線——本文整理設計推演。

約 8 分鐘閱讀#marketplace#licensing#design

策略作者想在不出讓原始碼的前提下變現; 買方想用自己的資料回測、在自己的券商端運行。 這兩項需求確實存在張力, 而眼下多數作法把這種張力處理得很糟。 本文整理我們在確定採用「編譯二進位+授權邊界」作為 PineForge 交易市集底座之前, 所探索過的設計空間。

把問題說清楚

作者做出了能用的東西:花數月調參、修邊角案例、 做樣本外驗證,然後想出售。 買方則想在自己的資料上運行, 核實回測是否與作者宣稱一致, 並接入自己的執行鏈路。

作者一旦交出原始碼,變現大致結束: 買方可無限期運行、隨意改寫、再賣給他人; 作者只賺到一單,此後每位買家都是流失的潛在客戶。

作者一旦攥緊原始碼,買方就失去了核實、 微調或建立信任的手段,等同訂閱黑盒; 作者伺服器一掛,交易就停。

業界常見的兩條路都想繞過這一矛盾, 但各自的失靈模式也早有紀錄。

模式一:賣原始碼

作者直接出售 Pine 腳本, 一次性付款換來 .pine 檔案。

買方收益真實存在:完全存取、完全可驗證、 完全可控——任意資料回測、可調參數、 永久獨立於賣方運行。

賣方代價同樣真實:原始碼交割後不再有持續抓手; 防拷貝只能靠買方自覺; 策略可被搬到其他平台二次上架、改頭換面出售, 或被無償擴散; 收入上限大致等於願意付費的「誠實首購」人數。

適合把簡單省事看得比持續收入更重要的作者; 不適合策略確有長期價值、希望多年保護的作者。

模式二:賣訊號

作者自己跑策略,把進場、出場、 部位等訊號推到訂閱串流; 原始碼始終不離開作者掌控。

賣方好處:原始碼徹底保密、訂閱收入可持續、 沒有「一單拿走全部價值」的交易。

買方代價很重:無法用自有資料回測策略; 只能相信作者宣稱的歷史表現; 完全依賴作者基礎設施——放假、當機或關停, 買方手裡什麼都沒有;也無法調參, 只能接收作者設定的那一組。

訊號服務適合完全沒有能力自建運行的買方; 對希望理解自己在跑什麼、 並獨立核實的技術型買方而言, 這條路徑幾乎無從起步。

模式三:賣編譯產物

第三條路徑是 PineForge 交易市集的核心: Pine 策略編譯為共享程式庫(Linux 為 .so, macOS 為 .dylib)。 作者分發二進位檔,而非原始碼。買方在自有機器上, 透過開源的 PineForge 執行時期, 用自有 OHLCV 資料驅動該二進位檔。

這在張力兩側同時著力:

對作者: 原始碼不離開本機。二進位檔由 Pine 腳本編譯而來,但把已編譯的 .so 還原成可讀 Pine 需要大量投入——即便還原, 也只能得到組譯層級輸出,而非道地 Pine; 核心邏輯在實務上受到保護。

對買方: 回測在本機、用自有資料完成;執行走自有券商對接;開源執行時期可稽核——注重安全的買方讀不了策略本身, 但能讀驅動資金的程式碼; 回測本身不依賴賣方伺服器。

這對 PineForge 並非新發明。 MetaTrader 4/5 生態自約 2012年 MQL5 Market 上線起就是這樣運轉: 策略編譯為 .ex5,經市集以帳戶鎖定、 時限授權分發; 買方在 MetaTrader策略測試儀本機回測, 原始碼留在開發者側——這是經大規模驗證的模型。

我們把同一套 playbook 用在 Pine 上, 並補兩點:更細的授權旋鈕(見下), 以及執行時期為開源, 任何人都能稽核真正執行交易的那一層。

授權維度

沒有授權框架的編譯二進位只是可複製檔案; 授權層才讓商業模式成立。

PineForge 的賣方工具暴露六個授權維度:

時限。 授權有過期日——自購買起算的天、 週或月。到期後二進位檔停止執行策略;買方可續費, 賣方獲得持續收入。這是最常用的維度, 市集裡幾乎所有策略都會用到。

機器綁定。 授權與硬體指紋綁定; 買方只能在登記過的機器上運行, 不能在第二台或雲端執行個體上跑, 因而降低「轉手二進位檔」的價值——接收端機器沒有有效授權。 更擔心規模化盜版而非隨手分享的作者可啟用。

**券商綁定。 ** 授權規定策略允許對接哪些券商整合。 與特定券商 API 合作的賣方, 可把執行限制在這些整合上, 避免在不支援或不希望出現的執行場所使用。

商品代號綁定。 授權限制可交易的代號。 在 BTC/USDT 上建構並驗證過的作者, 可只放行該代號, 避免買方把為某一資產最佳化的策略硬套到完全不同資產上, 跑出意外結果再把責任推給作者。

參數範圍。 買方可以調參,但只能在賣方公布的範圍內。例如回看視窗參數可能只允許 10–50 根 K 線: 低於 10(作者知道嚴重過擬合)或高於 50(失去意義)都不允許。 賣方公布區間,執行時期強制。

**可撤銷。 ** 授權伺服器在下次週期性核取時可回傳 403, 二進位檔隨即停止執行。 若買方違約——分享二進位檔、 在未授權硬體上運行——作者可撤銷, 無需退款或漫長訴訟。撤銷是核選項, 僅適用於明確違約。

我們刻意不做的事

**不搞 DRM 式障眼法。 ** .so 是真實編譯產物; 有足夠時間與工具,熟練工程師仍可逆向其邏輯, 我們不否認這一點。契約在授權,而非二進位格式; 保護來自買方同意的條款與執行時期的授權執行, 而非「無法反組譯」。宣稱二進位堅不可摧是不誠實。

**不在每次回測都「打電話回家」。 ** 核取是週期性的,不是每次呼叫。 執行時期在本機快取有效授權, 並按排程(可按授權設定, 預設每日)聯絡授權伺服器; 在授權視窗內可離線回測。 我們不在每根 K 線上報——那會讓回測依賴網路、 引入延遲,安全收益卻甚微: 能攔截一次核取的人也能攔截一百次。

**不搞事後驚喜分潤。 ** 市集抽成比例在上線前固定公布; 加入等候名單的賣方在上架前就知道條款。 我們見過產品上線後才揭露佣金結構的市集——視為惡意, 我們不會這麼做。

仍在推敲的開放問題

授權金鑰外洩。 若買方機器被攻破、金鑰被抽出怎麼辦?選項:(a) 撤銷並為正當買方重發,帶來中斷; (b) 維護按買方輪換金鑰的方案, 使每台機器執行個體有獨立衍生金鑰, 一台失守不致拖累全體。我們傾向 (b), 但實作上的金鑰管理並不輕鬆。

**範圍之外還要賣方定義的預設值。 ** 「參數範圍」維度公布每個參數的上下限; 賣方是否還應能公布 預設值——買方首次設定時看到的起始值?很可能需要: 明知 20 根回看最佳化的作者, 不該強迫買方試錯摸索。預設值為建議性質,不強制。

**賣方發布的「示範回測」報告。 ** 購買前買方應能看到策略有效的證據, 而非僅有賣方自述。 目前計畫是允許賣方依 /gallery 同一 schema, 用自有資料與 OHLCV 視窗發布畫廊式回測報告; 報告將驗證為在聲明輸入下由 PineForge 引擎產出。 買方看到真實成交列表、真實夏普、 真實迷你圖——不是行銷截圖。 這是誠實版的「先看再買」。

與 open-core 的對齊

編譯二進位市集的一個顧慮是: 買方資金的安全幾乎完全依賴二進位執行器——很多實作裡它是專有黑盒。 在 MetaTrader 裡跑 .ex5, 等於信任MetaQuotes 的執行時期及其「不會執行未揭露行為」的保證。

PineForge 的執行時期採用 Apache-2.0, 公開可從 ghcr.io/fullpass-4pass/pineforge-engine:latest 取得。 Codegen(把 Pine 編譯為 C++ 的部分)是專有——商業護城河在那裡。 但 執行器——真正用 OHLCV 驅動編譯產物並產出成交列表的程式碼——是開源的。

注重安全的買方可以在託付回測之前稽核執行器; 稽核不了策略原始碼(這正是要點), 但能稽核承載它的容器。分割是故意的: 碰觸真實資金的部分開放;構成壁壘的部分封閉。

市集時程表

Beta 於 2026 年 Q4 啟動, 賣方入駐人工審核——小規模受邀作者、 團隊審核上架、為買方簡化購買流程。 Beta 在真實成交上運行,但目錄刻意縮小, 以便在放大規模前暴露整合問題。

2027 年開放完整自助市集:賣方可獨立上架、 自行設定授權維度、發展示範回測報告、 在無團隊介入下管理目錄。

時程是務實預估,不是口號。 引擎與 codegen 今日已有;授權伺服器、 賣方控制台與買方購買流程屬於 2026 的建設項。

下一步