
블록체인의 불씨를 밝히다: LLM이 블록체인 상호작용의 새로운 가능성을 열다
저자: Yiping, IOSG Ventures
대규모 언어 모델(LLM)과 블록체인 연구 시리즈의 두 번째 글에 오신 것을 환영합니다. 지난 글에서는 기술적 관점에서 LLM을 블록체인 기술과 통합하는 방법과 왜 LLM 프레임워크가 블록체인 분야에 적합한지 설명했습니다. 또한 향후 LLM과 블록체인 융합의 잠재적 경로도 제시했습니다.
이번 글에서는 보다 실질적인 접근 방식을 취해, 블록체인 사용자 경험을 크게 변화시킬 수 있는 여덟 가지 특정 응용 분야를 심층적으로 탐구할 것입니다. 더욱 흥미롭게도, 우리는 이러한 혁신적인 애플리케이션이 향후 1년 내 현실화될 것이라 예측합니다.
함께 블록체인 상호작용의 미래를 밝혀봅시다. 다음은 우리가 논의할 여덟 가지 애플리케이션의 개요입니다:
1. 블록체인에 내장된 인공지능/AI 대형언어모델(LLM) 기능 통합
2. LLM을 활용한 거래 기록 분석
3. LLM을 이용한 보안 강화
4. LLM을 활용한 코드 작성
5. LLM을 사용한 코드 리딩
6. LLM을 통한 커뮤니티 지원
7. LLM을 활용한 시장 추적
8. LLM을 활용한 프로젝트 분석
블록체인에 내장된 AI/LLM 기능 통합
블록체인은 자체적으로 AI 기능과 모델을 내장하게 될 것입니다. 개발자는 스마트 계약을 통해 호출 가능한 AI 함수에 접근하여 분류, 회귀, 텍스트 완성 및 AIGC 등 주요 ML 작업을 체인 상에서 수행할 수 있습니다.

이러한 내장 기능 덕분에 개발자들은 자신의 스마트 계약에 지능과 자율성을 부여할 수 있게 됩니다. 분류, 회귀, AIGC는 전형적인 AI 작업입니다. 이러한 기능들이 블록체인 분야에서 어떻게 활용될 수 있는지 살펴보고, 몇 가지 사례 프로젝트도 소개하겠습니다.
분류(Classification)
주소가 봇인지 실제 사람인지 판단하는 데 분류 기능을 사용할 수 있습니다. 이는 현재의 NFT 판매 방식을 바꿀 수 있습니다. 또한 DeFi 생태계의 보안을 강화하는 데에도 유용합니다. DeFi 스마트 계약은 악성 트랜잭션을 필터링하여 자금 손실을 방지할 수 있습니다.
회귀(Regression)
회귀 분석은 예측에 활용되며, 펀드 및 자산 관리 분야에 적용될 수 있습니다. Numer.ai는 이미 인공지능을 활용해 자금 운용을 돕고 있습니다. Numer는 고품질의 주식 데이터를 제공하고, 데이터 과학자들이 이를 기반으로 머신러닝을 적용하여 주식 시장을 예측합니다.
AIGC
많은 NFT 프로젝트들이 하나의 IP 유니버스를 구축하려 하고 있습니다. 그러나 그들의 콘텐츠는 한정되어 있어 유니버스를 지탱하기 어렵습니다. 만약 체인 상에서 AIGC를 사용해 비교적 낮은 비용으로 무수히 많은, 일관된 브랜드 스타일의 콘텐츠를 생성할 수 있다면 어떨까요? 모델은 텍스트, 일러스트, 음악, 소리, 심지어 영상까지 출력할 수 있습니다. 이를 통해 IP 유니버스의 규모가 크게 확장됩니다. 커뮤니티 구성원들은 공동으로 모델을 파인튜닝하여 자신들의 기대에 맞출 수 있고, 이 과정 자체가 참여감을 제공합니다.
Botto는 AIGC 모델을 사용해 예술 콘텐츠를 생성합니다. 커뮤니티는 가장 좋아하는 이미지를 투표함으로써 AIGC 모델의 공동 파인튜닝에 참여합니다.

