跳到正文

策略「编译二进制」授权:设计空间

约 8 分钟阅读

以源码形式出售策略风险高,以托管服务形式出售又太重。PineForge 规划中的策略市场,正是围绕「以编译二进制形式出售、并由卖方自定义许可边界」这条路径设计的;本文记录了让我们走到这一步的设计探索。

2026-09-30 状态说明:本文是一次设计探索。文中描述的策略市场、许可服务器和卖方工具都还在规划中,尚未构建,也没有发布日期。它们将依托的引擎和转译器目前已经存在。

策略作者想在不交出源码的前提下变现;买方想用自己的数据回测、在自己的券商上运行。这两种需求确实存在张力,而现有的大多数方案都没能处理好这种张力。本文介绍我们在确定以编译二进制授权作为 PineForge 策略市场的基础之前,所探索过的设计空间。

把问题说清楚

一位策略作者做出了真正有效的东西:花了几个月调参、修复边界情况、做样本外验证,现在想把它卖出去。买方则希望在自己的数据上运行它,核实回测结果是否与作者宣称的一致,并把它接入自己的执行链路。

作者一旦交出源码,变现也就到头了。买方可以无限期运行、随意修改,还能转卖给别人。作者只做成了一单生意,之后的每一位买家,都是流失的潜在客户。

而作者一旦扣住源码,买方就失去了核实、调优和信任这个策略的能力,等于订阅了一个黑盒。作者的服务器一宕机,买方的交易就停了。

常见的两种方案都试图应对这个矛盾,但两者的失败模式都早有记录。

模式 1:卖源码

作者直接出售 Pine 脚本,买方一次性付款,拿到 .pine 文件。

对买方来说,好处是实实在在的:完全的访问权、完全的可验证性、完全的控制权。他们可以用任何数据回测、调整参数,并且永远独立于卖方运行。

对卖方来说,坏处同样实实在在。源码一经转手,卖方就再没有持续的筹码。防盗版能力完全取决于买方的自觉。策略可能被搬到其他平台重新上架,被改头换面当作衍生作品出售,或者干脆被免费传播。收入的上限,就是诚实的首次购买者的人数。

这种模式适合更看重简单、而非持续收入的作者;不适合那些策略确实足够有价值、希望在未来数年里持续保护它的作者。

模式 2:卖信号

作者自己运行策略,把信号——入场、出场和仓位大小——发布到订阅者接收的信号流中。源码始终不离开作者的掌控。

卖方的好处:源码得到完全保护,订阅收入源源不断,也不存在「一笔交易就转走全部价值」的情况。

买方的代价则很严重。他们无法用自己的数据回测策略,只能相信作者宣称的历史表现。他们完全依赖作者的基础设施——作者去度假、服务器宕机,或者决定关停,买方就一无所有。买方也无法调参,只能接收作者配置好的那一套。

信号服务适合没有技术能力自己运行策略的买方。对于想弄明白自己在运行什么、并能独立验证的技术型买方来说,这种模式从一开始就行不通。

模式 3:卖编译二进制

PineForge 规划中的策略市场,正是围绕第三种模式设计的。Pine 策略被编译成共享库(Linux 上是 .so,macOS 上是 .dylib)。作者分发的是二进制,而不是源码。买方在自己的机器上,通过开源的 PineForge 运行时,用自己的 OHLCV 数据运行这个二进制。

这同时兼顾了矛盾的两端:

对作者而言: 源码从不离开自己的机器。二进制由作者的 Pine 脚本编译而来,但要把编译好的 .so 逆向回可读的 Pine,需要付出大量精力——即便逆向成功,得到的也是汇编级的输出,而不是地道的 Pine 代码。策略的核心逻辑得到了实质性的保护。

对买方而言: 回测在本地、用自己的数据运行;执行走自己的券商对接;开源运行时可以审计——注重安全的买方即便读不到策略本身,也能读到操盘自己资金的代码。回测本身也不依赖卖方的服务器。

这种模式并非 PineForge 首创。自 MetaQuotes 在 2011 年开放 MQL5 Market 以来,MetaTrader 生态就一直这样运转:MetaTrader 策略编译成 .ex4 或 .ex5 二进制;MQL5 Market 会把每一笔购买绑定到买方的电脑上,可激活次数由卖方设置,卖方还可以把产品出租出去。买方在 MetaTrader 的策略测试器里本地回测,源码留在开发者手中。这是一个经过验证的模式。

我们把同一套打法用在 Pine 上,并加了两点:更细粒度的许可调节项(见下文),以及开源的运行时,让任何人都能审计真正执行其交易的那部分代码。

许可维度

没有许可框架的编译二进制,只是一个谁都能复制的文件。让这套商业模式成立的,是许可层。

这套设计包含六个许可维度:

限时。 许可有到期日——从购买起算若干天、若干周或若干月。许可到期后,二进制就停止执行策略。买方可以续费,卖方获得持续收入。这是最常见的维度,策略市场里几乎所有策略都会用到。

绑定机器。 许可与硬件指纹绑定。买方可以在自己登记过的机器上运行策略,但不能在第二台机器或云实例上运行。这降低了分享二进制的价值——接收方的机器上没有有效许可。比起随手分享,更担心规模化盗版的卖方,可以启用这一项。

