bitcoin design principles