អ្នកដឹង៖ ពេលវេលារំពឹងទុករវាងប្លុក Bitcoin ពីរគឺជាមធ្យម \(10\) នាទី។ ឥឡូវនេះអ្នកកំពុងធ្វើប្រតិបត្តិការ Bitcoin ដ៏សំខាន់មួយ ហើយរង់ចាំយ៉ាងអន្ទះសារដើម្បីមើលថាតើវាលេចឡើងនៅពេលណា និងនៅក្នុងប្លុកបន្ទាប់:
e50bfacc95975a4e7545d83d8954645f
ដោយសារអ្នកមិនបានពិនិត្យមើលនៅពេលដែលប្លុកមុនត្រូវបានបញ្ចប់ អ្នកពិតជារំពឹងថាជាមធ្យមនៃ \( \frac{t}{2} = \frac{10}{2} = 5 \) នាទីនៃពេលវេលារង់ចាំ។ បន្ទាប់ពី \(5\) នាទីបានកន្លងផុតទៅហើយ សូមពិនិត្យមើលថាតើប្លុកចុងក្រោយត្រូវបានបញ្ចប់ពិតប្រាកដនៅពេលណា:
e50bfacc95975a4e7545d83d8954645f
ប្លុកចុងក្រោយត្រូវបានបញ្ចប់រួចហើយ \(7\) នាទីមុន។ ឥឡូវនេះអ្នកដឹងពីព័ត៌មាននេះ ពេលវេលាដែលរំពឹងទុកបានផ្លាស់ប្តូរពី \(5\) នាទីទៅជាសរុប \(10\) នាទី។ នោះមានន័យថា៖ នៅប្រហែល \(3\) នាទី វាប្រហែលជាមកដល់ពេលនេះ។ អ្នកចេញបញ្ជាម្តងហើយម្តងទៀត។ ហើយរង់ចាំ។ បន្ទាប់ពី \(10\) នាទី អ្នកទទួលបានអារម្មណ៍ថាមានអ្វីខុស។
ប៉ុន្តែបន្ទាប់មកអ្នកចងចាំវា។ កំពុងរង់ចាំការប្រៀបធៀប:
ប្រសិនបើឡានក្រុងរត់រៀងរាល់ \(t\) នាទីជាមធ្យម ពេលវេលារង់ចាំសម្រាប់ម៉ោងមកដល់ដោយចៃដន្យនៅចំណតឡានក្រុងមិនត្រូវគ្នានឹង \(\frac{t}{2}\) នាទីទេ ប៉ុន្តែក្នុងករណីចែកចាយអិចស្ប៉ូណង់ស្យែល ចម្ងាយ \(t\) ។
ការកើតឡើងនៃប្លុក Bitcoin គឺជាដំណើរការ Poisson ហើយដូច្នេះត្រូវបានចែកចាយដោយនិទស្សន្ត។ ដោយសារដំណើរការ Poisson គឺគ្មានការចងចាំ ប្លុកបន្ទាប់ក៏ត្រូវបានបញ្ចប់ក្នុងរយៈពេល \(10\) នាទីជាមធ្យម។ វាតែងតែអនុវត្ត - មិនថាយើងរង់ចាំយូរប៉ុណ្ណាទេ។ គុណភាពនៃភាពគ្មានការចងចាំអនុវត្តទាំងថយក្រោយ និងទៅមុខទាន់ពេល។
តើនោះអាចទៅជាយ៉ាងណា?
ដើម្បីធ្វើដូចនេះយើងពិចារណាសេចក្តីថ្លែងការណ៍ពីរខាងក្រោម:
- ក) ពេលវេលារង់ចាំជាមធ្យមពិតប្រាកដរវាងប្លុកពីរគឺ \(10\) នាទីមិនមែន \(20\) នាទី។
- ខ) ប្រសិនបើចំណុចចៃដន្យនៅក្នុងពេលវេលាត្រូវបានជ្រើសរើស យើងរំពឹងថាប្លុកមុន \(10\) នាទីពីមុន និងប្លុកបន្ទាប់ \(10\) នាទីនាពេលអនាគត។ ដូច្នេះយើងអាចរំពឹងថានឹងមានពេលវេលារង់ចាំ \(20\) នាទីរវាងប្លុក។
យើងពិនិត្យមើលសេចក្តីថ្លែងការណ៍ទាំងពីរ។
ដើម្បីធ្វើដូចនេះដំបូងយើងទាញយកទិន្នន័យដែលពាក់ព័ន្ធ ជាពិសេសពេលវេលាដែលប្លុកត្រូវបានបញ្ចប់ទៅជាឯកសារ TXT (ដើម្បីអនុវត្តជាមួយថ្នាំងពេញលេញដែលដំណើរការក្នុងមូលដ្ឋានផ្អែកលើ bitcoind ):
e50bfacc95975a4e7545d83d8954645f
វា ផ្តល់ឱ្យ យើងនូវ ឯកសារអត្ថបទ ខាងក្រោម ដែលឥឡូវនេះយើងដំណើរការបន្ថែមទៀត និងរក្សាទុកក្នុង /time.txt ។ កម្មវិធី Rust ខាងក្រោមត្រូវបានប្រើសម្រាប់ការនេះជាមួយឯកសារ /Cargo.toml:
e50bfacc95975a4e7545d83d8954645f
ឯកសារ /src/main.rs មានតក្កវិជ្ជាសាកល្បងជាក់ស្តែង:
e50bfacc95975a4e7545d83d8954645f
យើងដំឡើងភាពអាស្រ័យ បង្កើតកម្មវិធី ហើយចាប់ផ្តើមវា។:
e50bfacc95975a4e7545d83d8954645f
ជាការពិត សេចក្តីថ្លែងការណ៍ទាំងពីរគឺពិតនៅពេលយើងវិភាគលទ្ធផល:
e50bfacc95975a4e7545d83d8954645f
នេះក៏អាចត្រូវបានពន្យល់ដោយវិចារណញាណដូចខាងក្រោមៈ ប្រសិនបើពេលវេលាប្លុកខុសគ្នាខ្លាំង ពេលវេលារង់ចាំជាក់លាក់ប្រែប្រួល - ប្រសិនបើយើងធ្វើប្រតិបត្តិការនៅចំណុចចៃដន្យមួយ នោះប្រូបាប៊ីលីតេកាន់តែខ្ពស់ដែលយើងនឹងបញ្ចប់ក្នុងចន្លោះពេល។ ពេលវេលារង់ចាំយូរជាង 10 នាទី គឺដោយសារតែចន្លោះពេលទាំងនេះក៏ប្រើកន្លែងច្រើននៅលើបន្ទាត់ពេលវេលាផងដែរ ដោយសារតែពេលវេលាយូរជាងនេះ។