Restic: рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк v2

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рд╕рд┐рддре░ 2016  ┬╖  51рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: restic/restic

рдореИрдВ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 2 рдореЗрдВ рдмрджрд▓рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (#21 рджреЗрдЦреЗрдВ)ред

рдирдП рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрдиреЗ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реБрдЖ:

  • рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреИрдХ рдХрд░реЗрдВ: рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБред рдлрд┐рд▓рд╣рд╛рд▓, рд╣реЗрдбрд░ рдЕрдВрдд рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрдм рдпрд╣ рд╣реЛ рдЬрд╛рдП рддреЛ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд▓рд┐рдЦреЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЕрд╕рдлрд▓ рдмреИрдХрдПрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмрдлрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреЛ рд╣рдо рд╕рд╛рдордЧреНрд░реА (рдмреНрд▓реЙрдмреНрд╕) рдХреЛ рдПрдХ tempfile рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдмреИрдХрдПрдВрдб рдкрд░ рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╢реАрд░реНрд╖рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣реЗрдбрд░ рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  • рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ: рдлрд┐рд▓рд╣рд╛рд▓ рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░ рдПрдХ рдХрд╕реНрдЯрдо рдмрд╛рдЗрдирд░реА рд╕рдВрд░рдЪрдирд╛ рд╣реИ ( рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ)ред рдпрд╣ рдЕрдирдореНрдп рд╣реИ, рдПрдХ рдХрд╕реНрдЯрдо рдкрд╛рд░реНрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдкреИрдХ рд╣реЗрдбрд░ рдХреЛ JSON рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкреЗрдбрд╝ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░реЗрдкреЛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ/рд╕реВрдЪрдХрд╛рдВрдХ: рдЬрдм рдкреИрдХ рд╣реЗрдбрд░ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдкреАрдбрд╝рди (рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рд╕рдВрдкреАрдбрд╝рд┐рдд/рдЕрд╕рдореНрдкреАрдбрд┐рдд рд▓рдВрдмрд╛рдИ) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВред рдЗрдВрдбреЗрдХреНрд╕ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд/рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░ рднреА рдЬреЛрдбрд╝реЗрдВред
  • рд╕реНрдиреИрдкрд╢реЙрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ: рдкреИрдХ рдХрд┐рдП рдЧрдП рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рддрд╛рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рдПрдВ (cf #523)
  • рдирдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ README рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
  • рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╣реЛрд╕реНрдЯрдирд╛рдо рдирд┐рдХрд╛рд▓реЗрдВ (#2128)

рдЪрд░реНрдЪрд╛ рд╣реЛ:

  • рдХреНрдпрд╛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐-рд╕реБрдзрд╛рд░ рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдбреЗрдЯрд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдЙрдмрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЙрдкрд╛рдп?
  • рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдмрджрд▓реЗрдВ
  • рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕рдВрдХреЗрдд рдЬреЛрдбрд╝реЗрдВ: рд╣реЗрдбрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдм рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рддрд╛рдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ # 187 рдХреЛ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХреЗрдВ)

рд╕реНрдердЧрд┐рдд/рдЕрд╕реНрд╡реАрдХрд╛рд░:

  • рддреЗрдЬрд╝ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ (SHA256 рдХреЗ рдмрдЬрд╛рдп SHA3/Keccak/Blake2)
  • рдЕрд╕рдордорд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдФрд░ рдХреБрдЫ?

project repo v2 discussion

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдкреИрдХ рдлрд╝реБрдЯрд░ рдореЗрдВ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ?

рд╣рд╛рдВ: рдкреИрдХ рд╣реЗрдбрд░ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрдХ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рдиреА рд╣реИ (рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░, рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рдЬреИрд╕реА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ)ред рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЙрд╕реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд░реЗрд╕реНрдЯрд┐рдХ рдХреЛ рдкреИрдХ рд╣реЗрдбрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдм рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рддреЛ рд╡рд╣реА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк 2 == рдмреНрд▓реЙрдм рдбреЗрдЯрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж 255 рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ {64-рдмрд┐рдЯ рдЕрд╕рдореНрдкреАрдбрд┐рдд рд▓рдВрдмрд╛рдИ} {рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛} рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА: рдПрдХ рдмреНрд▓реЙрдм рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВред рд╣реЗрдбрд░ рдареАрдХ рд╡рд╣ рд╕реНрдерд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╕рд╛рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдзреНрдпрдо рдХреА рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ) рдЕрдХреНрд╕рд░ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реЛрддреА рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рдХрдо (рдЕрддрд┐рд░реЗрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд░реВрдкрд┐рдд) рдмреИрдХрдЕрдк рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреА рдПрдХ рдФрд░ рдкрд░рдд рдЬреЛрдбрд╝рдирд╛ (рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреЗрд╢рдХрд╢) рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рд╕рднреА 51 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рд╣реЗрдбрд░ рдХреЛ рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЕрдВрдд рдореЗрдВ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддрд┐ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ, рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЕрднреА рддрдХ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдиреНрдпрд╛рдп рдХреИрд╕реЗ рдХрд░реЗрдВред рд░рд┐рдореЛрдЯ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рд╣рдо рддрдм рднреА (рдмреИрдХрдПрдВрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдмрд╛рдж) рдмрд╕ io.Reader рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╢рд╛рдпрдж stdlib рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реАрдзреЗ рдбрд┐рд╕реНрдХ рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sendfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдЪрдПрдо

рдмрд╕ FYI рдХрд░реЗрдВ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк GCM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд▓рд╛рдпрд╛ред рдПрдИрдПрд╕-рд╕реАрдЯреАрдЖрд░ + рдкреЙрд▓реА1305 рдмрд╣реБрдд рддреЗрдЬ рд╣реИ рдпрджрд┐ рд╕реАрдкреАрдпреВ рдореЗрдВ рдПрдИрдПрд╕-рдПрдирдЖрдИ рдирд╣реАрдВ рд╣реИ (рдЧреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдЬреАрд╕реАрдПрдо рд╕реЗ 50% рддреЗрдЬ)ред рдПрдИрдПрд╕-рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде, рдЬреАрд╕реАрдПрдо рдХреЗ рд▓рд┐рдП рдЧреЛ рдХрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рд╢рд╛рдпрдж рдЕрдкрд░рд╛рдЬреЗрдп рд╣реИред

рдЗрдВрдЯреЗрд▓ Xeon E312xx

restic:
BenchmarkEncrypt-4        50      32470322 ns/op     258.35 MB/s

stupidgcm:
Benchmark4kEncStupidGCM-4     200000         10620 ns/op     385.67 MB/s
Benchmark4kEncGoGCM-4         300000          5540 ns/op     739.22 MB/s

рдЗрдВрдЯреЗрд▓ рдкреЗрдВрдЯрд┐рдпрдо G630 (рдХреЛрдИ AES-NI рдирд╣реАрдВ)

restic:
BenchmarkEncrypt-2            10     108468078 ns/op      77.34 MB/s

stupidgcm:
Benchmark4kEncStupidGCM-2          50000         24182 ns/op     169.38 MB/s
Benchmark4kEncGoGCM-2              20000         96391 ns/op      42.49 MB/s

рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реИрд╕реЗ рднреА рдЙрддреНрддрд░ рджреВрдВрдЧрд╛:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рд╕рдордп рдореИрдВрдиреЗ рд░реЗрд╕реНрдЯрд┐рдХ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕ рд╕рдордп рдЧреЛ рдХреЗ рдкрд╛рд╕ рдЬреАрд╕реАрдПрдо рдХрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ GCM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛, рдЬрдмрдХрд┐ Poly1305 рдкреЗрдкрд░ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдерд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдбреЗрдЯрд╛ рдХреЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдмреНрд▓реЙрдмреНрд╕ рдмрдбрд╝реЗ рд╣реЛрдВ рддреЛ рдпрд╣ рдХрд░реАрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдордЭрд╛ред рд╣рд╛рдБ рдЕрдиреБрдХреВрд▓рд┐рдд GCM рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Cloudflare рдиреЗ рдЗрд╕реЗ Go 1.5 рдХреЗ рд▓рд┐рдП рджрд╛рди рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд░реЗрд╕реНрдЯрд┐рдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ 8 рдПрдордЖрдИрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдмреЗрд╡рдХреВрдлрдЬреАрд╕реАрдПрдо 4kiB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ред рдореИрдВрдиреЗ рдмреЗрд╡рдХреВрдлреА рдХреЗ рд▓рд┐рдП 8 рдПрдордЖрдИрдмреА рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИрдВред

рддреЛ рдЪрд▓рд┐рдП рдЗрд╕ рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CTR+Poly1305 рдХрд╛рдлреА рддреЗрдЬ рд╣реИред

рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдкреИрдХ рдлрд╝реБрдЯрд░ рдореЗрдВ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдмреНрд▓реЙрдм рдХреЗ рднреАрддрд░ рдЬрд╛рдирдирд╛ рдареАрдХ рд╣реЛрдЧрд╛, рдлрд┐рд░, рд░реЗрд╕реНрдЯрд┐рдХ рдореЗрдВ рдХрдо рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдХрд┐рд╕реА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЬрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ?

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк 2 == рдмреНрд▓реЙрдм рдбреЗрдЯрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж 255 рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ {64-рдмрд┐рдЯ рдЕрд╕рдореНрдкреАрдбрд┐рдд рд▓рдВрдмрд╛рдИ} {рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛} рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред рдХреНрдпрд╛ рдЖрдк рднреА RAID рдХреЛ рд░реЗрд╕реНрдЯрд┐рдХ рдХреЗ рдЕрдВрджрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдкреИрдХ рдлрд╝реБрдЯрд░ рдореЗрдВ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ?

рд╣рд╛рдВ: рдкреИрдХ рд╣реЗрдбрд░ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрдХ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рдиреА рд╣реИ (рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЖрдХрд╛рд░, рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рдЬреИрд╕реА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ)ред рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЙрд╕реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд░реЗрд╕реНрдЯрд┐рдХ рдХреЛ рдкреИрдХ рд╣реЗрдбрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдм рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рддреЛ рд╡рд╣реА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк 2 == рдмреНрд▓реЙрдм рдбреЗрдЯрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж 255 рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ {64-рдмрд┐рдЯ рдЕрд╕рдореНрдкреАрдбрд┐рдд рд▓рдВрдмрд╛рдИ} {рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛} рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА: рдПрдХ рдмреНрд▓реЙрдм рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВред рд╣реЗрдбрд░ рдареАрдХ рд╡рд╣ рд╕реНрдерд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╕рд╛рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдзреНрдпрдо рдХреА рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ) рдЕрдХреНрд╕рд░ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реЛрддреА рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рдХрдо (рдЕрддрд┐рд░реЗрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд░реВрдкрд┐рдд) рдмреИрдХрдЕрдк рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреА рдПрдХ рдФрд░ рдкрд░рдд рдЬреЛрдбрд╝рдирд╛ (рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреЗрд╢рдХрд╢) рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рд░реАрдб-рд╕реЛрд▓реЛрдорди рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде https://github.com/klauspost/reedsolomon рдкрд░ рдПрдХ рд╢реБрджреНрдз рдЧреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

https://www.usenix.org/legacy/event/fast09/tech/full_papers/plank/plank_html/ рдХреЗ рдЕрдиреБрд╕рд╛рд░ ZFEC рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди https://gitlab.com/zfec/go-zfec рдореЗрдВ рд╣реИ рдЬреЛ https://pypi.python.org/pypi/zfec рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ред

рдИрд╕реАрд╕реА рдХреЛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд╛рдж рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЯрд░рд▓реАрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдбреЗрдЯрд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдпрд╛ рд╢реЛрд░ рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓реЛрдВ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдмрдирд╛рддрд╛ рд╣реИред

рдпреВрдЬрд╝рдиреЗрдЯ рдмрд╛рдЗрдирд░реА рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡реЗ рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рджреЗрдЦреЗрдВ https://en.wikipedia.org/wiki/Parchive) рдЬрд┐рд╕рдореЗрдВ рдИрд╕реАрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдпрд╣ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдФрд░ рд░реЗрдкреЛ рдкреНрд░рдмрдВрдзрди рдЬрд╛рдирдХрд╛рд░реА (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЗрдВрдбреЗрдХреНрд╕, ...) рдореЗрдВ рдИрд╕реАрд╕реА рд▓рд╛рдЧреВ рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдИрд╕реАрд╕реА рд╕реНрдХреАрдорд╛ рдХрдордЬреЛрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рд╢рд╛рдпрдж рдИрд╕реАрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рднреАрддрд░ рдХреНрд▓рд╕реНрдЯрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдордЬрдмреВрддреА рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ)ред

рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдкреЗрдкрд░ рдХрд╛ рдкреАрдбреАрдПрдл рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдВ рдорд┐рд▓рд╛ рд╣реИ: https://www.usenix.org/legacy/event/fast09/tech/full_papers/plank/plank.pdf

ZFEC Go рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХреЗрд╡рд▓ рдПрдХ рдЖрд╡рд░рдг рд╣реИред

ZFEC рдХреЗ рд▓рд┐рдП [https://github.com/korvus81/jfec] рдкрд░ jfec рдирд╛рдо рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд (рдЧреЛрд░рдЖрдЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ) рдХреЗ рд╕рд╛рде рдПрдХ рдЧреЛ рдкреЛрд░реНрдЯ рд╣реИред

рдореИрдВрдиреЗ рдирдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ" (рдЧрд┐рдЯрд╣рдм рдХреЗ рд▓рд┐рдП рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреЛрдбрд╝рд╛) рдЬреЛрдбрд╝рд╛ рд╣реИ: https://github.com/restic/restic/projects/3

рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдЬрд┐рдиреНрд╣реЗрдВ рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рддреЗ рд╕рдордп рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • sha256 рд╕реЗ sha512 . рдореЗрдВ рдмрджрд▓реЗрдВ

рдХреНрдпрд╛ sha256 рдХреЗ рдмрдЬрд╛рдп sha512 (рдпрд╛ sha512/256) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмреИрдХрдЕрдк рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреА? рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╣ рдПрдЖрд░рдПрдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред

рд╕рдордХрд╛рд▓рд┐рдХ рдЪрд░реНрдЪрд╛ (https://github.com/syncthing/syncthing/issues/582)

рдмреЛрд░реНрдЧ рдЪрд░реНрдЪрд╛ (https://github.com/jborg/attic/issues/209)

sha512/256 рдкрд░ рдкреЗрдкрд░ (https://eprint.iacr.org/2010/548.pdf)

  • рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рд░ рдХреЛрдИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдВрдЪ рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЕрднреА рднреА рд╣реИрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреБрдкреНрд▓реАрдХреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдкреЗрдбрд╝ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдмрд╣реБрдд рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдмреВрдБрджреЗрдВ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИрдВ, рддреЛ рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

NaCl - https://godoc.org/golang.org/x/crypto/nacl/box

  • рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкрд╣рдЪрд╛рди

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкрд░ рдареЛрдХрд░ рдЦрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдПрдХ рд░реЗрд╕реНрдЯрд┐рдХ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдкреНрд░рдореБрдЦ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ "created":"TIMESTAMP","username":"XXXXX","hostname":"XXXXX" рд▓реАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░реЗрд╕реНрдЯрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛, рдЬреИрд╕реЗ restic repository version X ред README рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкрд┐рдЫрд▓реА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ; рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐-рд╕реБрдзрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред

@oysols рдЖрдкрдХреЛ рд╡рд┐рдЪрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдиреАрдЪреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдЬреЛрдбрд╝реВрдВрдЧрд╛:

sha256 рд╕реЗ sha512 рдореЗрдВ рдмрджрд▓реЗрдВ (рдЧрддрд┐ рдХреЗ рд▓рд┐рдП)

рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЭреЗ рдЧрддрд┐ рд╕реЗ рдХреЛрдИ рд╕рд░реЛрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ (рд░реЗрд╕реНрдЯрд┐рдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрдЗрдЯрдо рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рд╣реИред рд╕рд┐рдо-рд╕рдХреНрд╖рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП SHA256 рдХрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рднреА рдореМрдЬреВрдж рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдЬрдм рд╣рдо рд░реЗрд╕реНрдЯрд┐рдХ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣реИрд╢ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рд╣реИ, рддреЛ рдореИрдВ рд╢рд╛рдпрдж рдХреЗрдХрдХ (SHA3) рдпрд╛ рдмреНрд▓реЗрдХ 2 рдХреЛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рд╡реЗ рд╣реИрдВ (рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдХреЛрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ) рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗред

рдЕрддрдГ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдпрд╣ рд╡рд┐рд╖рдп рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕реНрдердЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ (рджреЗрдЦреЗрдВ #187), рд▓реЗрдХрд┐рди рдпрд╣ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реЛрдЪ-рд╡рд┐рдЪрд╛рд░ рдФрд░ рдХрдИ рдмрдбрд╝реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЫреЛрдЯреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╣рдо рд╕рдм рдХреБрдЫ рдмрджрд▓рддреЗ рд╣реИрдВ -> рд╕реНрдердЧрд┐рддред

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкрд╣рдЪрд╛рди (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ README рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ)

рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдмрд╛рдд, рд╣рдо рдЗрд╕реЗ рдЕрдм рдмрд┐рдирд╛ рдХреБрдЫ рддреЛрдбрд╝реЗ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА "рд╕реВрдЪрдирд╛ рд░рд┐рд╕рд╛рд╡" (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)

рдпрд╣ рднреА рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ key list рдХрдорд╛рдВрдб рдореЗрдВ рдХреБрдВрдЬреА рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ username рдФрд░ host рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрдорд╛рдг рддрд┐рдерд┐ рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред

рдореИрдВ username рдФрд░ host рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдмрдирд╛рдП рдЧрдП рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рдЕрдВрджрд░ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╡рд┐рдЪрд╛рд░?

рдореИрдВрдиреЗ рдЖрдЬ https://github.com/klauspost/reedsolomon рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рддреНрд░реБрдЯрд┐-рд╕реБрдзрд╛рд░ рдХреЛрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдкреИрдХ рд╣реЗрдбрд░ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ) ) рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛ рдбрд╛рдЙрдирд╕рд╛рдЗрдбреНрд╕ рд╣реИрдВ:

  • рд░реАрдб-рд╕реЛрд▓реЛрдорди рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ ~ 14-30% рдмрдврд╝ рдЬрд╛рдПрдЧрд╛
  • рд╣рдореЗрдВ рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рдЪреЗрдХрд╕рдо (рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╣реИрд╢ рдирд╣реАрдВ) рдХреЛ рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреМрди рд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдП рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдПрдХ рддреЗрдЬрд╝ рдЪреЗрдХрд╕рдо (рдЬреИрд╕реЗ рд╕реАрдЖрд░рд╕реА рдпрд╛ рддреЛ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд┐рдЪрд╛рд░?

рдХреНрдпрд╛ рдбреЗрдЯрд╛ рд░реЙрдб рд╕реБрд░рдХреНрд╖рд╛ рддрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдХрд╛рд░ рд╕реАрдорд╛рдВрдд рд╕реЗ рдЕрдзрд┐рдХ рдмрдврд╝рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ!)

рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЦреЗрд▓рдиреЗ рджреЗрдВ, рддрд╛рдХрд┐ рдореИрдВ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░ рд╕рдХреВрдВ рдХрд┐ рдИрд╕реАрд╕реА рдХреЛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд░реЗрдкреЛ рдХрд┐рддрдирд╛ рдмрдбрд╝рд╛ (рдпрд╛ рдЫреЛрдЯрд╛?) рд╣реЛрдЧрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: рдПрдХ рдкреИрдХ рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП, рдФрд░ рдПрдХ (рд╢рд╛рдпрдж рд╡реИрдХрд▓реНрдкрд┐рдХ) рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдПред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╣реЛрд╕реНрдЯ рдбреНрд░реЙрдк рдХрд░реЗрдВ

рдПрдХ рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреАред

ECC: рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ ~14-30% рдмрдврд╝ рдЬрд╛рдПрдЧрд╛,

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдИрд╕реАрд╕реА рдХреЛ рдкреИрдХ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрд╡рдпрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд╡реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрд┐рд╕реА рдХрд╛рдо рдХреЗ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╕рдорддрд╛ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдП:

repo/data/1e/1ef7267...
repo/parity/1e/1ef7267...
  • рд╕рдорддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдЧреА, рдФрд░ рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рдж рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
  • рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреЛрдИ рдордВрджреА рдирд╣реАрдВред рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  • рд╕рдорд╛рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕рд╣реА рд╕рдорддрд╛ рдбреЗрдЯрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдорддрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдирд╛рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ sha256 рд╣реИрд╢ рдХреЗ рдирд╛рдо рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдВрдбреЗрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред (рд╡реИрд╕реЗ рднреА, рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдХреЗ рд╕рдорддрд╛ рдбреЗрдЯрд╛ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред)
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдорддрд╛ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╕рдВрдкреАрдбрд╝рди рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХрдИ рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдИрд╕реАрд╕реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдХ рдЧрд▓рдд рдмрд┐рдЯ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЪрд▓рд┐рдП рдЪрд░реНрдЪрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдмрдирд╛рдпрд╛ рд╣реИ: #804ред

рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдзрд╛рд░рдгрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рджреЛ рд╕рдореВрд╣ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЖрдЧреЗ рдХреА рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рд╕рдореВрд╣ рд░реЗрдкреЛ рдХреЛ рдмрд┐рдЯреНрд░реЛрдЯ рд╕реЗ рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ (рд╕рд┐рд░реНрдл), рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдмрд┐рдЯрдлреНрд▓рд┐рдк рднреА рдбрд┐рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╕рдореВрд╣ рдХрдИ рд╡рд┐рдлрд▓рддрд╛ рдбреЛрдореЗрди (рдЬреИрд╕реЗ рдЧреИрд░-RAID рдбрд┐рд╕реНрдХ) рдкрд░ рд░реЗрдкреЛ рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд░реЗрдЬрд╝рд░ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рд░реАрдб-рд╕реЛрд▓реЛрдорди рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЗрдЖрдЙрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ (https://github.com/oysols/restic-python) рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд░реЗрдкреЛ рдкрд░ рддреНрд╡рд░рд┐рдд рдЬрд╛рдВрдЪ рдХреАред

header_length:        8688549
tree_length:         53898054
data_length:     146443506727
treeblobs:               8466
datablobs:             200975
packfiles:              29351
---- repo size by dir ----
            155   config
146 510 470 574   data
     27 538 629   index
          4 545   keys
          4 243   locks
         14 041   snapshots
          4 096   tmp
-----
Currently 116071 original files contained in the backup.

146 рдЬреАрдмреА рдмреИрдХрдЕрдк рдореЗрдВ рд╕реЗ, рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЗрд╡рд▓ 54 рдПрдордмреА рдХрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрдм рд╣рдо рдХрдВрдкреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореВрд▓ рд╕реНрдерд╛рди рдХреЗ рд▓рдЧрднрдЧ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣рд┐рд╕реНрд╕реЗ рддрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕реЗ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрд╢рди рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рдмреИрдХрдЕрдк рдХреЗ рдкреЗрдбрд╝ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рднреА рддреЗрдЬрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдмреЗрд╢рдХ; рдпрд╣ рд╡рд┐рддрд░рдг рд╕рднреА рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдЧреЗ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИ?

рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕реЗ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдорди рдореЗрдВ рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рддрд╛рдХрд┐ рдЗрд╕реЗ рд░реЗрдкреЛ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рди рдкрдбрд╝реЗред рдЗрд╕рд╕реЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЧрддрд┐ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕реЗ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛?

рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ prune рдСрдкрд░реЗрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдЯреНрд░реА рдмреНрд▓рдмреНрд╕ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХрдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдХрдо рд░реАрдкреИрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдкреИрдХрдлрд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреИрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдереЛрдХ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ)ред

рдореИрдВ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА #842 . рдХреЗ рджреМрд░рд╛рди рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ

рдЬреАрд╕реАрдПрдо рдмрдирд╛рдо рд╕реАрдЯреАрдЖрд░: http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html

рд╕рд┐рдо рдмрдирд╛рдо рдПрд╕рд┐рдо: рд╡рд┐рдЪрд╛рд░ рдПрдХ "рд╕рддреНрд░" -рдХреА рдХреЛ рдкрдмрдХреА-рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╣реИ, рд╣реИ рдирд╛?

рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдХреНрд░рд┐рдкреНрдЯреЛ рдкрд░ рдЪрд░реНрдЪрд╛ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрд╕рдордорд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореБрджреНрджрд╛ # 187 рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рддрдХ рд╣рдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рджреЗрддреЗ, рдореИрдВ рдЪрд░реНрдЪрд╛ рдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рддрдм рд╣рдо рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХреНрд░рд┐рдкреНрдЯреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╣реЛрд╕реНрдЯрдирд╛рдо рдирд┐рдХрд╛рд▓реЗрдВред

рдмрд╣реБрдд рдмрдбрд╝рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓реАрдХ!
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "username":"WorldBank\\JimYongKim" рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ-рд░реИрдВрдХрд┐рдВрдЧ рд╕реНрд╡рд╛рдореА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЬрдирд╡рд░реА 2017 рдореЗрдВ рдкрд╣рд▓реА рд╡рд┐рдВрдбреЛрдЬ рдмрд╛рдЗрдирд░реА рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕рдХреЗ _removed_ (рдпрд╛ _encrypted_) рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдЧреЛрдкрдиреАрдпрддрд╛-рдЬрд╛рдЧрд░реВрдХ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рд░реЗрд╕реНрдЯрд┐рдХ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмреИрдХрдЕрдк рдХреА рдЬрд╛рдВрдЪ рдХреАред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕рд╛рджрд╛ рдкрд╛рда рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЧреЛрдкрдиреАрдпрддрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЦрд┐рд▓рд╛рдл рднреА рдЬрд╛рддрд╛ рд╣реИред

рдкреБрди: SHA3 - рдпрд╣рд╛рдБ рдПрдХ рд░рд╛рдп рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдирд╛рдиреЗ рдпреЛрдЧреНрдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ (рдЕрднреА рддрдХ?): https://www.imperialviolet.org/2017/05/31/skipsha3.html

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ SHA-3 рдХрд╛ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ SHA-2 рдкрд░ рдХреЛрдИ рд╕рдореНрдореЛрд╣рдХ рд▓рд╛рдн рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдИ рд▓рд╛рдЧрддреЗрдВ рд▓рд╛рддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рддрд░реНрдХ рдЬрд┐рд╕реЗ рдореИрдВ рд╢реНрд░реЗрдп рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди SHA-256 рдФрд░ SHA-512 рджреЛрдиреЛрдВ рдЖрдорддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрд░ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рддреИрдирд╛рдд рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рджреВрд╕рд░реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдкрдврд╝ рд▓реА рд╣реИ рдФрд░ рдореИрдВ рдПрдЬреАрдПрд▓ рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рд░реЗрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрддрдирд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ: рд╣рдо рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ (рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ) рдмреНрд▓реЙрдмреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдЕрдиреНрдп рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрд╣ рдерд╛ рдХрд┐ SHA-256 рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдзреАрдорд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рд▓реЛ-рдПрдВрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ред рдЕрдиреНрдп рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмреНрд▓реЗрдХ 2)ред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд░реЗрдкреЛ-рдкреНрд░рд╛рд░реВрдк рдЪреАрдЬрд╝ рд╣реИ: рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдореИрдВ рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбрд┐рд╕реНрдХ рд╣реИрдВред

@mschiff рдЙрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП #1018 рджреЗрдЦреЗрдВред ;)

рднрд╛рдЧ рдЖрдХрд╛рд░ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ 4-6 рдПрдордмреА рд╣реИред рдХрдо рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ, рд░рд┐рдореЛрдЯ рдмреИрдХрдЕрдк рдмрд╣реБрдд рддреЗрдЬ рд╣реЛрдЧрд╛ред

@ fd0 рдиреЗ рд▓рд┐рдЦрд╛:

рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЭреЗ рдЧрддрд┐ рд╕реЗ рдХреЛрдИ рд╕рд░реЛрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ (рд░реЗрд╕реНрдЯрд┐рдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрдЗрдЯрдо рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рд╣реИред рд╕рд┐рдо-рд╕рдХреНрд╖рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП SHA256 рдХрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рднреА рдореМрдЬреВрдж рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдЬрдм рд╣рдо рд░реЗрд╕реНрдЯрд┐рдХ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣реИрд╢ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рд╣реИ, рддреЛ рдореИрдВ рд╢рд╛рдпрдж рдХреЗрдХрдХ (SHA3) рдпрд╛ рдмреНрд▓реЗрдХ 2 рдХреЛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рд╡реЗ рд╣реИрдВ (рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдХреЛрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ) рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗред

рдПрдХ рддреЗрдЬрд╝, рдХрдо CPU рдЧрд╣рди рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдердо (рдЬреИрд╕реЗ Blake2) рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд▓реИрдкрдЯреЙрдк рдкрд░ рдмреИрдЯрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рдПрдХ рд╢рдХреНрддрд┐ рд╕реНрд░реЛрдд рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдмреИрдХрдЕрдк рдмрдирд╛рдирд╛ред

рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдХрд╛ рдЬрд╡рд╛рдм:

рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╣реЛрд╕реНрдЯрдирд╛рдо рдирд┐рдХрд╛рд▓реЗрдВред

рдХреНрдпрд╛ рдЗрд╕реЗ рдореБрдЦреНрдп рдирд╛рдо рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ (рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд┐рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрдм рдХрд┐рд╕реА рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рд░рджреНрдж рдХрд░рдирд╛) рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди рдХреЛ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ?

рдПрдХ рдирдпрд╛ рд╕реБрдЭрд╛рд╡: рдмреВрдБрдж, рдкреЗрдбрд╝ рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ? рдпрд╣, AFAICS, рдПрдХ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдмреИрдХрдЕрдк рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рднреВрд▓ рдФрд░ рдЫрдВрдЯрд╛рдИ рд╣реЛрддреА рд╣реИред рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдХреЛ рдЯреНрд░реА рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреМрди рд╕реЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХрд┐рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЕрдм рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рд░ рддрд░рд╣ рдХрд╛ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯреНрд░реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВред

рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкреЗрдбрд╝ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдИрдбреА рдХреА рд╕реВрдЪреА рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдХрд░, рдмрд╛рдХреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рдмрд┐рдирд╛ рдереЛрдбрд╝рд╛ рдордЬрдмреВрдд рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред

рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд╕рдВрднрд╡ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП/рдХреЗрд╡рд▓ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдЦреЛрд▓рддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рдмреИрдХ-рдЕрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдмреИрдХрдЕрдк рдирд╣реАрдВ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, # 784 рджреЗрдЦреЗрдВ), рдпрд╛ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЫрдВрдЯрд╛рдИ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдпрд╛ рдбрд╛рдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ред

рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рдбреЗрдЯрд╛ рддрдХ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЫрдВрдЯрдиреА): рдпрд╣ рдмреИрдХрдЕрдк рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП (рд╕рдВрднрд╡рддрдГ рдФрд░ рднреА рдордЬрдмреВрдд) рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рджрдХреНрд╖рддрд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рд░реЗрдкреЛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ (AFAICS рдХреЛ рд░реЗрдкреЛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ), рдпрд╛ рдЬрдм рдХреЗрд╡рд▓ рд░рд╛рдЗрдЯ-рдУрдирд▓реА рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ https://github.com/ncw/rclone/issues / 2499)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЗрд╡рд▓ рдПрдХ рд╕рдЪреНрдЪреЗ рд▓реЗрдЦрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (https://github.com/ncw/rclone/issues/2499#issuecomment-418609301) рдХреЗ рдЕрдиреБрд╕рд╛рд░ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрд╕реЗ рднреА рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЗрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреА рдЬрд╛рдВрдЪ рдФрд░ рдЫрдВрдЯрдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реЛрдЧреАред рдореИрдВ рдХрдИ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрд╕реНрдЯрд┐рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ рдФрд░ рд░рд┐рдореЛрдЯ рдкрд░ рд╕рднреА рд░рдЦрд░рдЦрд╛рд╡ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯрдЕрдк рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╕рд╛рди рд╣реЛ рдФрд░ рдХреЗрд╡рд▓ рдмреИрдХрдЕрдк рдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

рдореИрдВ рд╕реНрдиреИрдкрд╢реЙрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рдореЗрдВ рдХреБрдЫ (рд╢рд╛рдпрдж рд╡реИрдХрд▓реНрдкрд┐рдХ) рдкрд░рд┐рд╡рд░реНрдзрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

  • рдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдЬреЛрдбрд╝реЗрдВ (#1988 рджреЗрдЦреЗрдВ)
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рдирд╛ рдЬреЛрдбрд╝реЗрдВ (рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдг, рдЖрджрд┐, рдЕрднреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реА)
  • рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ рдЬреИрд╕реЗ рдлрд╛рдЗрд▓реЛрдВ/рдмреНрд▓реЙрдмреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рдпреБрдХреНрдд рд╕реНрдерд╛рди рдЗрддреНрдпрд╛рджрд┐ред рдЗрд╕рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреА рднреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ

рдкреИрдХ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд╕рд╡рд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣реЗрдбрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЬрд╛рдирдХрд╛рд░реА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рддреНрд░реБрдЯрд┐-рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░реЗрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди IMO рдХреЛ рдЗрд╕реЗ (рдФрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рд╕рд╛рдорд╛рдиреНрдп рд░реЗрдкреЛ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕рдХреЗ рдКрдкрд░ рдЬреЛрдбрд╝рд╛ рдпрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣реЗрдВ рддреЛ: рдпрджрд┐ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреИрдХ рд╣реЗрдбрд░ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдкреИрдХ рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдФрд░ рдпрджрд┐ рддрдм рдХреЗрд╡рд▓ рдбрдмрд▓-рдЪреЗрдХрд┐рдВрдЧ рдпрд╛ рддреНрд░реБрдЯрд┐-рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдПред

рдПрдХ рдЕрдиреНрдп рдкреНрд░рд╕реНрддрд╛рд╡: рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓ рдХреЗ data рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рд╣реЛрд╕реНрдЯрдирд╛рдо рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЗрдбреАрдПрдл-рд╡реНрдпреБрддреНрдкрдиреНрди рдХреБрдВрдЬреА рдорд╛рдиреНрдп рд╣реИ, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб data рдЕрдиреБрднрд╛рдЧ рдХреЗ рдореИрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЖрдИрдПрдордУ рд╡рд╣рд╛рдВ рдХреБрдВрдЬреА рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред config рдлрд╝рд╛рдЗрд▓ рдПрдЯреАрдПрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЗрдкреЛ рд╕реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИ рдФрд░ рд░реЗрдкреЛ рдЖрд░рдВрднреАрдХрд░рдг рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

"рдЧреВрдВрдЧрд╛" рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рдмреЗрд╣рддрд░ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЧрдВрднреАрд░ рдкреНрд░рдпрд╛рд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд░реЗрд╕реНрдЯрд┐рдХ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рдХрдИ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдкреАрдбрд╝рди рдХреА рдХрдореА рдФрд░ JSON рдПрдиреНрдХреЛрдбреЗрдб рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдмрдбрд╝реЗ рдУрд╡рд░рд╣реЗрдб рд░реЗрд╕реНрдЯрд┐рдХ рдХреА рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдпрд╛рд╕ рд░реБрдХ рдЧрдпрд╛ рд╣реЛ рдХреНрдпреЛрдВрдХрд┐ "рдкреВрд░реНрдгрддрд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХрдерд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреНрдпрд╛ рдЖрд░рд╛рдо рд▓рд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрд╕рдордорд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛ рдФрд░ рд╕рдВрдкреАрдбрд╝рди рдореЗрдВред
рд╡реИрд╕реЗ, рдПрдХ рдирдП рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, blake3 рднреА рд╣реИ рдЬреЛ рдмрд╣реБрдд рдирдпрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рднреА рд╣реИ: https://github.com/BLAKE3-team/BLAKE3
рдпрджрд┐ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд░реЗрдкреЛ.v2 рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рд╡рд┐рдЪрд╛рд░:

  • рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ (рдкрд┐рдЫрд▓реЗ рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдорд┐рд╢реНрд░рд┐рдд рдереЗ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрд╢ рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рд╕рд╛рде рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
  • рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдореЗрдВ 'рдмрдирд╛рдП рдЧрдП рд╕рдордп' рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝реЗрдВред

рдпрд╣ рдЕрдореЗрдЬрд╝реЕрди рдЧреНрд▓реЗрд╢рд┐рдпрд░ рдЬреИрд╕реЗ рдмрд╣реБрдд рдзреАрдореА рдпрд╛ рдорд╣рдВрдЧреА рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд╕рд╛рде 'рдХреЛрд▓реНрдб' рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

* save tree and data blobs to different directories (in the past tree and data was mixed, but this was deprecated with introduction of cache).

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ.. рдпрд╣ рдмреИрдХрдЕрдк рдХреЗ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

* add 'created time' info to data blobs.

рдореБрдЭреЗ "рдмрдирд╛рдП рдЧрдП рд╕рдордп" рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рдЕрдореЗрдЬрд╝реЕрди рдЧреНрд▓реЗрд╢рд┐рдпрд░ рдЬреИрд╕реЗ рдмрд╣реБрдд рдзреАрдореА рдпрд╛ рдорд╣рдВрдЧреА рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд╕рд╛рде 'рдХреЛрд▓реНрдб' рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ "рдХреЛрд▓реНрдб рд╕реНрдЯреЛрд░реЗрдЬ" рд╕рдорд░реНрдерди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрддрдорд╛рди рд░реЗрдкреЛ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдХрдо-рд╕реЗ-рдХрдо рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ, рдЬреИрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рдореЗрдВ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдФрд░ рдбрдмрд▓-рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдареАрдХ-рдЯреНрдпреВрдирд┐рдВрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рднреА рджреЗрдЦреЗрдВ #2504

* save tree and data blobs to different directories (in the past tree and data was mixed, but this was deprecated with introduction of cache).

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ.. рдпрд╣ рдмреИрдХрдЕрдк рдХреЗ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрд╣рд▓реЗ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд╛рдн рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
https://github.com/restic/restic/issues/628#issuecomment -280436633
https://github.com/restic/restic/issues/628#issuecomment -280833405
рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рднреА рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЗрди рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреВрдБрджреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдХрд┐рд╕реА рднреА рд╕рд╛рд░реНрдердХ рддрд░реАрдХреЗ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╕рдВрдмрдВрдзрд┐рдд рдордВрдЪ рдкреЛрд╕реНрдЯ:
https://forum.restic.net/t/feature-using-an-index-for-restic-find/1773

@cfbao рдЬрд┐рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЖрдк рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдПрдХ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ (рдкреИрдХ) рдХреЗ рднреАрддрд░ рдЯреНрд░реА рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдм рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рдХреИрд╢ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рдерд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░реЗрд╕реНрдЯрд┐рдХ рдореЗрдВ рдмрджрд▓ рдЪреБрдХрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? (рдЖрдИрдПрдордУ рдЦреЛрдЬ рдлреЛрд░рдо рд╡рд┐рд╖рдп рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ - рдореИрдВ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛)

рдЯреНрд░реА рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдм рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ (рдЬреИрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рдЗрдВрдбреЗрдХреНрд╕-рдбреЗрдЯрд╛" рдФрд░ "рдЗрдВрдбреЗрдХреНрд╕-рдЯреНрд░реА") рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд▓рдЧ рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ (рдЗрд╕реЗ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрд╣реБрдд рдзреАрдореА-рд╕реЗ-рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛ (рдЕрдореЗрдЬрд╝реЕрди рдЧреНрд▓реЗрд╢рд┐рдпрд░ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП 3-5 рдШрдВрдЯреЗ)ред рдЬреИрд╕реЗ рд╕рднреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рдЗрдВрдбреЗрдХреНрд╕+рд╕реНрдиреИрдкрд╢реЙрдЯ+рдЯреНрд░реА рдирд┐рдпрдорд┐рдд S3 рдореЗрдВ, рдФрд░ рдбреЗрдЯрд╛ рдЧреНрд▓реЗрд╢рд┐рдпрд░ рдореЗрдВ) рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ред

2504 рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ 'рд▓реЛрдХрд▓-рдХреИрд╢' рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдпрд╛ рдХреИрд╢ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдХреБрдЫ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд S3 рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ tree+index+snapshots рд╕реНрдЯреЛрд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдХреЛ рдЧрд╣рд░реЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд░рдЦреЗрдЧрд╛ред
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде restic рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреНрд░рд╛рд░реВрдк рдкрд░рд┐рд╡рд░реНрддрди рдЪреАрдЬреЛрдВ рдХреЛ рдмреЗрд╣рддрд░/рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@cfbao рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдХреЛрдб restic find рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдиреИрдкрд╢реЙрдЯ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ restic ls <all-snapshots> | grep something рдЬреИрд╕рд╛ рд╣реА рд╣реИред

@dionorgua
рдореБрдЭреЗ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдХреИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рднрдВрдбрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рдкреИрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдИрдПрдордУ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИред
рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, #2516 рднреА рджреЗрдЦреЗрдВ, рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреАред

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдмреЗрд╡рдХреВрдлреА рднрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рд▓реЗрдХрд┐рди рдмреЛрд░реНрдЧ рдпрд╛ рдХреЛрдкрд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

@aawsome

рдЖрдк рдЬрд┐рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдПрдХ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ (рдкреИрдХ) рдХреЗ рднреАрддрд░ рдЯреНрд░реА рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдм рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред

рд╕рддреНрдпред рдореЗрд░реА рдЧрд▓рддреАред рд╣рд╛рдБ, рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рд╣реИред

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░реЗрд╕реНрдЯрд┐рдХ рдореЗрдВ рдмрджрд▓ рдЪреБрдХрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕ рдкреАрдЖрд░/рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛? рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдХреА рдЬрд╛рдБрдЪ рдХреА, рддреЛ рдореИрдВрдиреЗ рдЙрд╕реА рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдФрд░ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХрд╛ рдорд┐рд╢реНрд░рдг рджреЗрдЦрд╛ред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореИрдВ (рд╢рд╛рдпрдж рдзреАрд░реЗ-рдзреАрд░реЗ) рдЕрдкрдиреЗ рд░реЗрдкреЛ рдХреЛ рдмреЗрд╣рддрд░ рдЕрд▓рдЧрд╛рд╡ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред


@dionorgua

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдХреЛрдб рд░реЗрд╕реНрдЯрд┐рдХ рдлрд╛рдЗрдВрдб рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдиреИрдкрд╢реЙрдЯ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рд░реЗрд╕реНрдЯрд┐рдХ ls . рдЬреИрд╕рд╛ рд╣реА рд╣реИ| рдЧреНрд░реЗрдк рдХреБрдЫред

рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕реЗ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ API рдХреЙрд▓реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА? рдпрджрд┐ рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рд╡рд╛рд▓реА рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рд░реЗрд╕реНрдЯрд┐рдХ рдХрдИ рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдХрдИ рд╕реЗрдЧрдореЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрди рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдирдХреА рджрд░ рд╕реАрдорд┐рдд рд╣реЛрддреА рд╣реИ (рдЬреИрд╕реЗ Google рдбреНрд░рд╛рдЗрд╡)ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореИрдВ (рд╢рд╛рдпрдж рдзреАрд░реЗ-рдзреАрд░реЗ) рдЕрдкрдиреЗ рд░реЗрдкреЛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдЕрд▓рдЧрд╛рд╡?

рд░реЗрд╕реНрдЯрд┐рдХ рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде 'рдкреНрд░реВрди' рдХреЗ рдПрдХ рд░рди рдХреЛ рдЗрди рдорд┐рд╢реНрд░рд┐рдд рдкреИрдХреЛрдВ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 'рдЫрдВрдЯрд╛рдИ' рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред #2718 рдореЗрдВ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдкреБрди: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЖрдк рдХрдо рд╕реЗ рдХрдо рдЯреНрд░реИрдлрд╝рд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдХреЗрд╡рд▓ рдорд┐рд╢реНрд░рд┐рдд рдкреИрдХ рд╣реА рджреЛрдмрд╛рд░рд╛ рдкреИрдХ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

рдЯреНрд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рд╕реЗ API рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА
рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓?

рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдФрд░ рдПрдХ рд░реЗрдкреЛ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдорд┐рд╢реНрд░рд┐рдд рдкреИрдХ рдирд╣реАрдВ рд╣реИ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреИрд╢ рдХреА рдЬрд╛рддреА рд╣реИред

рдПрдХ рдмреЗрд╣рддрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░:

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмреНрд▓реЙрдм рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрддрд╛ рд╣реИ (рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ)ред рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмреНрд▓реЙрдм рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛? рд╣рд╛рд▓рд┐рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдкреАрдЖрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрди-рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдкреЗрдбрд╝ рдФрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдмреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред
рд╕рд╛рде рд╣реА рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдиреБрдХреВрд▓рди рд╣реИрдВ

рдЗрд╕реЗ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рднреА рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

{
  "supersedes": [
    "ed54ae36197f4745ebc4b54d10e0f623eaaaedd03013eb7ae90df881b7781452"
  ],
  "type": "data",
  "packs": [
    {
      "id": "73d04e6125cf3c28a299cc2f3cca3b78ceac396e4fcf9575e34536b26782413c",
      "blobs": [
        {
          "id": "3ec79977ef0cf5de7b08cd12b874cd0f62bbaf7f07f3497a5b1bbcc8cb39b1ce",
          "offset": 0,
          "length": 25
        },{
          "id": "9ccb846e60d90d4eb915848add7aa7ea1e4bbabfc60e573db9f7bfb2789afbae",
          "offset": 38,
          "length": 100
        },
        {
          "id": "d3dc577b4ffd38cc4b32122cabf8655a0223ed22edfd93b353dc0c3f2b0fdf66",
          "offset": 150,
          "length": 123
        }
      ]
    }, [...]
  ]
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