유력 VC a16z에서 크립토 투자 부문을 총괄하는 크리스 딕슨이 쓴 '읽고 쓰고 소유하다'에선 소프트웨어 기술 관점에서 토큰에 대해 설명하는 내용이 있다. 많은 이들이 암호화폐 관점에서 토큰을 바라보는데 익숙한데, 저자는 소프트웨어 엔지니어링 측면에서 블록체인과 토큰의 잠재력을 보다 크게 볼 필요가 있다는 입장이다.
그에 따르면 토큰은 블록체인에서 사용자에 대한 수량, 허가 및 기타 메타데이터를 추적할 수 있는 일종의 데이터 구조다
"수억명을 대상으로 규모를 키우려는 모든 소셜 기술은 과정을 단순화할 필요가 있다. 코드 한줄 한줄이 논리 표현인 소프트웨어는 복잡할 수 있다. 특히 오늘날 50억명의 사람이 사용하는 인터넷을 대상으로 제작하는 소프트웨어는 훨씬 더 복잡하다. 소프트웨어 코드에서 논리적 상호의존성이 겹칠 때마다 오류 가능성은 커진다. 한마디로 코드가 길수록 버그도 많아 진다.
이런 복잡도를 다루는 강력한 방법으로 캡슐화라는 소프트웨어 기술이 있다. 캡슐화는 코드 유닛을 잘 정의한 인터페이스로 둘러싸고 그 인터페이스 안에서 소프트웨어의 복잡도를 제어하며 그 결과 코드를 사용하기 쉽게 만든다. 이런 설명이 익숙하지 않다면 너무 단순해서 사람들이 거의 신경쓰지 않는 전기 콘센트를 떠올려보면 도움이 될 것이다. 누구나 전기 콘센트에 플러그를 꽂아 조명기구, 랩톱, 알람 기기, 에이컨, 커피메이커, 카메라 같은 여러 전자기기를 동작시킬 수 있다. 콘센트는 전력망을 열어 사용자에게 초능력을 제공하지만 사용자는 콘센트 안과 뒤에서 무슨 일이 일어나고 있는지 이해할 필요가 없다. 콘센트가 복잡한 것을 단순한 것으로 추상화했기 때문이다. 인터페이스, 즉 캡슐화가 중요한 이유다."
소프트웨어는 유연하므로 코드를 캡슐화할 때 코드 재사용이 쉽다는 또 다른 이점이 있다. 캡슐화된 코드는 레고블록과 같다. 이 블록은 더 크고 더 인상적인 구조물을 만들기 위해 다른 블록들하고 결합되기도 한다. 캡슐화하는 오늘날 대부분의 소프트웨어 개발이 그러하듯이 많은 사람이 함께 소프트웨어를 개발할 때 특히 유용하다. 예를 들어, 한 개발자가 저장, 검색, 데이터 처리 혹은 이메일이나 지불 같은 서비스에 접근하는 몇 개의 캡슐화된 코드를 생성했다고 해보자. 다른 개발자는 그 코드의 상세한 동작을 이해할 필요 없이 가져다 쓸 수 있다. 레고블록 같은 코드는 전체 소프트웨어에 쏙 들어간다."
블록체인의 경우 토큰이라 부르는 소유권 단위가 단순화의 핵심이다.
사람들은 종종 토큰을 디지털 자산 혹은 화폐쯤으로 생각한다. 그러나 기술적으로 좀더 정확하게 정의하면 토큰은 블록체인에서 사용자에 대한 수량, 허가 및 기타 메타데이터를 추적할 수 있는 일종의 데이터 구조다. 이 설명이 추상적으로 들린다면 이는 토큰이 추상적인 개념이기 때문이다. 추상화 덕분에 토큰은 사용하기 쉽고 프로그래밍하기가 간단하다. 토큰은 전기 콘센트와 마찬가지로 복잡한 코드를 복잡해 보이지 않게 감싼 포장지다.
토큰의 정의 보다는 토큰의 기능이 더 중요하다. 토큰은 돈, 예술 작품, 사진, 음악, 문서, 코드, 게임 아이템, 투표권, 접근 권한 등 디지털로 구현할 수 있는 모든 것의 소유권을 나타낼 수 있다. 추가로 만든 블록을 사용하면 토큰은 실제 상품, 부동산 및 은행 계좌의 달러도 나타낼 수 있다. 이처럼 코드로 나타낼 수 있는 모든 것은 사고, 팔고, 사용하고, 저장하고, 내장하고, 전달하는 등 사람이 하려는 모든 것을 할 수 있도록 토큰안으로 캡슐화할 수 있다. 너무 간단한 일처럼 들리는가? 하지만 이는 토큰의 설계 의도 자체가 그렇기 때문이다. 단순함의 미덕, 이것이 토큰이 추구하는 것이다. 토큰은 소유를 가능하게 하고, 소유는 제어를 의미한다. 앞서 예로 들었던 가상의 구글 코인처럼 전통적인 컴퓨터에서 실행되는 토큰은 임의로 제어하거나 변경할 수 있으며, 이는 사용자의 제어권을 약하게 만든다. 미래에 대하여 자속적이고 확실한 약속을 할 수 있는 컴퓨터, 즉 블록체인에서 실행되는 토큰은 불록체인 기술의 진정한 잠재력을 드러낸다.