[Flow 블록체인] intro to Flow

드림보이즈·2023년 5월 15일

Flow 블록체인 소개 강의

강의 자료 : https://www.youtube.com/watch?v=6OSfqPmQzJs

flow 문서 : https://developers.flow.com/

flow는 크립토키티 팀이 이더리움의 '확장성'문제와 솔리디티에 대한 부정적 경험을 겪은 후

만든 블록체인이다.

(이용자도 얼마 없는데 네트워크 터지고 / 한 번 배포하면 수정할 수 없는 등의 문제들)

(NFT, erc-721 제안한 팀도 flow란다)

레이어 1 블록체인이다.

레이어 2, 샤딩 블록체인이 아니다.
(뒷담은 아니지만, 위 같은 솔루션은 더 복잡하게 만들고, 잠재적으로 리스크가 높다고 생각한다고 한다)

  • 사용자 입장에서 매우 접근이 쉽다. web3인지도 모르게 사용 가능할 정도로
  • 개발자 입장에서 접근이 쉽다.
  • 확장성이 매우 높다

확장성 높이기 위해 샤딩, 레이어2 이런거 안 쓰고

기존의 검증 / 합의 노드로 역할을 나눈 것을

노드의 역할을 더 세분화해서 속도를 높였다고 한다.

가스비도 ㅈㄴ 조금 든단다.

flow 지갑 어플들이다.

consumer-friendly 라고 하는 이유는, dApp 사용을 위해 사용자가 지갑을 직접 만들 필요 없이

email, sns 로그인을 하고 뒤에서 지갑을 만들어 줄 수 있다.

사용자는 지갑이 있는지도 모르고, 알 필요도 없이 본인 이메일, sns만 기억하면 되는 것이다.

Doodles 라는 유명 nft 업체도 v2는 flow로 옮겼단다.


Flow 블록체인에서 개발을 하려면?

다시 처음으로 돌아와서, 블록체인의 핵심은 무엇인가?

강사는

open, decentralized, database, publicity

를 키워드로 뽑았다.

또한 누구나 이미 존재하는 것에 결합을 할 수 있어야 한다. (살 붙이기)

Composability(결합성)

(뒤에 나오겠지만,

예를 들어 사람 nft에 하위 nft로 옷, 신발 등을 둬서 결합할 수 있는 부분이 예시가 될 수 있겠다.)

또한 스마트 컨트랙트를 위한 새로운 언어가 필요하단다.

주목할 부분은

- Account에서 소유한 자산을 관리 가능

(컨트랙트 안에 매핑된게 아니라 NFT가 실제로 지갑 안에)

- Resource가 실수로 복제, 삭제되면 안된다

정도 있겠다.

Cadence

Rust와 닮았단다. 근데 rust는 컨트랙트를 위해 만들어진 언어는 아니라고

아예 NFT 타입이 있다.

<- : move operator라고 하는데, resource를 만들면 컨트랙트에 저장하는게 아니라 반드시 어디로 보내야 된다고 한다. 안되면 전체 트랜잭션이 fail 된다고

Resource : nft 같은 데이터들

nft를 a가 b에게 전달한다면,

기존의 이더리움에서는 소유자의 주소가 바뀌겠지만,

Flow는 계정에 진짜 보낸단다.

아까 말했던 composability의 디테일한 부분이다.

사람 NFT가 있으면, 하위에 옷, 신발 등의 NFT들을 함께 관리할 수 있단다.



그냥 그런갑다 하고 넘어가자

아래는 아까 말한 이메일, 소셜 로그인이 가능한 이유다.

Account가 여러 키를 가질 수 있어, 하나의 계정 안에 여러 지갑이든, 어떤 데이터 등 저장이 가능하다.

그래서 소셜 로그인으로 a지갑을 만들고 쓰다가, 유저가 새로 지갑 b를 만들어도 a에서 b로 자산을 옮길 수 있다고,

이 부분이 ㅈㄴ cool 한 부분이란다.

트랜잭션 혹은 스크립트를 사용할 수 있다.
(이더리움이랑 똑같음, 대신 쌈)

https://play.flow.com/

cli, vscode extension도 제공된다고 한다.



QnA

Q. 왜 굳이 cadence 써야 됨?

A. flow 쓰려면 무조건 써야 되고, solidity에서 이미 널린 라이브러리 복붙할 거면 그거 써라, 완전 새로운거 체험하고 배우고 싶으면 이게 좋음

Q. 솔리디티랑 다른 점이 뭐임?

A. 솔리디티는 업데이트 불가 / 나는 가능


해커톤 프로젝트로 적절할까?

  • 새로운 언어 cadence 배워야 함
  • 메타마스크 못 씀, 다른 지갑들 써야 됨
  • 체인링크 functions에서 네트워크 지원하는 지 모르겠음
  • NFT 프로젝트면 충분히 매력있어보임
  • 비용이 싸고 빠름
profile
시리즈 클릭하셔서 카테고리 별로 편하게 보세용

0개의 댓글