블록체인은 데이터와 거래를 관리하는 방식에 혁신을 가져온 기술입니다.
구독자 여러분들 안녕하세요, [스타트업 PM이 알려주는 블록체인 경험!]
오늘은 블록체인의 기본과 블록체인 프로젝트를 진행했던 경험들에 대하여 공유해보도록 하겠습니다.
Tech 직군이여도 생소할 수 있습니다. 과연 블록체인 프로젝트는 어떤 특징을 갖고있는지 알아보겠습니다!
블록체인은 디지털 데이터를 안전하고 투명하게 관리하는 혁신적인 기술입니다. 비트코인과 같은 암호화폐와 연관지어 생각되지만, 그 응용 범위는 훨씬 넓습니다. 주니어 개발 프로젝트 매니저로서 블록체인의 기본 개념과 작동 원리, 그리고 실제 예시를 이해하고, 이를 다양한 프로젝트와 산업에서 어떻게 활용할 수 있는지를 알아보는 것이 중요합니다.
1. 탈중앙화:
• 전통적인 중앙 집중식 데이터베이스와 달리, 블록체인은 네트워크에 참여하는 여러 컴퓨터(노드)에 분산되어 있습니다.
• 이러한 구조는 단일 장애점(중심)이 없어 시스템의 보안과 신뢰성을 높여줍니다.
2. 투명성:
• 블록체인에 기록된 모든 거래는 네트워크의 모든 참여자가 볼 수 있습니다.
• 이는 데이터의 투명성을 보장하고, 신뢰성을 높여줍니다.
3. 불변성:
• 블록체인에 기록된 거래는 변경이 불가능합니다.
• 해시 함수를 사용해 블록 간에 연결되어 있으며, 하나의 블록이 변경되면 전체 블록이 변경되어야 하므로 실질적으로 불가능합니다.
• 이로 인해 데이터의 무결성을 유지하고, 사기 방지를 강화합니다.
4. 보안성:
• 블록체인은 암호화 기술을 사용하여 데이터를 보호합니다.
• 데이터가 변조되거나 해킹될 가능성을 최소화하여 높은 보안성을 제공합니다.
블록체인을 쉽게 이해하기 위해, 친구들과 함께 사용하는 공유 Google 스프레드시트를 예로 들어보겠습니다. 각 행은 거래를 나타내며, 모든 친구들이 이를 보고 확인할 수 있습니다.
1. 거래:
• 예를 들어, Alice가 Bob에게 50달러를 보냅니다.
• 이 거래는 스프레드시트의 새로운 행에 기록됩니다.
2. 검증:
• 거래가 스프레드시트에 추가되기 전에, 모든 친구(노드)가 Alice가 50달러를 가지고 있는지, 거래가 유효한지 확인합니다.
3. 기록:
• 검증이 완료되면 거래가 스프레드시트에 추가됩니다.
• 모든 친구는 이 업데이트된 스프레드시트를 갖고 있습니다.
4. 블록의 연결:
• 몇 분마다 새로운 거래가 모여서 “블록”이 되고, 이전 블록에 연결되어 “체인”이 형성됩니다. ***
• 이렇게 하면 거래 기록이 시간 순서대로 안전하게 보존됩니다.
회사가 제품의 출발지부터 고객에게 도착할 때까지의 여정을 추적한다고 가정해보겠습니다. 블록체인을 사용하면 제품의 각 단계가 투명하고 불변하게 기록됩니다.
1. 제조:
• 제조업체가 제품의 생산을 블록체인에 기록합니다.
2. 운송:
• 운송 회사가 운송 세부 사항을 블록체인에 기록합니다.
3. 소매:
• 소매업체가 제품 수령 및 판매 정보를 블록체인에 기록합니다.
4. 고객:
• 고객은 블록체인 기록을 통해 제품의 진위와 여정을 확인할 수 있습니다.
이러한 투명성은 사기 혹은 오류를 줄이고 모든 참여자의 신뢰를 높이는 데 기여합니다.
1. 강화된 보안:
• 블록체인의 암호화 기술은 데이터를 안전하게 보호하고, 데이터가 쉽게 해킹되거나 변경될 수 없게 합니다.
2. 개선된 투명성:
• 모든 거래가 기록되고 참여자에게 공개되어 책임감과 신뢰성을 높입니다.
3. 프로세스 간소화:
• 중개자 제거 및 프로세스 자동화를 통해 비용을 절감하고 효율성을 높입니다.
4. 신뢰할 수 있는 데이터:
• 불변의 기록은 데이터의 정확성과 역사성을 보장하여 의사 결정에 중요한 역할을 합니다.
1. 기술 전문가 확보:
• 블록체인 프로젝트는 기존 IT 프로젝트와 달리 특별한 기술 요구사항이 있습니다.
• 팀 내 블록체인 전문가뿐만 아니라 프론트엔드 개발자도 블록체인 기술에 대한 깊은 이해가 필요합니다.
2. 지속적인 학습:
• 블록체인 기술은 빠르게 발전하고 있습니다.
• 팀원들이 최신 기술과 트렌드를 따라갈 수 있도록 지속적인 교육과 학습이 필요합니다.
3. 명확한 목표 설정:
• 블록체인 프로젝트에서는 명확한 목표 설정이 필수입니다.
• 예를 들어, 특정 기간 내에 스마트 계약을 구현하고 테스트해야 한다는 구체적인 목표가 있어야 합니다.
4. 모듈화된 접근:
• 큰 프로젝트를 작은 모듈로 나누어 관리하면 복잡성을 줄이고 효율성을 높일 수 있습니다.
1. 스마트 계약 개발:
• 스마트 계약은 자율적으로 실행되는 코드로, 오류가 발생하면 치명적일 수 있습니다.
• 따라서 코드를 철저히 검토하고 검증하는 과정이 필요합니다.
2. 보안 강화:
• 스마트 계약은 한번 배포되면 변경이 어렵기 때문에, 배포 전에 철저한 보안 점검이 필요합니다.
3. 테스트의 중요성:
• 다양한 시나리오를 상정하여 테스트해야 합니다.
• 모든 가능성을 고려하여 테스트함으로써 예상치 못한 오류를 방지할 수 있습니다.
제가 관리했던 블록체인 프로젝트에서는 프론트엔드 팀이 트랜잭션의 투명성을 유지하면서도 개발일정을 해치지 않도록 하는 데 많은 신경을 썼습니다. 특히 데이터가 실시간으로 분산 저장되므로 프론트엔드에서 이를 안정적으로 구현될 수 있도록 노력했습니다.
프론트엔드 개발자들이 스마트 계약과 상호작용할 때, 데이터를 암호화하고 트랜잭션을 확인하는 과정을 철저히 검토했습니다. 프로젝트 초기에는 이 부분에 문제가 많았는데, 보안 강화를 위해 코드를 지속적으로 검토하고 개선해 나갔습니다.
블록체인과 관련된 프론트엔드 작업이 많아지면서 초기 개발속도에서는 어려움을 겪었습니다. 이후 블록체인 경험이 있는 프론트엔드 개발자를 추가로 리쿠르팅(Recruting)하고, 지속적인 관리를 통해 팀의 역량을 강화했던 경험이 있습니다.
이러한 경험을 통해 블록체인 프로젝트에서 프론트엔드의 역할과 중요성을 깊이 이해하게 되었습니다. 블록체인과 프론트엔드 개발은 상호 보완적이며, 둘 다 고유의 도전 과제를 가지고 있습니다.
특히, 프론트엔드에서 처리해야 할 보안과 트랜잭션 관련 작업이 많아 개발 일정이 자주 지연되는 경우가 있었습니다. 따라서 프론트엔드 개발을 진행할 때는 비즈니스 로직 개발과 블록체인 관련 작업을 분리하여 일정 산출을 계획하는 것이 중요합니다. 이렇게 하면 각 작업의 특성을 고려한 보다 현실적인 개발 일정을 수립할 수 있으며, 프로젝트의 원활한 진행을 도울 수 있습니다. 글을 읽어봐주셔서 감사합니다! 좋은 하루 보내세요!
2024/06/23 Jayden!
추가로, Devrel에 대해서 알고싶으시다면?!
https://brunch.co.kr/@joohyung-im/12