Re: [time-nuts] imprecise but adequate time
> Le 28 mai 2019 à 16:38, Eric Scace a écrit : > > Hi fellow time nuts — > > I’m looking for a sanity check or alternative suggestions for the problem > and tentative solution described below. You have a situation where the application in any one system is unaware of the validity of the underlying OS time. So I think you have to have a mechanism where transactions are refused/re-routed if that validity can not be established. So I would say that some mechanism be put in place to check the local clock against the time reported by a majority , or a large enough sample, of the networks systems. Depending on the transaction rate that could be done on a per transaction, or reasonable interval. > > Thanks for your thoughts. > > — Eric > > Problem: > > In one of my day jobs, I am designing a global network of systems (using > open-source software) that provide well-researched information about rights > and licenses for musical works (e.g., songs, compositions). > > Claiming rights, registering licenses (some of which are temporary), and > time-stamping changes to data each exemplify cases where date/time must be > included. In many cases the time order of events can be important — > potentially changing who gets paid how much when music is performed or > distributed. > > The machines are scattered around the planet and the usual problems of time > distribution exist. Furthermore, systems are operated independently. We > assume occasional use of NTP to correct system clocks, but not a local > GPS-provided time. The software development team is generally oblivious to > the issues of time in distributed computer networks. > > A grim picture — but, fortunately, this application does not require high > precision time. > > My tentative proposal: > > 1. To avoid burdening systems with multiple local time conversions, all > date/time information throughout the system shall be UTC. Implications: > user apps will be responsible for converting from a human user’s local time > to UTC > thus, user app developers will have to do this conversion correctly > > 2. Date/time stamps in the data shall be rounded to the nearest EVEN second > by the system instances; e.g., to 2019 May 28 14:24:28 UTC. Implications: > user apps that submit claims or updates will have their claims/updates > date/time-stamped by the receiving system node with this rounding method. > Example: “John Smith claims that he and Jane Doe wrote these lyrics, making > an equal contribution between them, on 2019 May 27 15:00:00 UTC. His claim > was received by the system at 2019 May 28 14:26:50 UTC.” One or more > blockchain ledgers record a hash of the musical work [the lyrics, in this > example], the claim [who wrote the lyrics when], and which app/system > registered the claim and when. > events occurring roughly within ±1 second of each other will be deemed to > have occurred simultaneously. This is entirely adequate for this application. > competing leap second smearing methods employed by different operating > systems and data center operators will be washed out of the time stamp by > this rounding requirement. > > — end — > ___ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there. "Ceux qui sont prêts à abandonner une liberté essentielle pour obtenir une petite et provisoire sécurité, ne méritent ni liberté ni sécurité." Benjimin Franklin ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.
Re: [time-nuts] imprecise but adequate time
Hi Eric, > 2. Date/time stamps in the data shall be rounded to the nearest EVEN second by the system instances That's a clever way to both mask accuracy & uncertainty and to avoid leap seconds. Still, it smells like a hack, unfit for the 21st century. But I feel your pain. BTW, this is how mod times are stored in the FAT file system. [1] For example, if a camera uses a SD card, you'll see that every photo has an EVEN time stamp. In this case it wasn't to avoid leap seconds but rather it allowed time-of-day to fit in 16 bits (back in the era when bytes mattered). So there's ancient (any maybe even forensic or legal) precedent for what you're doing. I worry, though, about the next person tasked with improving your design. You have fused two separate issues together: the issue of timestamp accuracy / resolution / legal traceability, and the issue of properly handling UTC (leap seconds). Are you sure there's no other practical solution than to use EVEN seconds? /tvb [1] https://en.wikipedia.org/wiki/File_Allocation_Table ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.
Re: [time-nuts] imprecise but adequate time
Something to think about. Leap seconds. But that said I suspect the reason for the reasonable time is that many publishers wouldn't have access to a solid time source like GPS or some other universal reference. Really agree with Mike on the litigation aspect and the need for accurate time. How do you stay clear of that issue. It will ultimately show up on your door step. Regards Paul WB8TSL On Tue, May 28, 2019 at 12:00 PM K5ROE Mike wrote: > If the data collected by your system could potentially be used in > litigation , I would reconsider your accuracy requirement, especially > the OKness of simultaneous transactions. > > I assume that all nodes can write to the blockchain; how do you sanity > check if one node's clock is wildly off? > > Since you don't control the operating system, but do control the > application code, you may want/have to maintain time in your application. > > Since everybody is writing to the same chain, I don't see how you can > not use a mutual time reference among the nodes. > > > On 5/28/19 10:38 AM, Eric Scace wrote: > > Hi fellow time nuts — > > > > I’m looking for a sanity check or alternative suggestions for the > problem and tentative solution described below. > > > > Thanks for your thoughts. > > > > — Eric > > > > Problem: > > > > In one of my day jobs, I am designing a global network of systems > (using open-source software) that provide well-researched information about > rights and licenses for musical works (e.g., songs, compositions). > > > > Claiming rights, registering licenses (some of which are temporary), > and time-stamping changes to data each exemplify cases where date/time must > be included. In many cases the time order of events can be important — > potentially changing who gets paid how much when music is performed or > distributed. > > > > The machines are scattered around the planet and the usual problems > of time distribution exist. Furthermore, systems are operated > independently. We assume occasional use of NTP to correct system clocks, > but not a local GPS-provided time. The software development team is > generally oblivious to the issues of time in distributed computer networks. > > > > A grim picture — but, fortunately, this application does not require > high precision time. > > > > My tentative proposal: > > > > 1. To avoid burdening systems with multiple local time conversions, > all date/time information throughout the system shall be UTC. Implications: > > user apps will be responsible for converting from a human user’s local > time to UTC > > thus, user app developers will have to do this conversion correctly > > > > 2. Date/time stamps in the data shall be rounded to the nearest EVEN > second by the system instances; e.g., to 2019 May 28 14:24:28 UTC. > Implications: > > user apps that submit claims or updates will have their claims/updates > date/time-stamped by the receiving system node with this rounding method. > Example: “John Smith claims that he and Jane Doe wrote these lyrics, making > an equal contribution between them, on 2019 May 27 15:00:00 UTC. His claim > was received by the system at 2019 May 28 14:26:50 UTC.” One or more > blockchain ledgers record a hash of the musical work [the lyrics, in this > example], the claim [who wrote the lyrics when], and which app/system > registered the claim and when. > > events occurring roughly within ±1 second of each other will be deemed > to have occurred simultaneously. This is entirely adequate for this > application. > > competing leap second smearing methods employed by different operating > systems and data center operators will be washed out of the time stamp by > this rounding requirement. > > > > — end — > > ___ > > time-nuts mailing list -- time-nuts@lists.febo.com > > To unsubscribe, go to > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > > and follow the instructions there. > > ___ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there. > ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.
Re: [time-nuts] imprecise but adequate time
If the data collected by your system could potentially be used in litigation , I would reconsider your accuracy requirement, especially the OKness of simultaneous transactions. I assume that all nodes can write to the blockchain; how do you sanity check if one node's clock is wildly off? Since you don't control the operating system, but do control the application code, you may want/have to maintain time in your application. Since everybody is writing to the same chain, I don't see how you can not use a mutual time reference among the nodes. On 5/28/19 10:38 AM, Eric Scace wrote: Hi fellow time nuts — I’m looking for a sanity check or alternative suggestions for the problem and tentative solution described below. Thanks for your thoughts. — Eric Problem: In one of my day jobs, I am designing a global network of systems (using open-source software) that provide well-researched information about rights and licenses for musical works (e.g., songs, compositions). Claiming rights, registering licenses (some of which are temporary), and time-stamping changes to data each exemplify cases where date/time must be included. In many cases the time order of events can be important — potentially changing who gets paid how much when music is performed or distributed. The machines are scattered around the planet and the usual problems of time distribution exist. Furthermore, systems are operated independently. We assume occasional use of NTP to correct system clocks, but not a local GPS-provided time. The software development team is generally oblivious to the issues of time in distributed computer networks. A grim picture — but, fortunately, this application does not require high precision time. My tentative proposal: 1. To avoid burdening systems with multiple local time conversions, all date/time information throughout the system shall be UTC. Implications: user apps will be responsible for converting from a human user’s local time to UTC thus, user app developers will have to do this conversion correctly 2. Date/time stamps in the data shall be rounded to the nearest EVEN second by the system instances; e.g., to 2019 May 28 14:24:28 UTC. Implications: user apps that submit claims or updates will have their claims/updates date/time-stamped by the receiving system node with this rounding method. Example: “John Smith claims that he and Jane Doe wrote these lyrics, making an equal contribution between them, on 2019 May 27 15:00:00 UTC. His claim was received by the system at 2019 May 28 14:26:50 UTC.” One or more blockchain ledgers record a hash of the musical work [the lyrics, in this example], the claim [who wrote the lyrics when], and which app/system registered the claim and when. events occurring roughly within ±1 second of each other will be deemed to have occurred simultaneously. This is entirely adequate for this application. competing leap second smearing methods employed by different operating systems and data center operators will be washed out of the time stamp by this rounding requirement. — end — ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there. ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.
[time-nuts] imprecise but adequate time
Hi fellow time nuts — I’m looking for a sanity check or alternative suggestions for the problem and tentative solution described below. Thanks for your thoughts. — Eric Problem: In one of my day jobs, I am designing a global network of systems (using open-source software) that provide well-researched information about rights and licenses for musical works (e.g., songs, compositions). Claiming rights, registering licenses (some of which are temporary), and time-stamping changes to data each exemplify cases where date/time must be included. In many cases the time order of events can be important — potentially changing who gets paid how much when music is performed or distributed. The machines are scattered around the planet and the usual problems of time distribution exist. Furthermore, systems are operated independently. We assume occasional use of NTP to correct system clocks, but not a local GPS-provided time. The software development team is generally oblivious to the issues of time in distributed computer networks. A grim picture — but, fortunately, this application does not require high precision time. My tentative proposal: 1. To avoid burdening systems with multiple local time conversions, all date/time information throughout the system shall be UTC. Implications: user apps will be responsible for converting from a human user’s local time to UTC thus, user app developers will have to do this conversion correctly 2. Date/time stamps in the data shall be rounded to the nearest EVEN second by the system instances; e.g., to 2019 May 28 14:24:28 UTC. Implications: user apps that submit claims or updates will have their claims/updates date/time-stamped by the receiving system node with this rounding method. Example: “John Smith claims that he and Jane Doe wrote these lyrics, making an equal contribution between them, on 2019 May 27 15:00:00 UTC. His claim was received by the system at 2019 May 28 14:26:50 UTC.” One or more blockchain ledgers record a hash of the musical work [the lyrics, in this example], the claim [who wrote the lyrics when], and which app/system registered the claim and when. events occurring roughly within ±1 second of each other will be deemed to have occurred simultaneously. This is entirely adequate for this application. competing leap second smearing methods employed by different operating systems and data center operators will be washed out of the time stamp by this rounding requirement. — end — ___ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.