블록체인을 하나의 데이터베이스로 간주한다면, Databend 역시 내장된 AI 기능을 데이터베이스에 통합하고 있다는 점을 주목할 수 있습니다. 그들은 다음과 같은 기능을 제공합니다:
-
ai_embedding_vector: 텍스트 문서로부터 임베딩 벡터 생성
-
ai_text_completion: 주어진 프롬프트 기반으로 텍스트 완성 생성
-
cosine_distance: 두 임베딩 벡터 사이의 코사인 거리 계산
-
ai_to_sql: 자연어 명령을 SQL 쿼리로 변환

블록체인에 AI 역량 제공
현재 일부 프로젝트들이 블록체인에 AI 기능을 제공하기 위해 노력하고 있다는 것을 알고 있습니다.
Giza는 ZKML 분야에서 작업 중입니다. 체외에서 추론 증명을 생성하고 체인 상에서 검증하는 방식이며, 현재 이더리움 가상머신(EVM) 호환 블록체인과 StarkNet을 지원합니다. Giza는 최근 Yearn.finance와 파트너십을 체결했으며, Yearn은 Giza의 AI 기능을 활용해 위험 평가 능력을 향상시킬 예정입니다.

Modulus Labs 역시 유사한 방향으로 작업 중입니다. 그들은 AI용 고효율 서킷을 위한 증명 시스템 개선에 집중하고 있으며, 체스 AI, 이더리움 가격 예측 AI 등의 데모를 공개했습니다. 그들의 신규 데모 프로젝트인 zkMon은 세계 최초의 제로지식 증명을 통한 생성적 적대 신경망(GAN) 기반 NFT 컬렉션입니다.

LLM을 활용한 거래 기록 분석
거래 기록 분석은 일반적으로 Debank와 같은 특정 애플리케이션을 통해 이루어집니다. 수동으로 거래 기록을 분석하는 것은 어렵습니다. 데이터 수집, 정제, 분석을 포함하며, 사용자의 코딩 능력이 요구되기 때문입니다. 하지만 LLM은 데이터를 분석하고 시각화하는 능력을 갖추고 있어 새로운 가능성이 열렸습니다.LLM을 통해 맞춤형 요구에 따라 체인 상 데이터를 분석할 수 있습니다. 승률, 성능 비율 등 원하는 정보를 자유롭게 분석할 수 있습니다.
RSS3는 Web3 사용자 활동용 ChatGPT 플러그인을 개발하며 이 방향으로 나아가고 있습니다. 사용자는 지갑 주소, ENS 또는 Lens를 입력해 체인 상 활동을 조회할 수 있으며, 플러그인은 인간이 이해하기 쉬운 형식으로 거래 정보를 출력합니다. 아쉽게도 Azuki 보유자 수나 가장 인기 있는 스마트 계약 등 복잡한 쿼리는 수행할 수 없습니다. 또한 플러그인이 제공하는 주소 및 태그가 항상 정확하지 않을 수 있음을 유의해야 합니다.

DeFiLlama 역시 ChatGPT 플러그인을 출시했습니다. 사용자는 자연어로 DeFiLlama의 모든 데이터를 조회할 수 있으며, 간단한 필터링 및 정렬도 가능합니다:

Dune 역시 GPT를 제품에 통합해 다음과 같은 기능을 제공하고 있습니다:
-
쿼리 해설(Query Explanation): LLM을 활용해 쿼리 내용 설명
-
쿼리 번역(Query Translation): LLM을 사용해 다른 SQL 언어를 DuneSQL로 변환
-
자연어 쿼리: 자연어로 쿼리 작성 가능
-
검색(Search): LLM을 활용해 검색 결과 개선
-
가이드 지식베이스: 문서와 대화 가능한 챗봇 제공
LLM을 이용한 보안 강화
논리 및 추론 능력을 갖춘 LLM은 악성 트랜잭션을 필터링하고 스마트 계약의 방화벽 역할을 할 수 있습니다. 다음은 봇 활동을 차단하는 구체적인 예시입니다:
주소를 입력하면, LLM은 서드파티 플러그인을 통해 해당 주소의 모든 거래 데이터를 가져온 후, 이를 분석해 주소가 봇일 가능성을 도출합니다. 이 기능은 NFT 판매처럼 봇을 환영하지 않는 Dapp에 통합될 수 있습니다.
다음은 ChatGPT를 활용한 간단한 예시입니다. ChatGPT는 RSS3가 개발한 Web3 사용자 활동 플러그인을 통해 계정의 거래 기록을 검색한 후, 이를 분석해 계정이 봇일 가능성을 출력합니다.

