“블록체인 메인넷 개발을 맡겼는데 완성도가 56%밖에 안 됩니다. 계약을 해제하고 15억 원을 돌려받을 수 있을까요?”
법원의 답은 “아니오”였습니다. 그렇다면 개발사가 청구한 미지급 용역대금도 “아니오”였습니다.
원고도, 피고도 모두 패소한 이 판결 — 블록체인 소프트웨어 개발 계약의 법적 구조와 해제 요건의 엄격함을 정면으로 보여주는 사례입니다. 지금 확인해 보겠습니다.

사실관계 요약
원고 주식회사 A는 소프트웨어 개발 및 공급업을 영위하는 회사이고, 원고 주식회사 B는 원고 A의 자회사로 전자지급결제 대행업 등을 영위하는 회사입니다. 피고 주식회사 C는 블록체인 네트워크 등에 관해 특허등록을 한 소프트웨어 개발 회사입니다.
계약 체결 경위
원고들은 이중체인 구조와 양원제 합의 알고리즘을 핵심으로 하는 블록체인 플랫폼 ‘D’를 개발하기로 하고, 피고에게 다음과 같이 개발을 위탁하였습니다.
- 메인넷 개발계약(1차): 원고 A ↔ 피고, 계약기간 10개월, 총대금 425,000,000원 (2019. 7. 1.)
- E 개발계약(1차): 원고 B ↔ 피고, 계약기간 9개월, 총대금 360,000,000원 (2019. 8. 1.)
- 2차 계약: 원고 B ↔ 피고, 계약기간 1년(일차 6개월 확정), 일차 대금 390,000,000원 (2020. 4. 1.)
- 파트너계약: 원고 B ↔ 피고, 코인 상장 시 프라이빗 세일금액의 5% 및 코인 총발행 수량의 1% 지급 (2020. 4. 1.)
원고들이 피고에게 지급한 총 개발비는 원고 A 386,500,000원, 원고 B 642,500,000원(1차 계약) + 322,500,000원(2차 계약) = 합계 약 15억 원에 달합니다.
분쟁 경과
피고는 2020. 4. 30. 협업 툴에 “검수 완료보고”를 게시하고 소스코드를 제공하였습니다. 이후 원고들은 1차~4차에 걸친 성능평가를 진행하였고, 처리속도(TPS) 미달 및 기능 하자를 이유로 2020년 11월경 계약해제 의사를 표시하였습니다. 이 사건 소송에서 한국저작권위원회의 감정 결과 이 사건 D 플랫폼의 전체 완성도는 56.1%로 측정되었습니다.
서울중앙지방법원은 2025. 1. 22. 원고들의 본소청구와 피고의 반소청구를 모두 기각하였습니다 (서울중앙지방법원 2025. 1. 22. 선고 2021가합548529 판결).
쟁점 정리
첫째, 피고가 이 사건 각 계약의 이행을 지체하였는가?
원고들은 피고가 계약기간 내에 메인넷과 E를 완성하지 못하였다고 주장하였습니다. 이행지체를 이유로 계약을 해제하려면 상당한 기간을 정하여 이행을 최고하고 그 기간 내에 이행하지 않아야 합니다 (민법 제544조).
둘째, 이 사건 각 계약이 정기행위에 해당하는가?
원고들은 민법 제545조에 따라 정기행위로서 최고 없이 계약을 해제할 수 있다고 주장하였습니다. 정기행위란 계약의 성질 또는 당사자의 의사표시에 의하여 일정한 시일 또는 기간 내에 이행하지 않으면 계약의 목적을 달성할 수 없는 경우를 말합니다 (민법 제545조).
셋째, 이 사건 D의 하자 또는 불완전이행이 계약해제 사유에 해당하는가?
도급계약에서 완성된 목적물의 하자로 인하여 계약의 목적을 달성할 수 없는 때에는 계약을 해제할 수 있습니다 (민법 제668조). 완성도 56.1%의 소프트웨어가 계약 목적을 달성할 수 없는 중대한 하자에 해당하는지가 핵심 쟁점이었습니다.
넷째, 피고의 반소청구 — E 개발계약 미지급 용역대금 청구가 인정되는가?
피고는 2020. 4. 30. 검수 완료보고를 게시하였고 14일 이내에 원고 B의 검수 판정 통보가 없었으므로 검수에 합격한 것으로 보아야 한다고 주장하였습니다. 소프트웨어 개발·공급계약에서 수급인은 원칙적으로 일을 완성하여야 보수를 청구할 수 있습니다 (대법원 1996. 7. 30. 선고 95다7932 판결 참조).

