본문 바로가기
Kor/Blockchain

블록체인 프로젝트 기획 경험기 (2) - Experience planning a blockchain project

by PD Miles 2024. 4. 24.
반응형

 

이전 글에서 기획서 작성과정까지 마쳤다면 이제 실제 제작에 참고하면 좋을 내용을 정리해 보았다.


UX/UI 및 스마트 컨트랙트 기능 기획

UX/UI 기획은 일반적인 웹, 앱과 비슷하지만 서버와의 통신 외에도 스마트 컨트랙트를 통해 블록체인 네트워크와 통신하여 데이터를 주고받는 부분도 있기 때문에 이 부분을 잘 고려해야 한다.


UX/UI 기획 시 주의사항

유저 친화적인 UX Writing

UX/UI 디자인은 사용자가 블록체인 기반의 기술을 이해하고 쉽게 접근할 수 있도록 도와야 한다.

UI Interaction의 경우 지갑 확장프로그램 혹은 앱을 거쳐간다는 것 외에는 기본적인 사용성에 대한 고민은 비슷할 것이다

다만 지금은 유저가 한정적인 생태계이지만 사용성이 올라가고 새로운 유저가 유입된다면 지금처럼 일반적으로 쓰고 있는 블록체인 기술의 용어들은 이해하기에 난해한 부분들이 많을 것이다.

따라서, 기술적인 부분을 사용자 친화적으로 번역하여 제공하는 것이 중요하다.

 

스마트 컨트랙트와의 소통 속도에 대한 이해

우리가 평소에 사용하는 인터넷 속도해 비해 블록체인의 속도는 매우 느리다.

(어떤 네트워크냐에 따라 다르지만 일단 지금의 인터넷 속도보다는 느리다.)

만약 유저가 A라는 아이템을 다른 유저에게 전송한다고 했을 때, 즉각적으로 전송되지 않을 수 있다.

그 이유를 간략하게 설명하자면, 블록체인은 여러 검증자의 검증을 통해 트랜젝션의 무결성이 증명되면 행동이 실행되는데, 이때 네트워크 수수료를 많이 지불하면 할수록 검증자들이 우선적으로 처리하기 때문에 네트워크에 검증을 받고 싶어 하는 트랜젝션이 많다면 수수료가 높아지고 그만큼 처리가 뒤로 밀릴 수 있기 때문이다.

그렇기 때문에 트랜젝션이 처리되는 동안 어떻게 유저에게 좋은 경험을 전달할지 고민해야 하고 스마트 컨트랙트와의 소통을 최소화하고 한 번에 처리되게 하는 것이 좋다.


스마트 컨트랙트 기획 시 주의사항

네트워크 수수료 (Gas fee)

사용자가 데이터를 기록할 때 발생하는 네트워크 수수료인 Gas 비용을 효율적으로 관리하는 방법도 중요하게 고려되어야 한다.

(일반적으로 블록체인 네트워크에 데이터를 기록하는 행위가 아니라 데이터를 불러오는 행위만 한다면 네트워크 수수료를 지불하지 않는다.)

이를 위해, 스마트 컨트랙트를 구축할 때 변수의 저장 타입, 함수 호출 및 기록 최적화, 상태 변화를 최소화, 반복되는 함수 최적화 등등이 많은 부분들이 네트워크 수수료를 줄이기 위한 설계에 포함된다.

 

컨트랙트 보안

스마트 컨트랙트의 기능을 구체적으로 설계할 때는 사용자의 보안을 최우선으로 고려해야 한다.

보안에 구멍이 있는 스마트 컨트랙트는 해킹으로 이어질 수 있고 사용자의 지갑과 직접적으로 상호작용하는 컨트랙트의 경우 자산피해까지 이뤄질 수 있다

