智能合約與《2010年電子交易法》
程式碼可以是合約嗎?
智能合約是區塊鏈上的程式,在符合指定條件時執行預先設定的動作。它在法律上是否同時構成合約,取決於雙方的往來是否具備要約、承諾、代價及建立法律關係的意向這些一般要素。新加坡法律並無規定合約必須以自然語言訂立。《2010年電子交易法》(Electronic Transactions Act 2010)規定,資訊不會僅因屬電子形式而被否定法律效力,合約亦可透過電子通訊訂立。由自動訊息系統與自然人互動而訂立的合約,或由自動訊息系統之間訂立的合約,不會僅因沒有自然人審閱每項動作而被否定其效力。1
該法另外提供三項工具。第13條把電子通訊歸屬於發出該通訊的人或代表其發出通訊的人,因此以私鑰簽署的交易可歸屬於私鑰持有人。2 第16條容許與自動訊息系統往來時出現輸入錯誤的自然人撤回錯誤部分。條件是系統沒有提供更正錯誤的機會,而該人須迅速通知系統,並且未曾從錯誤中得益。3 第16條是一項範圍狹窄的消費者保障條文。如交易者在設有確認畫面的交易所錯誤定價下單,該條文對其並無幫助。2021年的修訂加入了有關電子可轉讓記錄的第2A部分,落實《聯合國國際貿易法委員會電子可轉讓記錄示範法》,容許提單、承付票及類似票據在有可靠方法確立排他性控制的情況下以電子形式存在。4 附表一繼續把遺囑、若干信託的設立、授權書,以及處置不動產的合約排除於該法的認可條文之外,這對第VII章討論的繼承問題具有重要意義。5
程式碼、意向與具約束力的文本
有三個問題反覆出現。第一個問題是意向。許多鏈上互動,例如在自動做市商上兌換代幣,並無可識別的交易對手,除交易本身以外亦無其他通訊。合約究竟在用戶與流動性提供者之間成立,在用戶與協議的管治實體之間成立,抑或根本不與任何人成立,新加坡法院尚未作出解答。瑞士聯邦委員會對去中心化金融的分析(見第D部分第V章及第E部分第IX章的討論)得出結論,在許多情況下並不存在合約交易對手。一旦出現問題,用戶便只能依據不當得利或侵權提出申索。我認為,新加坡法院在相同事實下會得出相同結論。
第二個問題是程式碼與自然語言條款之間的關係。如代幣銷售以購買協議記錄,並以智能合約執行,兩者可能出現分歧。協議可能承諾一個歸屬時間表,而合約並無加以實施;合約亦可能包含一項容許發行人增發代幣的功能,而協議卻禁止增發。合理的草擬方法是加入一項優先次序條款,訂明以何者為準。如沒有此類條款,法院會解釋協議,並把程式碼視為履行方式,因此出現分歧時,即屬負責程式碼一方的違約。第三個問題是程式碼的缺陷。容許第三方把資金池掏空的漏洞,是雙方均無意發生的事件。損失應由用戶、開發者還是管治實體承擔,在有合約的情況下取決於合約,在沒有合約的情況下則取決於侵權法(第VI章)。
實務提示
客戶如部署供他人使用的智能合約,應同時發布自然語言條款,並應在介面上提供條款連結,在可行的情況下亦應在合約的元數據中提供連結。條款應列明合約各方是誰、程式碼與文字出現分歧時以何者為準、用戶就程式漏洞的風險接受甚麼,以及適用哪一法律和哪一審裁地。客戶如使用他人的智能合約,除非條款另有規定,否則應假設並不存在合約交易對手,並據此評估風險承擔的規模。
註釋
- Electronic Transactions Act 2010,第6條(電子記錄的法律認可)、第11條(合約的訂立及效力)及第15條(使用自動訊息系統訂立合約)。第2(1)條把自動訊息系統定義為在沒有自然人審閱的情況下用以啟動動作或回應數據訊息的程式或自動化方法。 ↩
- Electronic Transactions Act 2010,第13條(電子通訊的歸屬)。 ↩
- Electronic Transactions Act 2010,第16條(電子通訊中的錯誤),落實UN Convention on the Use of Electronic Communications in International Contracts 2005第14條。 ↩
- Electronic Transactions (Amendment) Act 2021,在Electronic Transactions Act 2010中加入第2A部分(電子可轉讓記錄),自2021年3月19日起生效。 ↩
- Electronic Transactions Act 2010,第4條及附表一(被排除的事宜)。 ↩
僅供一般參考。本文不構成法律或稅務意見,不能取代針對個別情況的專業意見,亦不會建立律師與客戶關係。本文反映截至十月 2026的法律狀況。