IT 전문가가 알려주는 블록체인
우리에게 굉장히 친숙한 개념이지만 생소한 부분이 있을 것 같아서 준비해봤습니다.
생소한 개념을 다시 한 번 공부해 보는 계기가 되기를 바랍니다.
블록체인을 통한 스마트 컨트랙트 (smart contract) 블록체인은 네트워크 상에 새로운 장부를 추가하여 기존 장부에 새로운 내용을 추가함으로써 거래를 수행하고 기록하는 것입니다.
이때 장부를 기록하는 과정을 스마트 컨트랙트라고 합니다.
위에서 언급한 것처럼 스마트 컨트랙트는 블록체인에 새로 추가하는 것이 아니라 기존 블록체인에 있는 내용입니다.
쉽게 설명하면 디지털 자산에 새로운 내용을 추가하는 것입니다.
따라서 블록체인에 새로운 내용을 추가한다는 것은 스마트 컨트랙트를 사용하는 것이겠죠.
스마트 컨트랙트와 관련된 내용은 제가 예전에 올린 포스트에서 자세히 설명한 적이 있습니다.
위에서 설명했듯이 스마트 컨트랙트는 기존 블록체인에 새로 추가하는 것이지만 개념이 조금 다릅니다.
기존에 있는 내용에 새로운 내용을 추가하는 것이라는 점은 같습니다.
하지만 기존에 있는 내용에 어떠한 내용을 추가해야 하는지, 그리고 누구의 블록체인에 추가를 하는 것인지에 따라서 스마트 컨트랙트의 유형이 나뉘게 됩니다.
스마트 컨트랙트를 사용하는 방법은 두 가지가 있습니다.
첫 번째는 기존 블록체인에 새로운 블록체인을 만드는 방법이고 두 번째는 기존 블록체인을 활용하는 블록체인의 내용에 새로운 내용을 추가하는 방법입니다.
첫 번째 방법을 우리는 '포크(folk)'라고 표현하고 두 번째 방법을 '포크 세드(folk sed)'라고 표현합니다.
그렇다면 스마트 컨트랙트가 있는 블록체인을 만들면 '포크'라고 표현하고 스마트 컨트랙트가 없는 블록체인이면 '포크 세드'라고 표현하면 될 것 같네요.
그렇다면 스마트 컨트랙트라는 것은 처음부터 스마트한 걸까요?
그렇지 않습니다.
우리가 스마트 컨트랙트에 대해 알고 있는 것은 스마트 컨트랙트가 스마트하게 동작하는 것입니다.
스마트 컨트랙트는 스마트하게 동작하는 것이지 처음부터 스마트한 것이 아닙니다.
그건 스마트 컨트랙트가 기존에 있는 내용에 추가하는 것이기 때문에 기존의 내용이 없다면 스마트 컨트랙트는 동작하지 않기 때문입니다.
그렇기 때문에 우리는 스마트 컨트랙트가 기존에 있던 내용에 추가한다고 해서 스마트하다고 표현합니다.
스마트 컨트랙트를 구성하는 내용 1. 토큰 (token) 스마트 컨트랙트를 사용하는 이유는 토큰을 만들기 위함입니다.
그리고 토큰은 스마트 컨트랙트에 의해서 만들어진다는 특징이 있습니다.
토큰에 대한 정의는 포스트를 계속하며 자세히 설명하겠습니다.
2. 트랜잭션 (transaction) 트랜잭션은 거래가 완료된 것을 의미합니다.
그렇기 때문에 거래가 완료된 시점에는 거래를 완료하는 조건이 충족되어 스마트 컨트랙트가 수행됩니다.
하지만 거래를 완료하고 스마트 컨트랙트에 기록한 시점까지는 스마트 컨트랙트에 의해 수행된 것이 아닙니다.
3. 위임자 (mandate) 위임자는 스마트 컨트랙트에 데이터를 추가할 권한을 가지고 있습니다.
예를 들어 위임자는 스마트 컨트랙트에 자신이 수행한 거래를 기록하고 스마트 컨트랙트가 전송한 데이터를 토큰이라는 값으로 환산하는 작업을 합니다.
4. 데이터 (data) 데이터는 스마트 컨트랙트에서 사용하는 데이터입니다.
데이터를 토큰이라고 표현할 때는 데이터는 토큰이라는 값으로 환산하는 작업을 수행하며 그것이 데이터라는 것을 의미합니다.
5. 블록 (block) 블록은 스마트 컨트랙트가 수행한 거래가 하나의 블록으로 모여있는 것을 의미합니다.
그렇기 때문에 기존에 있던 블록에는 새로운 블록이 추가가 될 수 없습니다.
6. 트랜잭션 확인 트랜잭션이 완료되면 블록에 트랜잭션을 확인하는 작업이 수행됩니다.
트랜잭션 확인 작업이 끝나면 블록에는 스마트 컨트랙트에 의해 토큰을 생성한 것을 포함하여 총 8개의 블록이 생성됩니다.
그리고 마지막으로 스마트 컨트랙트의 위임자, 그리고 블록에 기록된 데이터를 확인하면 이 작업이 마무리됩니다.
이 블록을 체인이라고 표현합니다.
블록을 생성하는 이유 블록을 생성하는 이유는 간단합니다.
블록 생성 알고리즘에 있는 데이터를 토큰으로 환산하는 작업을 수행해야 하기 때문입니다.
우리가 처음에 토큰이라고 하는 것은 스마트 컨트랙트로 생성한 것이라고 했습니다.
그렇다면 토큰을 생성하는 이유는 토큰이라고 하는 것이 스마트 컨트랙트로 생성한 것이기 때문에 토큰을 생성하는 이유는 토큰이 스마트 컨트랙트로 생성한 것이라고 생각하면 됩니다.
그렇다면, 토큰을 생성하는 목적은 무엇일까요?
토큰은 기존의 토큰과 동일한 기능을 수행하지만 거래가 완료되기 전까지는 토큰의 가치가 존재하지 않습니다.
그래서 토큰의 가치를 유지하기 위해서 토큰을 생성하는 것입니다.
여기서 주의할 점은 토큰은 기존에 있는 토큰을 대체하기 위해 사용하거나 기존에 있는 토큰을 보완하기 위해 사용하는 것이 아니라 기존에 있는 토큰이 없더라도 새로운 토큰이 토큰이 될 수 있도록 사용하기 위함입니다.
예를 들어, 기존에 있던 토큰이 없더라도 스마트 컨트랙트로 생성한 토큰으로 기존에 있던 토큰을 대체할 수 있습니다.
왜냐하면, 기존에 토큰이 없어서 스마트 컨트랙트로 토큰을 만들 때 '데이터'가 없기 때문입니다.
만약 데이터가 있다면 데이터를 토큰으로 생성하면 됩니다.
그럼, 토큰에 데이터를 추가하지 않는 이유는 무엇일까요?
블록에 데이터를 추가하지 않는 이유는 데이터를 토큰으로 생성하지 않아도 스마트 컨트랙트에 의해서 토큰이 생성됩니다.
그렇기 때문에 데이터는 토큰으로 생성하지 않아도 됩니다.
만약 데이터를 토큰으로 생성하게 되면 토큰을 생성한 시점에 데이터가 존재할 것입니다.
> 이 글은 필자 개인의 지식과 여러 정보성 글들을 참조하여 작성되었으나, 모든 내용이 옳다는 것을 보장할 수는 없습니다.
> 따라서 본 블로그는 글의 내용으로 인한 모든 피해에 대해 일체의 책임을 지지 않습니다.
반응형
'기술' 카테고리의 다른 글
블록체인 기술의 과거와 미래 (0) | 2022.04.20 |
---|---|
딥러닝이 일으킨 혁신적인 변화 (0) | 2022.04.19 |
왜 블록체인 기술이 급부상했는가 (0) | 2022.04.16 |
블록체인이 혁신적인 이유 (0) | 2022.04.12 |
딥러닝 기술의 미래 (0) | 2022.04.11 |