판시 내용
가. 이행지체로 인한 계약해제 — 불인정
법원은 피고가 이 사건 각 계약상 의무이행을 지체하였다고 인정하기 부족하다고 판단하였습니다.
그 근거는 다음과 같습니다.
① 1차 계약에는 메인넷과 E의 구체적인 요구 사양이나 성능에 대한 기재가 없었고, E 개발계약에는 개발일정표조차 없었습니다.
② 원고들과 피고는 계약 체결 당시 용역의 내용이나 결과물에 관하여 구체적인 내용을 정하지 않은 채 착수한 후 이행 과정에서 협의하여 내용을 변경·추가하였습니다.
③ 원고 B는 1차 계약 기간이 만료되기 전인 2020. 4. 1. 이미 2차 계약을 체결하였고, 같은 날 피고에게 상당한 이익을 주는 파트너계약도 별도로 체결하였습니다. 만일 피고가 1차 계약의 이행을 지체한 상태였다면 파트너계약을 체결하지 않았을 것입니다.
④ 원고 A은 2020. 8. 10. 메인넷 개발계약의 마지막 개발용역비를 지급하여 대금 지급을 완료하였습니다.
⑤ 2차 계약의 경우 원고들이 계약기간이 만료되기 전인 2020년 11월경 계약해제 의사를 통지하였으므로, 피고가 2차 계약에 따른 개발업무 이행을 지체하였다고 볼 수도 없습니다.
나. 정기행위로 인한 계약해제 — 불인정
법원은 이 사건 각 계약이 개발의 최종 완료 여부 또는 개발 진행 상황에 따라 원고들과 피고의 협의로 계약기간이 조기 완료 또는 연장될 수 있음을 예정하고 있다는 점에서, 계약의 성질 또는 당사자의 의사표시에 의하여 일정한 시일 내에 이행하지 않으면 계약의 목적을 달성할 수 없는 정기행위라고 볼 수 없다고 판단하였습니다 (민법 제545조).
다. 불완전이행·하자로 인한 계약해제 — 불인정
법원은 이 사건 D의 하자 또는 불완전이행이 계약의 목적을 달성할 수 없는 경우에 해당한다고 인정하기 부족하다고 판단하였습니다 (민법 제668조).
그 핵심 근거는 다음과 같습니다.
① 감정 결과 이 사건 D의 안정성은 99.8%로 구현되었고, 계약서에 명시된 기능들의 완성도도 일부 불량·미흡이 있으나 일부는 우수하였습니다. 중첩되거나 계약 당시 약정한 성능임이 증명되지 않은 항목을 제외하면 완성도는 약 79.05%로 산출됩니다.
② TPS 성능 목표(메인넷 1,000TPS, E 10,000TPS)가 각 계약 체결 당시 약정된 성능에 해당한다고 단정하기 어렵고, 3차 성능평가에서는 목표를 충족하였을 가능성도 있습니다.
③ 소프트웨어는 그 성질상 개발 완료 이후에도 계속해서 수정·보완을 하면서 오류를 줄여나가야 하는 것인데, 수정·보완의 기회도 주어지지 않은 채 오류나 하자가 있다는 이유만으로 계약 목적을 달성하기 어려운 중대한 하자라고 볼 것은 아닙니다.
④ 원고들이 계약해제 의사를 표시한 이후에는 피고에게 이 사건 D의 수정이나 보완을 할 수 있는 기회 자체가 없었습니다.
라. 피고의 반소청구 — 불인정
법원은 피고가 E 개발계약에 따른 E를 완성하여 원고 B의 검수를 완료하였다고 인정하기 부족하다고 판단하였습니다.
소프트웨어 개발·공급계약에서 수급인은 원칙적으로 일을 완성하여야 보수를 청구할 수 있고, 일의 완성에 대한 주장·입증책임은 수급인에게 있습니다 (대법원 1994. 11. 22. 선고 94다26684 판결 참조). 법원은 ① 2020. 4. 30. 게시물에 E 최종소스가 포함되지 않은 점, ② 게시물이 2020. 5. 29. 업데이트된 점, ③ 피고 측이 2020. 6. 24. 잔금 지급을 요청하자 원고 측이 “E가 마무리가 되지 않아 어렵다”고 하였고 피고 측이 이에 항의하지 않은 점, ④ 보증서 구현의무가 2020. 8. 24.경 추가되었으나 피고가 이를 구현하여 제공하였다는 증거가 없는 점 등을 근거로 반소청구를 기각하였습니다.
핵심 포인트 — 반드시 알아야 할 4가지
① 소프트웨어 개발계약에서 이행지체를 주장하려면 구체적인 요구 사양과 납기가 계약서에 명시되어야 합니다.
이 사건에서 원고들이 패소한 가장 근본적인 원인은 계약서에 구체적인 요구 사양, 성능 목표, 납기가 명확히 기재되지 않았다는 점입니다. 소프트웨어 개발계약을 체결할 때는 ① 개발 범위, ② 성능 목표(TPS 등), ③ 납기, ④ 검수 기준을 계약서에 구체적으로 명시하여야 이행지체 주장이 가능합니다 (민법 제544조).
② 도급계약에서 하자를 이유로 계약을 해제하려면 ‘계약 목적을 달성할 수 없는 중대한 하자’이어야 합니다.
민법 제668조의 도급계약 해제는 하자가 중대하고 보수가 불가능하거나 가능하더라도 장기간을 요하는 등 계약해제권을 행사하는 것이 정당하다고 인정되는 경우에 한합니다. 완성도 56.1%라는 감정 결과가 있더라도, 수정·보완의 기회를 주지 않은 채 계약을 해제하는 것은 인정되지 않을 수 있습니다 (민법 제668조). 하자 보수 청구 및 추완 최고를 먼저 진행하는 것이 중요합니다.
③ 계약 이행 중 추가 계약 체결과 대금 완납은 이행지체 주장을 약화시킵니다.
이 사건에서 원고들은 피고가 1차 계약을 이행지체하고 있다고 주장하면서도 2차 계약과 파트너계약을 체결하고 대금을 계속 지급하였습니다. 법원은 이러한 사정을 이행지체 주장을 배척하는 근거로 활용하였습니다. 계약 이행에 문제가 있다고 판단되면 즉시 서면으로 이의를 제기하고 추가 대금 지급을 유보하는 것이 중요합니다.
④ 수급인의 용역대금 청구는 ‘일의 완성’이 전제되어야 하며, 입증책임은 수급인에게 있습니다.
소프트웨어 개발·공급계약에서 수급인은 일을 완성하여야 보수를 청구할 수 있고, 일의 완성에 대한 입증책임은 수급인에게 있습니다 (대법원 1994. 11. 22. 선고 94다26684 판결 참조). 계약서상 ’14일 이내 통보 없으면 검수 합격’이라는 조항이 있더라도, 최종 결과물이 제공되지 않은 상태에서는 그 조항이 적용되지 않습니다.

마치며 — 15억 원의 교훈: 계약서가 전쟁터입니다
이 판결은 블록체인 소프트웨어 개발계약에서 발주자와 개발사 모두가 계약서 작성의 중요성을 간과하면 어떤 결과가 발생하는지를 보여주는 사례입니다. 원고들은 약 15억 원의 개발비를 지급하고도 계약해제와 원상회복을 인정받지 못하였고, 피고는 미지급 용역대금을 받지 못하였습니다.
소프트웨어 개발계약, 특히 블록체인과 같은 신기술 분야의 계약에서는 개발 범위, 성능 목표, 납기, 검수 기준을 계약서에 구체적으로 명시하는 것이 분쟁 예방의 핵심입니다. 그리고 이행 과정에서 문제가 발생하면 즉시 서면으로 이의를 제기하고 추완 최고를 진행하여야 합니다.
“계약서에 없는 것은 법정에서도 없는 것입니다. 15억 원짜리 교훈을 남의 일로 보지 마십시오.”