anchor.diff:  %%---------------------------------------------------------------------
   %% @doc Data Type: state
   %% where:
  -%%    from: the pid of the calling process 
  +%%    from: the pid of the calling process
   %%    txid: transaction id handled by this fsm, as defined in src/antidote.hrl.
   %%    updated_partitions: the partitions where update operations take place.
   %%    num_to_ack: when sending prepare_commit,
  
positive.code:            {next_state, receive_committed, S0#state{num_to_ack= NumToAck-1}}
      end.
  
  %% @doc when an error occurs or an updated partition 
  %% does not pass the certification check, the transaction aborts.
  abort(timeout, SD0=#state{transaction = Transaction,
                            updated_partitions=UpdatedPartitions}) ->
      clocksi_vnode:abort(UpdatedPartitions, Transaction),
  
negative.code: %%    state: state of the transaction
  %%----------------------------------------------------------------------
  -record(state, {
            from :: {pid(), term()},
            transaction :: tx(),
            updated_partitions :: preflist(),
            num_to_ack :: non_neg_integer(),
  