development – What are the main technical differences between Bitcoin and Bitcoin Cash?

For a research project, I try to detect the main technical differences between Bitcoin and Bitcoin Cash. I know that BCH uses a larger block size and does not support SegWit. But what are the other differences?

I know this is a general question. I am only looking for an overview, not an exhaustive list.

In particular, but not exclusively, I am interested in:

  • Which features are only implemented in one of the two channels?
  • Are the data structures different (blocks, transactions, inputs, outputs)?
  • Is there a difference in the support of script statements?
  • What about addresses and types of addresses?
  • Do both channels generally apply the same BIPs or BIPs are they generally exclusive to a channel? Is there a list of BIPs implemented in which channel?
  • Overall, what is the best approach for tracking past and future changes in both channels? Can you recommend resources on this issue?

Finding the differences by looking at the code does not seem practical given the time I would need to identify and understand all the changes. I used git log --oneline master --reverse on both channels and deferred the results to get an overview, but it's still difficult to detect the changes that concern me.