✅ 기업에서 블록체인 적용의 핵심 ► 블록체인은 가상화폐에만 적용할 수 있는 기술이 아니다!
엔터프라이즈에서는 같이 일하는 코워크 회사들과 신뢰한다고 말은 하지만 페이퍼상으로만 하는게 아니라
데이터를 주고받는 상황에서도 이 데이터가 바뀌지 않았다는 것, 신뢰할 수 있는 상황으로 만들어야 할때! 사용
► 정보에 대한 신뢰성을 보장해주는 기술: 해쉬, 전자서명
타임스탬핑 > 언제 그 트랜잭션이 발생했는지 시간확인 가능
e.g. 인증서로 전자서명을 한다 > 이게 그 시점에 발생했다는 걸 꼭 확인해야하기 때문에
local에 저장된 시간이 아니라 tsa 라는 서버의 시간을 이용해서 확인하도록 하는데 블록체인은 자체적으로 가지고 있다.
안그러면 국가도 다르고 시간설정이 Pc에 따라 다르게 저장되어 있기 때문에 시점이 다르게 되어있는 경우가 있으므로
시간 동기화를 맞추고 그 상태에서 데이터를 저장하도록 해야 이 데이터에 대한 신뢰성이 확보된다.
합의알고리즘 > 블록체인에 참여하는 사람들이 블록안의 트랜잭션이 이상이 없는 트랜잭션이다 라는걸 확인하고 투표
데이터를 확정짓게해주는 합의 알고리즘
👉🏻 이를 통해서 얻을 수 있는 것: 기밀성 제외 가용성, 무결성(신뢰성)을 보장한다.
👉🏻 가용성은 분산네트워크 이기 때문에 한대 서버가 죽더라도 나머지 얘들이 작동하므로 보장이 된다,
👉🏻 특히 퍼블릭 블록체인은 투명하게 확인할 수 있다.
👉🏻 신속성: 블록체인이 느리다라고는 하지만 중앙화나 중개서비스를 이용하는 것보다는 상대적으로 신속하다!
👉🏻 안정성을 어느정도는 보장할수 있다(case by case)
📌 블록체인 기술의 한계
Tx 확정시간이 서비스에 영향이 없어도 됨
> 일정수준의 업데이트
거래취소가 불가능하다
저장공간이 아주 작으므로 서비스를 고려할 때 대용량의 데이터,트랜잭션이 발생할 경우 다른 기술들과 연계되어야함
기록삭제가 안되므로 개인정보,법에의해 일정시간 후 삭제해야하는 정보/고객이 요청시 삭제해야하는 경우, 삭제가 됬다는 걸 확인해야 하는 경우에는 기획자들이 체크해서 구분해주어야함.
👉🏻 기획자들이 법과 규정에 대해서 + 기술에 대해서 알고 있어야함!
► 표준화도 현재 이루어지고 있는 중... !
► 비즈니스 요건 사전 협의: 데이터가 어떤 것들이 공유되는지를 자세하게 회사마다 공유해야함! 나중에 안된다고하면..ㅠㅠ
► 우리 비즈니스 모델에 적합한 블록체인플랫폼을 골라야함
► 데이터를 어떤식으로 쉐어를 할 건지!
► 공유를 하되 안보는 사람들에겐 접근제한을 시켜야한다 등의 노드구성이 필요함
► 인프라환경들도 체크해야함! 우리가 이때까지 IT가 잘 되어있는 환경이더라도 안되는 회사도 있음...
이걸 받아들일 수 있는 연령대인가도 중요함.. ㅠ 데이터를 입력해줘야하는 사람이 없을 지도..!
배우는 것도 힘들고 효율성이 떨어진다면..? 오히려 퍼포먼스가 떨어지므로 안쓸수도 있음. 구분해서 봐야함.
► 한참 뒤에 Fianlity가 나오므로 이거에 맞는 UI를 설계해야함. 서버가 다운될 수도 있음.
► 비즈니스 어플리케이션 인터페이스 설계 및 개발
► 어떤 비즈니스 프로세스로 기능할지 검증!
► 개발자들에게 ;알아서해주세요;하면 안되고 원하는 ouput을 내려면 명확하게 설계해서 내가 원하는 것을 전달해야함
개방성, 속도 를 가장 고려해야함! 고객이 원하는 동접처리..!! 금융기관에서는 초당 천만건처리.. 원하면 될까,.?
요구하는 속도가 어느정도되는지, 블록체인에 넣으려는 데이터를 anyone에게 오픈해도될지를 체크
> 해서 프라이빗 vs 퍼블릭 선택하기
► 데이터가 들어오는데는 실시간으로 수집하기 위해서 IoT를 많이 사용하고 있음
e.g 기가지니, 네이버 클로버, 스마트워치, 각종센서 등을 활용
►기존의 IoT는 기기들간의 연결에 초점 -> 요즘은 데이터 수집에 초점 -> 새로운 데이터를 받아서 역할을 수행/활용에 확대
► 외부에서 가져온 데이터에 대한 신뢰성을 어떻게 확보할 것인가를 고려해야함
► 프로젝트의 50%이상에 IPFS기술이 함께 사용됨
► IoT 데이터의 신뢰성을 위해서'인가된' 디바이스의 데이터만! 블록체인에 저장합니다> 인가됬는지 확인하려면 LWM2M프로토콜 이용
► QR코드로 검증하는 경우 데이터의 중요성에 따라서 15초~분에 따라서 QR코드를 재생성하게 함!
► 15초지나면 활용할 수 없게하는 메커니즘도 필요함
► 시점확인 정보도 들어가야함!
► 블록체인 플랫폼을 선정할 때는 해외법인의 기업이 공공사업에 협업이 가능한지도 고려해야함
► 이사업에 들어갈 수 있는지 없는지를 플랫폼 체크해야함.
► 블록체인 사업을 한다! 라고 하면 기획자가 가서 미팅하면서 제대로 업체들의 역량을 꼼꼼하게 체크하고 컨소시엄 사들과도 co-work를 잘해야한다.
► 블록체인을 적용할 때는 효과성을 입증할 수 있어야함 (수작업을 자동화, 시간효율 등) > 시간 더 걸리는데 적용?
► 효과성이 명확한얘들한테 적용해주는게좋다,
► 퍼블릭에서는 참여자 키관리, 거래검증,알고리즘을 잘 봐야함 👉🏻 특히 합의알고리즘은 종류가 굉장히 많으므로!
👉🏻 스마트컨트랙트 쿼리할때 화면이 어떻게 보일지까지도 고려해서 UI를 작성해야함.
다양한 화면에 적용하고 싶다면 블록체인 + RBBM에도 저장해야 할 수도 있다.
► 국정원에서 인가받은 회사의 암호모듈을 사서 적용해야 공공기관에서 사용이 가능하다!
► 권고가 남아있는 알고리즘을 적용
► 노드를 넓히는 것이 쉽지 않으므로 확장성이 좋은 플랫폼인지도 잘 확인해야한다.
► 스마트 컨트랙트는 프로그램! 내 옆에 개발자가 만드는 프로그램이므로 버그가 있을 수 있다!
► 전자지갑을 만들면 공개키 + 개인키를 만들고, 전자서명을 할 때 사용하는 암호화 알고리즘이 있음
► PKI는 이런 암호알고리즘으로 이루어져 있으며 완벽하지 않음
► 정보보안에 있어서도 왠만하면 책임자 1사람을 정하게 만들어져있음...
►탈중앙화네트워크에서는 개인정보에 대한 책임자가 없으므로 우리나라,유럽에서는 누가 책임을 지는지 정확하게 명시하도록 되어있음
✅ 잊혀질 권리(잊힐권리가 표준문법)
► 국정원홈페이지 등에서 암호화 알고리즘에 대해서 확인가능!
► 일반업체들이 만들어서 가져온 블록체인에 대해서는 암호알고리즘 안정성을 확인해야함.
► 개인정보 침해 ~ 특정 사람들끼리만 공유해야하는 데이터가 있다면 ? > 우리끼리만의 채널을 따로 만들어서 정보를 공유하는것 가능
► 접근통제에 대한 부분도 중요!
- 권한이 있는 사람만 접근이 가능해야함.
- 권한이 있는 사람만 이 데이터를 확인할 수 있다 = 암호화, 접근통제 기술이 필요!
► 오픈소스로 되어있는 코드도 만든사람들의 실력이 검증이 안되므로 주의해야함. 제3자에게 확인을 받아야함.
► secure coding을 준수하도록 이상한 부분이 없는지 테스트를 거쳐야함!
► 시큐어 코딩: https://yozm.wishket.com/magazine/detail/1822/
👉🏻 해커들이 침입할만한 여지가 있는지를 확인한 코딩, 보안의 위협에 안전하게 대응하게 한 코딩
But, 보안에 완벽함은 없다. 보안을 해서 확률을 낮추는 것.
► 비정상거래 탐지: 카드 해외결제등 비정상거래를 탐지하는 기술이 적용되어 고객한테 확인하는 것도 블록체인에 적용
📌 블록체인과 개인정보 보호 이슈
►최소한의 정보만, 업무에 필요한 사람만, 확인할 수 있어야함
► 목적외의 정보에 접근한다면 개인정보 보호법 위반
► 컨소시엄이라고 할지라도 삭제가능한영역에 / 허가된 사람들만 확인할 수 있도록 정보를 공유하자
► 삭제가 안되는데 어떻게 ? > 오프체인정보망을 활용 > 해시값만 블록체인에 저장하면 나중에 DB에 있는 정보를 확인할 수 없음.
► 참여할 때마다 인증서를 발급하게해서 네트워크에 권한이 있는지 확인하게 하기
► 기밀성을 보장하지 않으므로 중요한 정보는 스마트컨트랙트에 보내기 전에 암호화 > 복구할때 통제
► 블록체인에 '개인정보 저장'금지! : 잊힐권리때문에 안됨. EUGDPR(유럽개인정보보호법)- 유럽시민의 개인정보는 유럽안에만 있어야하고 저장하려면 유럽한테 GDPR심사를 통과해야지만 정보를 저장할 수 있음. (우리나라는 우리나라 영해 안에서는 가능하지만 블록체인 노드의 설치가 어디 되어있는지 알 수 없으므로 노드의 위치도 신경써야함)
► 개인을 여러정보들을 종합해서 식별할 수 있으면 개인정보! > 비식별해야함.
► 개인정보 보호법에 따라 스마트컨트랙트에서 정보가활용되지 않도록 꼼꼼하게 체크해야함
► 데이터삭제가 안되므로 status를 변경하기도 함. 삭제된 상태정보를 만들어서 다시 등록!
► 무결성 보장 주체? 개발자가 구현한 application
► 블록체인은 안에서 검증 해주나 데이터베이스에서는 개발자가 구현한 application
► 비즈니스모델을 개발할 때 블록체인에 저장할건지, DB에 저장할건지 구분하여 개발하도록 해야함
► 총괄책임자가 누구인지, 개인정보관리에 대한 원칙을 다 정해서 게시해두어야함.
GDPR기준으로 프라이빗 블록체인은 시스템운영자, 퍼블릭은 노드(노드는 사실 어려움), 정보주체가 컨트롤러
► 나만 하는게 아니니까 다른 회사들과도 명확하게 책임을 설정, 리스크를 철저하게 관리해야한다.
► 법이 없더라도 어떤 부분에 대한 가이드를 확인하고 외부자문등을 통해서 보완하면서 진행해야한다.
📌 민법상의 문제
- 스마트컨트랙트는 전자문서 및 전자거래기본법에 해당되지 않아서 전자문서로도 인정되지 않음
- 중앙시스템에 의하 방식만 전자금융거래법에서 인정하고 있으므로 블록체인과 대치
- 개인정보보호법은 일반법이므로 반드시 지켜야됨
👉🏻 IT지식 + 블록체인에 대한 지식 + 특정사업분야에 대한 지식 모두 필요함..
► 삭제에 대한 부분 고려해야해서 오프체인을 많이 사용한다.
►그럼에도 불구하고 정보삭제를 위해서 사용해야 하는 경우도 있음
►열람,접근이 안되게 하는 방식이지 삭제는 불가능함.
►그래서 건당 저장하는게 아니라 한꺼번에 모아서 등록하는 방법을 사용하기도함. Segwit등의 방법사용
► 블록체인으로 요청할 수 있는 데이터가 한정되어 있음.
► 해결방법: 블록사이즈확대, 사이드체인 등
► 가용성, 상호운용성의 중요성이 확대되고 있어 이에 맞는 솔루션들도 나오고 있다,
► 거래수수료가 어느정도 있으면 트랜잭션 발생시킬 때 어느정도 고민하게되므로 보안측면에 도움이 됨
► 2020년이후 제도권에 들어가려는 노력은 하고 있으나 아직 바뀐건 없음
► 스마트컨트랙트 - 이를 통해서 엔터프라이즈에서 블록체인을 적용해볼 수 있겠다! 가 됨
► 참여자가 동시에 동일한 코드를 실행할 수 있도록 되어있는 프로그램(이벤트기반) ►실제 계약으로 볼 수 있는가?!
► 현재의 법과는 대치됨. ► 가치가 클 수록 사고가 커졌을 때 책임의 문제
► 거래내역의 보존 분산- 사본을 저장, 보존
► 계약의 공증? > 스크립트코드가 삽입되어 자동공증? > 공공기관이 아니므로 공증이라고 하기는 애매함
코드내재 - 계약내용이 스마트 컨트랙트안에 다 들어가 있음> 개인정보가 포함되어 있을 위험이 있음!
코드외재 - 계약서는 외부에 있고 그거에 대한 이행만 자동화 > 개인정보나 중요한 정보는 블록체인 밖에서, 처리만 블록체인이벤트를 사용
► 노드의 도커1 / 스마트 컨트랙트의 도커1 > 호출할 때 스마트먼트랙트 도커한테 확인해달라고 하는 방식
-chain code> 하이퍼렛저 퍼브릭
-블록체인마다 호출하는 법도 달라서 통합할 수 있는 방안이 필요
- Corner case: 어떤 경우에 동작하라고 했는데! 계산하지 못한 예외케이스가 있었을 경우... > 사고가 발생할 수 있음
-
- 로직에 대해 당사자가 합의해야되는데 이부분이 아직 합의되지 않음! > 계약 유효 및 성립시기에 대한 문제
- 기존 계약 입회하에 공증해줄 수 있는 사람 하에 하지만 스마트컨트랙트는 합의,체결의 시점이 다를 경우 반영이 안됨
- 기록된 원장을 참여자가 모두 확인할 수 있으므로 모두가 내 개인자산 등에 대한 정보(프라이버시)가 알려질 수 있음
- 개보법에 따르면 파기를 해야하는 정보를 못할 수 있으므로 이슈존재
-망이 다 다른데.. 인아웃 바운드를 모두 오픈해야지만 블록체인 노드를 설치할 수 있음 > 해주겠냐
-블록체인 노드를 어디에 설치할 것인지도 보안상의 문제!
-오픈하면 Ddos공격받거나 블록체인노드를 타고 들어와서 기존 시스템을 공격할 수 있음> 네트워크가 전부느려지기도함
► 중소기업에서는 이거하나 하자고 사람을 뽑으라고하면 찾을수도 없고 할수도 없음... 노드운영인력에 대한 논의 필요
유형: 퍼블릭(그룹사들끼리 사용하는 클라우드), 프라이빗, 하이브리드(둘다 사용) - 네이버 클라우드 NCP + AWS 를 연계하기도함
► 단말이 있는 위치에 서버를 하나 만들어서 얘네들의 정보를 중간에 필터링,정제해서 클라우드로 보냄
► Edge nodes = Edge computing 이라고함.
►앞에있는건 민간서비스에서 사용가능, 공공에서는 G-cloud를 이용해야함
► 목적에 따라서 공무원들이 업무목적으로 사용하는 경우 G-cloud도 등급이 나눠져 있어서 사용할 수 있는 곳이 정해져있음
► 클라우드로 전환하고 싶으면 메가존클라우드 등 큰 회사들, MSP AWS서비스 구축해주는 업체들을 이용하기도함.
공공인경우에는! 인증받은 업체인지 확인하는 것이 중요
► 클라우드를 옮기기가 매우 힘듬. 생각보다 많이 종속(Lockin)된다.
'Web3' 카테고리의 다른 글
블록체인 서비스기획 8주차 - 2일 수업 노트 (0) | 2023.08.22 |
---|---|
블록체인 서비스기획 8주차 - 1일 수업 노트 (1) | 2023.08.22 |
블록체인 서비스기획 7주차 - 3일 수업 노트 (0) | 2023.08.17 |
블록체인 서비스기획 7주차 - 2일 수업 노트 (0) | 2023.08.16 |
블록체인 서비스기획 7주차 - 1일 수업 노트 (2) | 2023.08.14 |