Our paper provides an explanation of the economic efficiency differences between smart contracts and traditional contracts from a theoretical model perspective. We argue that traditional contracts can adjust menus based on post hoc information, thus offering greater flexibility, while smart contracts enforce compliance, effectively addressing hold-up issues. If the contract is incomplete and the target random variable is uncontractable, the trade-off between smart contracts and traditional contracts manifests as a comparison between these two effects, with rational actors opting for smart contracts when social legal efficiency is low. Smart contract designers view contracts as insurance against uncertainty, while traditional contract designers use the original contract as a tool to constrain new contract designs. If smart contracts are allowed to design incentive-compatible schemes, then smart contracts will achieve the first-best outcome. Considering the impracticality of designing for all scenarios, we consider a model where classification writing is limited to a finite total information. In this case, smart contracts will achieve optimality under pre-contractual information precision and approach the first-best outcome as the writing precision increases, while traditional contracts will always achieve the first-best outcome. The latter is because multiple writings provide sufficient freedom for traditional contract designers to schedule payment amounts across different scenarios.