더 많은 거래 기록을 입력하고, 봇 관련 데이터셋으로 LLM을 파인튜닝한다면 더 정확한 결과를 얻을 수 있습니다. 아래는 이러한 애플리케이션의 예시 워크플로우입니다. 응답 속도를 높이고 비용을 줄이기 위해 캐시 및 데이터베이스 계층을 추가할 수도 있습니다.

LLM을 활용한 코드 작성
LLM은 개발자가 더 빠르고 정확하게 코드를 작성하도록 돕기 위해 널리 사용되고 있습니다. 개발자의 지시에 따라 LLM은 코드를 생성할 수 있습니다. 다만 현재로서는 개발자가 매우 상세한 지침을 제공해야 하며, 전체 프로젝트 코드를 자동 생성하기는 어렵습니다.
코드 생성용으로 인기 있는 LLM 모델에는 StarCoder, StarCoder+, Code T5, LTM, DIDACT, WizardCoder, FalCoder-7B, MPT30B 등이 있습니다.
이 모든 모델들은 스마트 계약 작성에 활용될 수 있지만, 스마트 계약 데이터에 특화된 학습을 받지는 않았을 가능성이 큽니다. 따라서 아직 개선의 여지가 있습니다.
현재 HuggingFace에서는 스마트 계약 관련 데이터셋이 단 하나만 존재합니다. 'More-Sophisticated-Audited-Contracts'라는 이름의 이 데이터셋은 11.3만 개의 스마트 계약을 포함하며, 텍스트 분류, 생성, 취약점 탐지 등 다양한 작업에 사용될 수 있습니다.

개발 도구 보조보다는 자동 코드 생성이 더 큰 잠재력을 지닐 수 있습니다. 스마트 계약은 비교적 짧고 단순하기 때문에 자동 생성에 적합합니다. LLM은 블록체인 분야에서 여러 방식으로 개발자들을 도울 수 있습니다.
테스트(Test)
첫째, LLM은 잘 작성된 스마트 계약에 대해 테스트 코드를 자동 생성할 수 있습니다. Codium은 이미 작성된 프로젝트의 테스트를 자동 생성할 수 있습니다. Codium은 현재 JS와 TS를 지원합니다. Codium은 먼저 코드베이스를 이해하고 각 함수, 문서 문자열, 주석을 분석한 후, 분석 내용을 주석 형태로 파일에 다시 기록하고 테스트 계획을 출력합니다. 사용자는 원하는 테스트를 선택하면, Codium이 해당 테스트 코드를 생성합니다.

기타 보조 도구들도 특정 기능에 대한 테스트 생성을 지원합니다.

GPT-4에서도 유사한 기능을 재현할 수 있습니다.

코드 분석을 먼저 요청하는 이유는 LLM이 해당 작업에 더 많은 시간을 투자하기 위함입니다. LLM은 어떤 작업이 어려운지 알지 못하며, 모든 토큰에 동일한 계산 리소스를 할당합니다. 이는 복잡한 작업에서 부정확한 결과를 초래할 수 있습니다. 이러한 특성을 고려해, 코드 분석을 명시적으로 요청함으로써 LLM이 더 많은 토큰/시간을 들여 생각하게 하여 더 질 높은 결과를 도출할 수 있도록 하는 것입니다. 이 방법은 "사고의 연쇄(chain of thought)"라고도 불립니다.
더 긴 스마트 계약에 적용하기 위해서는 더 큰 컨텍스트 창을 가진 LLM이 필요하거나, 메모리를 유지하는 엔지니어링 기법이 필요합니다.
보조 스크립트 생성
둘째, LLM을 사용해 배포 스크립트 등 보조 스크립트를 자동 생성할 수 있습니다.
배포 스크립트는 수동 배포 과정에서 발생할 수 있는 오류를 줄일 수 있습니다. 이 아이디어는 테스트 자동 생성과 매우 유사합니다.

