Solidity란?

Solidity는 이더리움 계열 스마트컨트랙트를 작성할 때 많이 사용하는 프로그래밍 언어입니다.
사람이 읽을 수 있는 형태로 계약 규칙을 작성하면, 이 코드는 컴파일 과정을 거쳐 EVM이 실행할 수 있는 바이트코드로 변환됩니다. 건축가가 설계도를 그리고, 시공팀이 그 설계도를 기준으로 건물을 올리는 것처럼 Solidity는 스마트컨트랙트의 동작 규칙을 설계하는 도구라고 볼 수 있습니다.
Solidity가 중요한 이유는 디파이, 토큰 발행, NFT, DAO, 온체인 투표 같은 많은 블록체인 서비스가 이 언어로 작성된 스마트컨트랙트를 통해 작동하기 때문입니다. 사용자는 코드를 직접 작성하지 않더라도, 자신이 서명하는 거래가 어떤 계약과 상호작용하는지 이해할 필요가 있습니다.
초보자가 조심해야 할 점은 스마트컨트랙트가 코드로 되어 있으니 항상 공정하게 작동한다고 믿는 것입니다. 코드는 작성된 대로 실행될 뿐, 작성자의 의도나 사용자의 기대를 자동으로 보호해주지 않습니다. 취약한 코드, 숨겨진 관리자 권한, 검증되지 않은 계약은 큰 위험이 될 수 있습니다.
사용자는 새 디앱을 이용할 때 공식 링크인지, 계약 주소가 맞는지, 토큰 승인 권한이 과도하지 않은지 확인해야 합니다. 코드 감사 여부가 도움이 될 수는 있지만, 감사가 있다고 해서 무조건 안전한 것도 아닙니다. Solidity는 EVM, 스마트컨트랙트, 바이트코드, 가스비, 토큰 승인, 디파이와 연결됩니다.
개발자가 아닌 사용자도 Solidity의 세부 문법까지 알 필요는 없습니다. 다만 스마트컨트랙트가 사람이 만든 코드이며, 한 번 배포된 계약은 수정이 어렵거나 제한적일 수 있다는 점은 반드시 이해해야 합니다.