<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1cd4e6u5fxf2jjznq3esvdnz4x49njfdu8mp6l5v89mnwu6x9jauqp682r9.rss" />
  <link href="https://nostr.ae/npub1cd4e6u5fxf2jjznq3esvdnz4x49njfdu8mp6l5v89mnwu6x9jauqp682r9" />
  <id>https://nostr.ae/npub1cd4e6u5fxf2jjznq3esvdnz4x49njfdu8mp6l5v89mnwu6x9jauqp682r9</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsydz2fxzn49lnzsu3e29gsggpdvd5t2942yyc3pxcf8nezhc9mxaqzyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths8fnjyk</id>
    
      <title type="html">📅 Original date posted:2015-01-28 📝 Original message:My ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsydz2fxzn49lnzsu3e29gsggpdvd5t2942yyc3pxcf8nezhc9mxaqzyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths8fnjyk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrd9pe2dh5mhnpht55fwwvd6xych32pju2lnxfns92975xs8ajd0qnssqh8&#39;&gt;nevent1q…sqh8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-01-28&lt;br/&gt;📝 Original message:My point is not that there is a limitation in BIP70. My point is that you&lt;br/&gt;put the burden of certificate verification on developer&amp;#39;s shoulder when we&lt;br/&gt;can just leverage built in HTTPS support of the platform.&lt;br/&gt;This make cross plateform dev a nightmare.&lt;br/&gt;&lt;br/&gt;Sure I can use a snapshot of moz/apple/msft store. I depends on&lt;br/&gt;BouncyCastle, as bitcoinj, so I theorically can use that way.&lt;br/&gt;However, if you want to use your plateform&amp;#39;s store, then you are toasted,&lt;br/&gt;and the code for converting from BC X509 Certificate to one of each&lt;br/&gt;plateform is not obvious and is a headache. Thing that could be just left&lt;br/&gt;to the HTTPS support of your plateform.&lt;br/&gt;&lt;br/&gt;Have you tried to do that on windows RT and IOS ? I tried, and I quickly&lt;br/&gt;stopped doing that since it is not worth the effort. (Frankly I am not even&lt;br/&gt;sure you can on win rt, since the API is a stripped down version of windows)&lt;br/&gt;&lt;br/&gt;Why have you not heard about the problem ? (until now, because I have this&lt;br/&gt;problem because I need to have the same codebase on&lt;br/&gt;winrt/win/android/ios/tablets)&lt;br/&gt;Because bitcoinj just rely either java&amp;#39;s own abstraction of certificate or&lt;br/&gt;on BC one. But I highly doubt they are using the plateform store, and even&lt;br/&gt;if you theorically can, dealing with X509 is very prone to error... for&lt;br/&gt;something that the plateform should just do for you.&lt;br/&gt;Also, you bundle mozilla&amp;#39;s store in bitcoinj, what happen when the store&lt;br/&gt;change and your customer have not intent to use bitcoinj new version ? by&lt;br/&gt;leveraging the plateform you benefit from automatic updates.&lt;br/&gt;Also, does java stores deals with certificate revocations ? sure you can&lt;br/&gt;theorically code that too... or just let the plateform deals with it.&lt;br/&gt;&lt;br/&gt;BIP70 does not limit to anything but it is a gigantic pain in the ass for&lt;br/&gt;easy cross development because of protobuff and embedded certificates.&lt;br/&gt;BIP70 is a client side technology, not a performance and storage critical&lt;br/&gt;data structure.&lt;br/&gt;&lt;br/&gt;The only valid point of having embedded certificates is to allow the owner&lt;br/&gt;of the website to be different from the merchant. But since merchants often&lt;br/&gt;have their own website, a protocol without having to reinvent x509 would&lt;br/&gt;have been better suited to current needs.&lt;br/&gt;&lt;br/&gt;2015-01-28 16:42 GMT&#43;01:00 Mike Hearn &amp;lt;mike at plan99.net&amp;gt;:&lt;br/&gt;&lt;br/&gt;&amp;gt; On the other hand, if you charge the developer (and not the plateform) to&lt;br/&gt;&amp;gt;&amp;gt; check certificate validity, it means that you have to develop a different&lt;br/&gt;&amp;gt;&amp;gt; codebase for all plateform you are targeting, because each plateform store&lt;br/&gt;&amp;gt;&amp;gt; trusted root certificate in a different manner with different APIs, and&lt;br/&gt;&amp;gt;&amp;gt; also have different types representing a X509 Certificate.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That&amp;#39;s what cross-platform abstraction libraries are for. Both Java and Qt&lt;br/&gt;&amp;gt; provide a key store library that can load from either the OS root store or&lt;br/&gt;&amp;gt; a custom one. If your chosen app platform doesn&amp;#39;t, OK, then you&amp;#39;ll have to&lt;br/&gt;&amp;gt; make or find one yourself. Perhaps contribute it upstream or make it a&lt;br/&gt;&amp;gt; library. But that&amp;#39;s not a limitation of BIP70.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Just as a reminder, there is no obligation to use the OS root store. You&lt;br/&gt;&amp;gt; can (and quite possibly should) take a snapshot of the Mozilla/Apple/MSFT&lt;br/&gt;&amp;gt; etc stores and load it in your app. We do this in bitcoinj by default to&lt;br/&gt;&amp;gt; avoid cases where BIP70 requests work on some platforms and not others,&lt;br/&gt;&amp;gt; although the developer can easily override this and use the OS root store&lt;br/&gt;&amp;gt; instead.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of all possible solutions, using a third party service to convert things&lt;br/&gt;&amp;gt; to JSON is one of the least obvious and highest effort. I don&amp;#39;t know anyone&lt;br/&gt;&amp;gt; else who arrived at such a conclusion and respectfully disagree that this&lt;br/&gt;&amp;gt; is a problem with the design choices in BIP70. It sounds like a bizarre&lt;br/&gt;&amp;gt; hack around lack of features in whatever runtime you&amp;#39;re using.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/8a32ba6e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/8a32ba6e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T15:28:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrk9rkfnf6fpkpjky9c7hkpuxacnlhh6mx7pkqqf6lag5h53t87vgzyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths0dlnk6</id>
    
      <title type="html">📅 Original date posted:2015-01-28 📝 Original message:For ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrk9rkfnf6fpkpjky9c7hkpuxacnlhh6mx7pkqqf6lag5h53t87vgzyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths0dlnk6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdav4aq28ka5wwrrfcmkxtkkg5yqkmusnjdqasa3vw9y9j7qntugq3rugac&#39;&gt;nevent1q…ugac&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-01-28&lt;br/&gt;📝 Original message:For the number of field there is in the spec, I don&amp;#39;t consider having a&lt;br/&gt;JSON to schama really worthwhile.&lt;br/&gt;If you fear it is error prone, then we should provide some testing data for&lt;br/&gt;the BIP70. (Which I already did for protobuf, but was rejected, because&lt;br/&gt;deemed no useful thanks to the code generator... But such code generator&lt;br/&gt;gave me inconsistencies with gavin&amp;#39;s implementation for example)&lt;br/&gt;&lt;br/&gt;Why do you think type support is very useful in our case ? we have 3 types,&lt;br/&gt;and dealing only with bytes, int, and string.&lt;br/&gt;It cost me more time to find a suitable cross plateform lib for protobuf&lt;br/&gt;(in c#, that works in ios and winrt) than I would by just coding the json&lt;br/&gt;wrapper classes by hand. (JSON libs are more wildspread and supported than&lt;br/&gt;protobuf)&lt;br/&gt;&lt;br/&gt;2015-01-28 17:04 GMT&#43;01:00 Jeff Garzik &amp;lt;jgarzik at bitpay.com&amp;gt;:&lt;br/&gt;&lt;br/&gt;&amp;gt; Not to mention the tiresome and error-prone task of writing your own&lt;br/&gt;&amp;gt; JSON-to-schema marshalling code -- or something equivalent to the protobufs&lt;br/&gt;&amp;gt; compiler and libs for JSON.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; protobufs -- and its modern competitors such as msgpack -- natively&lt;br/&gt;&amp;gt; provide type support in a way that must be hacked into JSON or XML.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The protobuf/msgpack design is engineered to avoid bugs routinely found in&lt;br/&gt;&amp;gt; JSON parsing code; due to the amount of code &amp;amp; effort involved in JSON&lt;br/&gt;&amp;gt; input sanity checking, bugs and inconsistencies inevitable arise.  We have&lt;br/&gt;&amp;gt; seen this in bitcoind with JSON-RPC.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Wed, Jan 28, 2015 at 10:42 AM, Mike Hearn &amp;lt;mike at plan99.net&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On the other hand, if you charge the developer (and not the plateform) to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; check certificate validity, it means that you have to develop a different&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; codebase for all plateform you are targeting, because each plateform store&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; trusted root certificate in a different manner with different APIs, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; also have different types representing a X509 Certificate.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; That&amp;#39;s what cross-platform abstraction libraries are for. Both Java and&lt;br/&gt;&amp;gt;&amp;gt; Qt provide a key store library that can load from either the OS root store&lt;br/&gt;&amp;gt;&amp;gt; or a custom one. If your chosen app platform doesn&amp;#39;t, OK, then you&amp;#39;ll have&lt;br/&gt;&amp;gt;&amp;gt; to make or find one yourself. Perhaps contribute it upstream or make it a&lt;br/&gt;&amp;gt;&amp;gt; library. But that&amp;#39;s not a limitation of BIP70.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Just as a reminder, there is no obligation to use the OS root store. You&lt;br/&gt;&amp;gt;&amp;gt; can (and quite possibly should) take a snapshot of the Mozilla/Apple/MSFT&lt;br/&gt;&amp;gt;&amp;gt; etc stores and load it in your app. We do this in bitcoinj by default to&lt;br/&gt;&amp;gt;&amp;gt; avoid cases where BIP70 requests work on some platforms and not others,&lt;br/&gt;&amp;gt;&amp;gt; although the developer can easily override this and use the OS root store&lt;br/&gt;&amp;gt;&amp;gt; instead.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Of all possible solutions, using a third party service to convert things&lt;br/&gt;&amp;gt;&amp;gt; to JSON is one of the least obvious and highest effort. I don&amp;#39;t know anyone&lt;br/&gt;&amp;gt;&amp;gt; else who arrived at such a conclusion and respectfully disagree that this&lt;br/&gt;&amp;gt;&amp;gt; is a problem with the design choices in BIP70. It sounds like a bizarre&lt;br/&gt;&amp;gt;&amp;gt; hack around lack of features in whatever runtime you&amp;#39;re using.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt;&amp;gt; Dive into the World of Parallel Programming. The Go Parallel Website,&lt;br/&gt;&amp;gt;&amp;gt; sponsored by Intel and developed in partnership with Slashdot Media, is&lt;br/&gt;&amp;gt;&amp;gt; your&lt;br/&gt;&amp;gt;&amp;gt; hub for all things parallel software development, from weekly thought&lt;br/&gt;&amp;gt;&amp;gt; leadership blogs to news, videos, case studies, tutorials and more. Take a&lt;br/&gt;&amp;gt;&amp;gt; look and join the conversation now. &lt;a href=&#34;http://goparallel.sourceforge.net/&#34;&gt;http://goparallel.sourceforge.net/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Jeff Garzik&lt;br/&gt;&amp;gt; Bitcoin core developer and open source evangelist&lt;br/&gt;&amp;gt; BitPay, Inc.      &lt;a href=&#34;https://bitpay.com/&#34;&gt;https://bitpay.com/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/2eaf6cc2/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/2eaf6cc2/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T15:28:41Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvl3n7a0d4pj3zk7m69n85fnsu70hwp2zma5p7gxu097u4u8ej7dczyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckthsthyspa</id>
    
      <title type="html">📅 Original date posted:2015-01-28 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvl3n7a0d4pj3zk7m69n85fnsu70hwp2zma5p7gxu097u4u8ej7dczyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckthsthyspa" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvt0k9pj5nakzn9cyuwwwpemf8wjc67lgym6j5ujhcremk3pwmqrsr3ra5d&#39;&gt;nevent1q…ra5d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-01-28&lt;br/&gt;📝 Original message:I agree that the use protocol buffer and x509 by BIP70 is a poor choice.&lt;br/&gt;&lt;br/&gt;The choice should have been done to maximize portability, not to maximize&lt;br/&gt;efficiency and flexibility.&lt;br/&gt;&lt;br/&gt;What I ended up doing for having a similar codebase on all plateform is to&lt;br/&gt;parse a BIP70 messages with the help of a web service that convert it to&lt;br/&gt;JSON.&lt;br/&gt;I don&amp;#39;t like this solution since it had a trust dependency, and the&lt;br/&gt;certificate verification become handled by the web service, not the device.&lt;br/&gt;But even if I solved google buffer problem, I would stumble upon having&lt;br/&gt;headache to validate the x509 certificate chain on every plateforms.&lt;br/&gt;&lt;br/&gt;A simple BIP70 using JSON &#43; HTTPS would have make things more easy.&lt;br/&gt;I agree that it requires that the merchant own the domain name of the BIP70&lt;br/&gt;endpoint, but I don&amp;#39;t consider such a big of a deal, since this is how&lt;br/&gt;e-commerce works.&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/6e5b0a0e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/6e5b0a0e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T15:28:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs96qapmq7yj0tw5c4ur9r8xaa99s74cu50sw4xrmz5w2kap0d3nzczyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths5qrlem</id>
    
      <title type="html">📅 Original date posted:2015-01-28 📝 Original message:Sure I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs96qapmq7yj0tw5c4ur9r8xaa99s74cu50sw4xrmz5w2kap0d3nzczyrpkh8tj3ye922g2vz8xp3kv2565kwf9hslv8t73suhwdmngckths5qrlem" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs95nvke8fmnkz875fd4a0d6glktc6zqvy43e8sf6m8uv2r5j4t4hc830jv0&#39;&gt;nevent1q…0jv0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-01-28&lt;br/&gt;📝 Original message:Sure I know that x509 is international standard. And that HTTPS uses TLS.&lt;br/&gt;This is not my point, my point is that when we use HTTPS the developer&lt;br/&gt;delegates certificates verification to the plateform he is running on, so&lt;br/&gt;developer don&amp;#39;t have to bother about it, making the implementation safer&lt;br/&gt;and easier.&lt;br/&gt;&lt;br/&gt;On the other hand, if you charge the developer (and not the plateform) to&lt;br/&gt;check certificate validity, it means that you have to develop a different&lt;br/&gt;codebase for all plateform you are targeting, because each plateform store&lt;br/&gt;trusted root certificate in a different manner with different APIs, and&lt;br/&gt;also have different types representing a X509 Certificate.&lt;br/&gt;&lt;br/&gt;So, let&amp;#39;s say I want to target IOS &#43; WP &#43; Android &#43; WinRT &#43; desktop win, I&lt;br/&gt;need to develop 4 times chain verification and certificate parsing.&lt;br/&gt;(Because I can&amp;#39;t verify a certificate if it is not in the specific type of&lt;br/&gt;the underlying plateform)&lt;br/&gt;&lt;br/&gt;And since it would take too much time to do that, I end up delegating&lt;br/&gt;parsing and trust verification to a third party service.&lt;br/&gt;&lt;br/&gt;2015-01-28 14:32 GMT&#43;01:00 Wladimir &amp;lt;laanwj at gmail.com&amp;gt;:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Wed, 28 Jan 2015, Nicolas DORIER wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  I agree that the use protocol buffer and x509 by BIP70 is a poor choice.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Well x509 is an international standard in common use, you can&amp;#39;t do much&lt;br/&gt;&amp;gt; better with regard to portability. Your suggestion about HTTPS makes little&lt;br/&gt;&amp;gt; sense, you do know what TLS uses x509 internally as well?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Re: protocol buffers, I don&amp;#39;t know if it&amp;#39;s the best possible one, but one&lt;br/&gt;&amp;gt; serialization method had to be picked. If it weren&amp;#39;t, we could still have&lt;br/&gt;&amp;gt; still been discussing which one to use by now. Just like for JSON there are&lt;br/&gt;&amp;gt; bindings for many languages.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Though JSON parsers are much more diverse, which people using Bitcoin&lt;br/&gt;&amp;gt; Core&amp;#39;s RPC have bumped into e.g. some have some problems handling large&lt;br/&gt;&amp;gt; numbers. Something you wouldn&amp;#39;t expect using a straightforward binary&lt;br/&gt;&amp;gt; format. There&amp;#39;s no obvious best choice.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Wladimir&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/193f06f5/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150128/193f06f5/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T15:28:40Z</updated>
  </entry>

</feed>