Protocol Buffers (protobuf) encode a message as a list of field number and value pairs, not field names, so messages are small and tolerant of added fields. gRPC uses it as its default message format.