자동 포크(Automatic Forking)
호황기에 많은 포크 프로젝트가 등장하며, 팀은 기존 코드베이스에서 소량의 코드만 변경합니다. 이는 LLM의 훌륭한 활용 사례입니다: LLM은 팀의 요구사항에 따라 코드를 자동으로 수정할 수 있습니다. 일반적으로 특정 부분만 변경하면 되므로, LLM에게는 비교적 쉬운 작업입니다.
코드 자동 생성
한 걸음 더 나아가, LLM이 개발자의 요구에 따라 스마트 계약을 자동 생성할 수 있을까요? JS, Rust, Python 등으로 작성되는 복잡한 소프트웨어에 비해 스마트 계약은 상대적으로 짧고 단순합니다. 외부 라이브러리도 많지 않아, **LLM이 스마트 계약 작성을 이해하는 것이 비교적 쉽습니다**.
자동 코드 생성 분야에서 이미 일부 진전이 있었습니다. GPT-engineer는 선구자 중 하나입니다. 사용자의 요구를 충족시키고, 궁금한 점을 질문한 후 코딩을 시작합니다. 프로젝트 전체를 실행할 수 있는 스크립트도 함께 포함됩니다. GPT-engineer는 개발자를 위해 프로젝트를 자동으로 시작할 수 있습니다.
사용자가 요구사항을 입력하면, GPT-engineer는 이를 분석하고 명확화를 요청합니다. 모든 필요한 정보를 수집한 후, GPT-engineer는 먼저 핵심 클래스, 함수, 메서드를 포함한 프로그램 설계를 출력합니다. 이후 각 파일별 코드를 생성합니다.
이와 같은 프롬프트를 통해 카운터 스마트 계약을 생성할 수 있습니다.

생성된 스마트 계약은 컴파일되어 예상대로 작동합니다.