그렇기 때문에 보안 감사 및 코드 리뷰를 정기적으로 수행하는 것이 중요한데 외부 감사를 통한 보안 취약점 점검 및 수정을 통해 내부에서 발견하지 못한 이슈를 외부의 전문 보안감사 기관에게 검토받는 것도 하나의 방법이다

(물론 가격이 꽤 많이 비싸다.)


프로토타입 제작

기획된 UX/UI 디자인과 스마트 컨트랙트 기능을 바탕으로 초기 프로토타입을 제작한다.

나는 프로토타입을 1) UX/UI 개선을 위한 프로토타입2) 스마트 컨트랙트가 포함된 프로토타입 두 스텝으로 구분한다.

그 이유는 개인적으로 블록체인 프로젝트 작업을 했을 때 디자인과 개발의 진행 레벨이 서로 맞지 않는 경우가 잦았기 때문이다.

1) UX/UI 개선을 위한 프로토타입

이 단계는 모두가 알고 있듯이 디자인된 UI를 통해 사용자의 흐름을 개선하고 매끄럽게 하기 위해 제작되는 노 코드 프로토타입이다.

전체적인 흐름을 본다면 어느 부분에 UI가 추가되어야 할지, 빠져도 되는지, 어떻게 하면 더 간소화해서 보여줄 수 있는지 미리 검토해 볼 수 있다.

하지만 스마트 컨트랙트가 붙는다는 것을 고려하지 않고 기존 웹/앱의 경험처럼 프로토타입을 개선했다가는 추후에 꽤나 고생할 수 있으니 꼭! 시뮬레이션으로라도 어떤 UI에서 컨트랙트의 어떤 함수가 호출되고, 언제 지갑에 서명해야 하고, 수수료가 나가는지까지 검토하는 것을 추천한다.


2) 스마트 컨트랙트가 포함된 프로토타입

스마트 컨트랙트 개발이 완료되었다면 (Remix IDE나 Hardhat을 사용하여 가상환경에서 스마트 컨트랙트 테스트까지 마친 상태)

이제 프런트의 UI와 연결하여 제대로 호출되는지, 입력한 값이 지갑을 통해 스마트 컨트랙트로 제대로 전송되는지 확인해야 한다.

이때 정말 별의별 값을 다 넣어보고, 별의 별 행동을 다 해보면서 혹시 있을지 모를 버그를 찾아야 한다.

 

큰 회사의 경우 QA팀이 별도로 있을 수 있지만, 아직 블록체인이라는 것도 잘 사용하지 않는 지금 시장에서는 QA팀은 사치이기 때문에 기획자가 직접 기획한 대로 컨트랙트가 굴러가는지 개발자와 함께 테스트할 수밖에 없다.


이렇게 여러 번의 테스트를 거쳐 출시 준비가 되었다면, 기획된 배포 및 론칭 전략에 맞춰 시장에 내보일 때이다.

여러 역경과 고난 끝에 한 사이클을 돌아 출시된 프로젝트를 보고 있으면, 늘 여러 아쉬움이 밀려온다.

  • MVP처럼 가볍게 출시하기 어려운 블록체인 개발 환경에 대한 아쉬움
  • 유저테스트나 리서치를 통해 서비스를 개선할 수 없기에 출시 후의 반응을 지켜볼 수밖에 없는 아쉬움
  • 반응이 안 좋아도 스마트 컨트랙트 개발 공수가 있다 보니 빠르게 대응하지 못하는 아쉬움

그렇기 때문에 당신이 기획자라면 흔들리지 않는 비전과 미션을 가지고 더 멀리 보고 더 신중하게 진행해야 하는 것이 블록체인 프로젝트인 것 같다.

과거를 회상해 보면 앱 하나를 만들 때도 굉장히 허들이 높았지만 지금은 빠르게 개발하고 검증할 수 있는 환경이 만들어진 것처럼, 내가 쓴 이 기획에 대한 경험글이 언젠가는 쓸모 없어지는 날이 오길 바란다.

반응형