一句话:提出 Smartmark,在以太坊智能合约字节码中嵌入并验证软件水印以保护所有权。
智能合约在区块链上自动执行且难以篡改,但一旦被复制,目前缺少技术保护手段;现有软件水印又受代码大小、非免费执行和虚拟机无动态分配等限制。本文提出 Smartmark,针对合约运行时字节码构建控制流图,随机选取一组字节来编码水印,并实现以太坊原型。对 27,824 个唯一合约字节码的实验表明,Smartmark 能有效嵌入并验证水印,满足可信性与不可感知性,性能开销可接受;安全分析显示其能抵抗水印破坏攻击,攻击者需大量 dummy opcode 才可能禁用,克隆合约不再经济。
A smart contract is a self-executing program on a blockchain to ensure an immutable and transparent agreement without the involvement of intermediaries. Despite its growing popularity for many blockchain platforms like Ethereum, no technical means is available even when a smart contract requires to be protected from being copied. One promising direction to claim a software ownership is software watermarking. However, applying existing software watermarking techniques is challenging because of the unique properties of a smart contract, such as a code size constraint, non-free execution cost, and no support for dynamic allocation under a virtual machine environment. This paper introduces a novel software watermarking scheme, dubbed Smartmark, aiming to protect the ownership of a smart contract against a pirate activity. Smartmark builds the control flow graph of a target contract runtime bytecode, and locates a collection of bytes that are randomly elected for representing a watermark. We implement a full-fledged prototype for Ethereum, applying Smartmark to 27,824 unique smart contract bytecodes. Our empirical results demonstrate that Smartmark can effectively embed a watermark into a smart contract and verify its presence, meeting the requirements of credibility and imperceptibility while incurring an acceptable performance degradation. Besides, our security analysis shows that Smartmark is resilient against viable watermarking corruption attacks; e.g., a large number of dummy opcodes are needed to disable a watermark effectively, resulting in producing an illegitimate smart contract clone that is not economical.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2303-13733,
title = {Smartmark: Software Watermarking Scheme for Smart Contracts},
author = {Taeyoung Kim and Yunhee Jang and Chanjong Lee and Hyungjoon Koo and Hyoungshick Kim},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00035}
}