GPT-engineer는 원래 Python용으로 설계되었기 때문에 Hardhat 관련 코드 생성 시 일부 문제가 발생합니다. GPT-engineer는 Hardhat의 최신 버전을 모르며, 때때로 오래된 테스트 및 배포 스크립트를 생성하기도 합니다.
코드에 버그가 있다면, 코드베이스와 콘솔 에러 로그를 LLM에 제공할 수 있습니다. LLM은 코드를 계속 수정하여 성공적으로 실행될 때까지 반복할 수 있습니다. **[flo](https://flocli.vercel.app/)** 와 같은 프로젝트들이 이러한 방향으로 발전하고 있습니다. 현재 flo는 JS만 지원합니다.
스마트 계약 생성의 정확도를 높이기 위해 GPT-engineer를 새로운 프롬프트로 개선할 수 있습니다. 테스트 주도 개발(TDD) 방식을 채택해, LLM이 특정 테스트를 통과하도록 프로그램을 제약함으로써 생성된 프로그램의 품질을 높일 수 있습니다.
LLM을 활용한 코드 리딩
LLM은 코드를 잘 이해할 수 있으므로, LLM을 사용해 개발자 문서를 작성할 수 있습니다. LLM은 코드 변경 사항을 추적하여 문서를 자동으로 업데이트할 수도 있습니다. 이 방법은 이전 연구 보고서《ZKRUs에서의 개발자 경험 탐구: 심층 분석》의 끝부분에서도 논의한 바 있습니다.
문서를 읽는 것이 전통적인 방식이라면, 코드와 대화하는 것은 새로운 접근법입니다. 사용자는 코드에 대해 자유롭게 질문할 수 있고, LLM이 답변을 제공합니다. LLM은 개발자들에게 코드를 설명해주며, 체인 상 스마트 계약을 빠르게 이해하도록 도와줍니다. 또한 코드 경험이 없는 사람들도 스마트 계약을 이해하도록 돕습니다.
Web2 세계에서는 이미 이러한 추세가 나타나고 있습니다. 많은 코드 보조 도구들이 코드 설명 기능을 제공하고 있습니다.
Etherescan도 새로운 기능을 선보이며, 사용자가 코드와 소통하고 LLM의 능력을 활용할 수 있도록 하고 있습니다.

코드를 이해할 수 있다면, 감사는 어떻게 달라질까요? 논문《스마트 계약 수동 감사가 아직 필요한가요?》의 실험에 따르면, LLM은 취약점 식별에서 40%의 적중률을 기록해 무작위 기준보다 우수했습니다. 그러나 오탐률도 매우 높았습니다. 저자는 적절한 프롬프트가 핵심이라고 지적했습니다.
프롬프트 외에도 다음 요인들이 응용을 제한하고 있습니다:
-
현재의 LLM은 이 목적을 위해 특별히 학습되지 않았습니다. 학습 데이터에 스마트 계약 코드베이스와 이에 상응하는 감사 보고서가 포함되지 않았을 수 있습니다.
-
가장 심각한 취약점은 다양한 기능이 결합된 논리적 문제로 발생하는 경우가 많습니다. 현재 LLM은 토큰 수에 제한을 받으며, 긴 컨텍스트를 필요로 하고 논리적 추론이 요구되는 문제는 해결하기 어렵습니다.
이러한 문제들은 해결 가능합니다. 대형 감사 회사들은 수천 건의 감사 보고서를 보유하고 있으며, 이를 통해 LLM을 파인튜닝할 수 있습니다. 더 많은 토큰을 처리할 수 있는 LLM이 등장하고 있습니다. Claude는 10만 토큰 제한을, 새로 출시된 LTM-1은 놀라운 500만 토큰 제한을 제공합니다. 이러한 두 가지 문제를 해결하려는 노력을 통해, LLM이 취약점을 더 잘 식별할 수 있게 될 것입니다. LLM은 감사관을 보조하고 감사 프로세스를 가속화할 수 있으며, 점진적으로 발전할 가능성이 있습니다. 다음과 같은 발전 경로가 예상됩니다:
1. 감사관이 언어를 조직하고 보고서를 포맷팅하도록 지원. 동일한 감사 회사 내에서도 언어의 일관성을 유지할 수 있습니다. 일반적으로 서로 다른 팀은 선호하는 어휘가 다릅니다.
2. 감사관이 잠재적 취약점을 식별하고 검증하도록 지원.
3. 감사 초안 보고서를 자동 생성.
LLM을 통한 커뮤니티 지원
거버넌스는 커뮤니티의 핵심 요소입니다. 커뮤니티 구성원은 자신이 선호하는 제안에 투표할 권한을 가지며, 이 제안들이 제품의 미래를 결정합니다.
중요한 제안의 경우 많은 배경 정보와 커뮤니티 토론이 수반됩니다. 투표 전에 이 모든 배경을 이해하는 것은 어렵습니다. LLM은 커뮤니티 구성원이 선택이 미래에 어떤 영향을 미칠지 빠르게 이해하고, 투표를 도울 수 있습니다.
질의응답 챗봇은 또 다른 잠재적 응용입니다. 이미 프로젝트 문서 기반의 QA 챗봇을 목격했습니다. 더 나아가 더 큰 지식 데이터베이스를 구축할 수 있습니다. 프레젠테이션, 팟캐스트, GitHub, Discord 채팅, Twitter Space 등 다양한 미디어와 소스를 삽입할 수 있습니다. QA 챗봇은 문서 검색창에만 존재하는 것이 아니라, Discord에서 커뮤니티 구성원에게 즉각적인 지원을 제공하거나, Twitter에서 프로젝트 비전을 전파하고 질문에 답변할 수도 있습니다.
AwesomeQA는 현재 이러한 방향으로 나아가고 있습니다. 세 가지 기능을 구현했습니다:
-
ChatGPT 통합을 활용해 커뮤니티 구성원의 질문에 답변
-
커뮤니티 구성원의 메시지를 기반으로 데이터 기반 인사이트 제공 (예: FAQ 분석)
-
중요한 메시지 식별 (예: 해결되지 않은 문제)

TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














