update protocol
using protobuf for smesg
implement protobuf in ruby