首页
帖子
账号
关于
{"ObjectType":101,"Sequence":3,"PreHash":"F5A88C2D4F20F1C15C010230C7762878","Quote":[],"Content":"有了密码学账号的个体<br>如何在网络空间活动?<br><br>直接给答案:当然是使用密钥签名一条消息,然后发送给目标<br><br>这里我选择使用json作为组装消息的格式<br><br>使用测试账号:<br>Address:o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK<br>PublicKey:0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43<br><br><br>先构造基础消息<br>{<br>\"Action\":201,<br>\"Content\":\"Hello world...\",<br>\"PublicKey\":\"0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43\"<br>}<br><br>Action是消息类型(为什么用Action不用Type,因为消息是个体在网络空间的活动)<br>Content是消息内容<br>PublicKey是消息生成账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK的公钥<br><br>使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK的密钥对消息签名<br>Signature:3044022018C52C995C094392113EC322E270EFAD854219701C53C6DEA791B0B139129A9E02203DF614DC1671A1E939B77AA840CE847E2DC39971FE2C9212A9C35C40A29283D0<br><br>对基础消息增加签名,可以得到<br>{<br>\"Action\":201,<br>\"Content\":\"Hello world...\",<br>\"PublicKey\":\"0203411B7B6FA68C59DE640CA6E4648A60BFFA17020BAD5B47C7CDE58431D70D43\",<br>\"Signature\":\"3044022018C52C995C094392113EC322E270EFAD854219701C53C6DEA791B0B139129A9E02203DF614DC1671A1E939B77AA840CE847E2DC39971FE2C9212A9C35C40A29283D0\"<br>}<br><br>可以使用0.1.0版的oxo-chat-client右小角的<校验Json>对这条消息进行校验<br><br>前面提到用公钥可以算出账号地址,<br>其次校验签名需要的三个参数是:基础消息、公钥、签名<br><br>因此在基础消息中加入公钥,第一可以表明消息的生成账号,第二可以用于后续的签名校验,是必要的<br><br>加入签名后的消息,修改任意一个字符都无法通过校验,<br>(这在数学上是可以被证明的,可以被证明的才是可信的,因此我信仰数学【In Math, I believe】)<br>由其不可改变的特性,我称其为原子消息。<br><br>使用这条原子消息,个体可以实现了“使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK在网络空间上进行了一次活动/操作”,其他个体无法使用账号o8Tjmes6iAukirYrBosSY9ntC5ahqz9ztK做出操作。","Timestamp":1593160063741,"PublicKey":"0216B8875FE7513978CF2167C7AB7A3A6BC1F95E7DE20498980CACB70E51EA207A","Signature":"30440220514A3B6E88AD25285419C1FEBB608E1471AA49FFCF127E4E1CDD74D6F184C48502203F975D8D7C13181A8A3B7DC27F3330F2E36D46962AF9540D1922B511F899DA05"}

oxo