Web3의 컴포저빌리티: 컨트랙트가 서로를 기반으로 구축되는 방식
Web3의 컴포저빌리티란 스마트 컨트랙트가 서로를 호출하고 레고 블록처럼 결합할 수 있다는 뜻으로, 앱들이 한 체인에서 코드와 유동성을 재사용합니다.

- 호출 가능한 함수는 작성자가 제한하지 않는 한 모든 컨트랙트에 열려 있습니다.
- 컴포저빌리티는 한 체인 위의 앱들을 연결하고, 상호운용성은 체인들을 연결합니다.
- 망가진 프로토콜은 같은 트랜잭션에 있는 모든 앱을 끌어내릴 수 있습니다.
이 속성은 특정 앱이 아니라 플랫폼에 속합니다. 개발자가 무엇을 만들 수 있고 사용자가 한 단계에서 무엇을 할 수 있는지를 규정합니다.
구성 가능성은 어떻게 작동하는가?
한 체인의 컨트랙트들은 레고 블록처럼 맞물립니다. 새 앱은 이미 그곳에 있는 코드, 유동성, 잔액을 직접 구축하는 대신 재사용할 수 있습니다.
컨트랙트는 하나의 트랜잭션 안에서 다른 컨트랙트의 퍼블릭 함수를 호출할 수 있습니다. 호출이 실패하고 처리되지 않으면 전체 트랜잭션이 되돌려집니다. 일부 실패는 대신 잡아낼 수 있습니다.
사람들은 어디에서 구성 가능성을 보는가?
컴포저빌리티가 가장 많이 나타나는 곳은 DeFi입니다. 개별 프로토콜이 하나의 흐름의 부품처럼 작동합니다.
- 스왑은 한 토큰을 다른 토큰으로 교환합니다.
- 렌딩 앱이 토큰을 담보로 받습니다.
- 수익 전략이 빌린 토큰을 운용합니다.
- 지갑은 호출을 하나의 확인으로 묶습니다.
컴포저빌리티의 위험과 한계는 무엇인가요?
앱들이 서로 의존하면 한 곳의 문제가 다른 곳으로 번질 수 있습니다. 버그나 고갈된 풀이 트랜잭션 전반에 걸쳐 연쇄 실패를 일으킬 수 있습니다. 유동성도 이동할 수 있습니다.
상호운용성과는 어떻게 다른가요?
구성 가능성은 컨트랙트가 다른 컨트랙트를 직접 호출할 수 있는 하나의 체인에서 작동합니다. 상호운용성은 별개의 블록체인을 연결합니다.
자주 묻는 질문
아닙니다. 모든 스마트 컨트랙트 플랫폼은 호출 가능한 함수를 노출할 수 있으므로 게임과 예술 앱도 컴포저블할 수 있습니다.
보통은 직접적으로 아닙니다. 크로스체인 컴포저빌리티는 제한적이며 위험을 더하는 브리지에 의존하는 경우가 많습니다.
그럴 수 있습니다. 그러면 앱의 안전성이 직접 작성하지 않은 코드에 달리게 됩니다.
개발자가 어떤 함수를 호출 가능하게 할지 결정합니다. 접근 제어가 없는 한 퍼블릭 함수는 모든 컨트랙트에 열려 있습니다.