绑定券商。 许可规定策略可以在哪些券商对接上执行。与特定券商 API 有合作的卖方,可以把执行限定在这些对接上,防止策略被用在不受支持或不希望出现的执行场所。

绑定品种。 许可限制策略可以交易哪些品种代码。在 BTC/USDT 上构建并验证策略的作者,可以分发只允许该品种的许可。这样可以防止买方把针对某一资产优化的策略,用在完全不同的资产上,跑出意料之外的结果——再把锅甩给作者。

限定参数范围。 买方可以调整策略参数,但只能在卖方允许的范围内。比如一个带回看窗口参数的策略,可能允许买方设在 10 到 50 根 K 线之间,但不能低于 10(作者知道那里严重过拟合),也不能高于 50(那里就失去意义了)。卖方公布范围,运行时强制执行。

可吊销。 许可服务器可以在下一次周期性许可校验时返回 403,二进制随即停止执行。如果发现买方违反条款——分享二进制、在未授权的硬件上运行——作者无需退款或走法律程序即可吊销许可。吊销是最后手段,卖方只应在明确违规时使用。

我们刻意不做的事

不搞 DRM 式的混淆表演。 .so 是货真价实的编译二进制。只要时间足够、工具得当,熟练的工程师就能逆向出它的逻辑,我们并不否认这一点。起约束作用的是许可这份契约,而不是二进制格式。保护来自买方同意的条款和运行时的许可执行,而不是「无法反汇编」。假装二进制牢不可破,是不诚实的。

不在每次回测时联网校验。 许可校验是周期性的,而不是每次调用都查。运行时会在本地缓存有效许可,并定期向许可服务器校验(每个许可可单独配置,默认每天一次)。在许可有效期内,回测可以离线进行。我们不会在每根 K 线的计算上都联网校验。那样会让回测依赖网络是否可用,还会引入延迟,却没有任何实际的安全收益——能截获一次许可校验的攻击者,也能截获一百次。

不搞出人意料的分成。 策略市场的抽成是一个固定比例,在上线前公布。加入候补名单的卖方,在上架之前就清楚条款。我们见过一些市场平台,等产品上线后才公布佣金结构——我们认为这是不诚信的做法,不会这么做。

仍在推敲的开放问题

许可密钥泄露。 如果买方的机器被攻破、许可密钥被窃取,该怎么办?可选方案有:(a) 吊销后给正当买方重新签发,但会造成中断;(b) 维护一套按买方轮换密钥的方案,让每个机器实例都有各自独立的派生密钥,这样一台机器被攻破,也不会殃及所有买方。我们倾向于 (b),但它的实现对密钥管理有不小的要求。

与参数范围配套的卖方默认值。 「限定参数范围」这一维度让卖方可以公布每个参数的上下限。那么,卖方是否也应该能公布默认值——也就是买方首次配置策略时看到的初始值?答案很可能是肯定的:一个知道自己的策略用 20 根 K 线回看效果最好的卖方,不应该逼买方靠反复试错去发现这一点。默认值只是建议,不强制执行。

卖方发布的「演示回测」报告。 购买之前,买方应该能看到策略有效的证据,而不只是卖方的一面之词。我们目前的计划是:允许卖方用自己的数据和 OHLCV 时间窗口,发布画廊格式的回测报告(与 /gallery 画廊采用相同的 schema)。报告会经过验证,确认是由 PineForge 引擎在所声明的输入上生成的。买方看到的是真实的交易列表、真实的夏普比率、真实的迷你走势图——而不是营销截图。这才是诚实版的「先看再买」。

与 open-core 模式的契合

编译二进制策略市场的一个隐忧是:买方资金的安全完全取决于二进制执行器——而在大多数实现里,它是一个专有的黑盒。在 MetaTrader 里运行 .ex5 文件,就等于信任 MetaQuotes 的运行时,以及它「不会执行未披露行为」的保证。

PineForge 的引擎采用 Apache-2.0 许可证并公开发布(pineforge-engine;Docker 镜像 ghcr.io/pineforge-4pass/pineforge-release 把引擎和转译器打包在一起)。转译器(把 Pine 编译成 C++ 的部分)个人交易可免费使用,商业用途则需要获得许可。而执行器——真正用你的 OHLCV 运行编译二进制并产出交易列表的代码——是开源的。

这意味着,注重安全的买方可以先审计执行器,再把回测交给它。他们无法审计策略源码(这正是用意所在),但可以审计运行策略的代码。这种划分是有意为之的:运行策略的部分保持开源,转译器用于商业用途则需要许可。

策略市场现状

目前还没有发布日期。引擎和转译器已经存在;许可服务器、卖方控制台和买方购买流程还没有。

计划是先推出 Beta,由人工为卖方办理入驻:一小批经过审核的作者,上架内容由团队审核,目录规模有限,以便在扩大规模前发现集成问题。之后才会推出自助式策略市场:卖方可以自主上架、自行设置许可维度、发布演示回测报告,并在无需团队介入的情况下管理自己的目录。

下一步