개인 블로그를 만들면서 처음으로 블록체인을 붙여볼까 고민했다.
IPFS, 스마트컨트랙트, 메타마스크 같은 것들이 이름은 멋져 보였지만, 이걸 굳이 블록체인으로 해야 할 이유가 있는지 불분명했다. 글 저장, 로그인, 댓글 기능은 백엔드 서버로도 충분히 만들 수 있으니까.
그래서 오히려 블록체인을 쓰면 뭐가 달라지는지 파고들게 됐다.
비트코인이라는 실험
2008년, 익명의 개발자 사토시 나카모토는 비트코인을 내놓았다. 은행이나 정부 같은 중간 매개체 없이도 거래할 수 있는 시스템이었다.
사람을 믿는 대신, 수학과 알고리즘이 모든 걸 책임지는 구조다.
수학이 신뢰가 되는 구조
블록체인은 누구를 믿지 않아도 되는 시스템이다. 신뢰가 구조에서 나오도록 설계됐다.
처음엔 이 구조가 화폐에만 쓰였지만, 점점 더 확장되고 있다.
화폐에서 시스템으로
돈만이 아니라, 우리가 만드는 거의 모든 시스템에는 '신뢰'라는 요소가 들어간다.
계약서, 기록, 인증, 운영자, 서버, 관리자 등
어느 순간 누군가를 믿고 있는 구조로 되어 있다.
그 신뢰가 무너지면, 시스템 자체가 위험해진다.
신뢰가 무너졌을 때
2025년, SK텔레콤에서 내부 해킹으로 유심 관련 정보 수십만 건이 유출됐다. 운영자를 믿고 시스템을 써왔지만, 결국 해킹이 발생하면서 신뢰가 무너졌다.
중앙화된 인증 시스템이 가진 구조적인 취약점이 그대로 드러난 사례다.
그러면 블록체인은 믿을 수 있나?
블록체인도 완벽하지 않다. 복잡하고 느리고, 사용하기도 불편하다. 하지만 중요한 차이는, 블록체인은 신뢰를 강요하지 않는다는 점이다. 누가 뭘 했는지 다 남고, 시스템이 돌아가는 방식도 모두에게 열려 있다.
그래서 결국엔 사람을 믿는 게 아니라, 그 구조 자체를 바라보게 된다.
탈중앙화는 현실적인가?
'탈중앙화'라는 말은 이상적으로 느껴진다. 하지만 지금 대부분의 시스템을 보면, 서버 하나 멈추면 서비스가 멈추고, 회사가 없어지면 데이터도 같이 사라진다. 블록체인은 이 구조를 뒤집어서 다른 방식으로 보자는 제안이다.
바꿀 수 없는 기록
기존 시스템에선 관리자라면 데이터를 수정하거나, 심지어 로그까지 바꿀 수 있다. 블록체인은 실수든 고의든, 기록은 남겨지게 돼 있다.
'기록' 자체가 중요한 시스템에서는 이게 핵심적인 속성이 된다.
검증 가능한 코드
블록체인은 내부 로직을 숨기지 않는다. 스마트컨트랙트는 누구나 볼 수 있고, 어떤 조건에서 실행되고 어떤 결과가 나오는지도 다 공개돼 있다. 구조적으로 누구나 검증 가능한 시스템이다.
기능이 아닌 구조의 문제
블록체인을 막상 써보려고 하면, 단순히 기능만 보고는 판단하기 어렵다. 오히려 어떤 구조를 만들어야 할지 고민할 때 자연스럽게 떠오르는 질문들이 있다.
- 시간이 지나도 바뀌지 않는 글을 어떻게 증명할 수 있을까?
- 투표 결과가 조작되지 않는다는 걸, 사용자가 직접 확인할 수 있으려면?
- 여러 명이 조건을 걸고 계약을 자동화하려고 할 때, 누가 약속을 어겼는지를 어떻게 명확하게 보여줄 수 있을까?
이런 질문 앞에서, "여기에 블록체인을 쓰면 뭐가 달라지나?"라는 고민이 시작된다.
실제로 구현해보니
실제로 블로그에 블록체인을 붙여봤다. IPFS에 글을 올리고, 스마트컨트랙트로 글의 해시값을 저장하는 방식이었다.
// 실제 구현 예시
const uploadToIPFS = async (content) => {
const result = await ipfs.add(content);
return result.cid; // IPFS Content Identifier
};
const registerOnBlockchain = async (cid) => {
const contract = new ethers.Contract(address, abi, signer);
await contract.registerPost(cid); // 블록체인에 해시 등록
};막상 해보니 생각보다 복잡했다.
- 메타마스크 연결
- 가스비
- 트랜잭션 처리 대기
기존 웹 개발과는 완전히 다른 패러다임이었다.
언제 블록체인을 써야 하나?
의료, 유통, 금융같은 분야에서 데이터 위·변조 방지나 공개 검증 가능한 로직이 중요한 곳에서는 이미 블록체인을 도입하고 있다.
실제 도입 사례
| 기업 | 분야 | 활용 |
|---|---|---|
| 삼성SDS | 유통 | 이력 추적 |
| KB금융 | 금융 | 전자문서 위변조 방지 |
| 식약처 | 의약품 | 유통 관리 |
이 기업들이 선택한 건 단순히 블록체인이 유행이어서가 아니라, 중앙 시스템 하나가 무너지면 전체가 흔들리는 구조를 바꾸고 싶었기 때문이다.
반대로, 언제는 쓰지 말아야 하나?
실시간 처리나 빠른 UX가 중요한 서비스라면 전통적인 백엔드가 속도, 유연성, 편의성 모두에서 낫다.
"정말 블록체인이 필요한 구조인가?"라는 고민이 있을 때만 도입을 검토하는 게 맞다.
SK 유심 해킹 사건을 다시 떠올리면
블록체인을 썼다면 뭔가 달라졌을까. 유저의 민감한 개인정보를 블록체인에 올리는 건 말이 안 된다. 하지만 보안적으로 민감하거나 추적이 필요한 로그의 해시를 블록체인에 남겼다면, 최소한 무결성과 조작 여부를 확인할 수 있는 부분은 남길 수 있었을지도 모른다.
블록체인을 직접 붙여보니 낯설고, 어렵고, 번거로웠다.
하지만 "이 데이터가 정말 변하지 않았을까?"라는 질문에 코드로 답할 수 있다는 게, 기존 백엔드와는 완전히 다른 감각이었다.
SK텔레콤 해킹 사건을 보면서 생각했다. 우리가 서버를 믿는 게 당연한 건지, 아니면 그냥 선택지가 없어서 믿어온 건지.
중요한 건 블록체인을 쓰는 게 아니라, 신뢰를 어떤 구조로 만들어갈지 생각하는 일이다.