paust-team / paust-db

GNU General Public License v3.0
6 stars 5 forks source link

Survey tangle #155

Closed kwjooo closed 5 years ago

kwjooo commented 5 years ago

Reference

154

Tangle은 기존 blockchain과는 다른 tx가 이전의 2가지 tx를 검증하는 방식의 consensus를 가지고 있으며 ledger구조가 block이 연결되어있는 것이 아니라 transaction 끼리 DAG구조를 이루고 있다. 본 이슈는 tangle을 조사하여 paust-db에 적용할 만한 사항이 있는 지에 생각해보려한다.

kwjooo commented 5 years ago

Tangle은 서명, tip selection, validation, POW, publish 과정을 통해 새로운 transaction이 쌓인다. tip selection algorithm이 consensus의 핵심이라 할 수 있는데, 현재 tangle은 weighted random walk algorithm을 통해 tip selection을 진행한다. weight는 transaction이 승인된 수를 의미하며 weighted random walk는 genesis부터 walker가 traverse할 때 다음 transaction을 선택할 확률에 영향을 준다. 해당 알고리즘은 lazy tip을 피하게 하는 것으로 lazy tip이란 node를 업데이트하지 않음으로써 최신의 transaction이 아닌 오래된 tip만 검증하여 tangle에 data를 쌓는 것을 의미한다. Weighted random walk는 transaction사이의 연결이 time series에 따라 연결되어 있지 않으므로 해당 알고리즘을 가진 구조에서는 시계열 데이터를 조회하는데 비효율적이다. Block이 없는 decentralization을 달성하기 위해서는 between query에 성능이 뛰어나면서도 lazy tip들을 선택하지 않게하는 알고리즘을 고안하는 것이 필요해보인다.