A PNCounter CRDT with ledger transaction ids for write idempotence