lib: use block.uid for traversal